【发布时间】:2018-03-10 07:32:24
【问题描述】:
我读了几本书,但仍然不明白为什么它被认为是线性的。由于外观或顺序访问或其他原因,不确定。如果可能,请用一些合乎逻辑的术语解释一下。
【问题讨论】:
-
链表和栈都可以用非常相似的数据结构来实现,而且都是线性的。不知道你在这里不明白什么。
标签: data-structures
我读了几本书,但仍然不明白为什么它被认为是线性的。由于外观或顺序访问或其他原因,不确定。如果可能,请用一些合乎逻辑的术语解释一下。
【问题讨论】:
标签: data-structures
数据结构分为两类:线性和非线性。如果元素形成序列,则称数据结构是线性的,例如数组、链表、队列等。非线性数据结构中的元素不形成序列,例如树、哈希树、二叉树等。
在内存中有两种表示线性数据结构的方法。一种方法是通过顺序存储位置在元素之间建立线性关系。这种线性结构称为数组。另一种方式是通过链接表示的元素之间具有线性关系。这种线性数据结构称为链表。
【讨论】:
之所以如此,是因为它们遵循线性方式,一步一步地从一个街区移动到另一个街区。
【讨论】:
链表、堆栈、队列是线性的,因为它们的连接方式使得它们在任何节点上都只能有一个后代。与可以有一个或多个子节点或节点连接到给定节点的树和图不同。
【讨论】:
想象一下大自然。
当事件一个接一个发生时 - 你选择线性(时间事件、年龄、天气等)。
当事件发生分支时 - 你会选择非线性(例如食物链、生物命名法、将生物分类为王国、家庭等)
【讨论】:
链表:- 链表是节点的集合。 它具有端到端连接。一个节点保存另一个节点或下一个节点的地址,即节点相互依赖。它们以线性方式连接。因此链表被称为线性数据结构
【讨论】:
线性数据结构:
元素(对象)是按顺序排列的,因此:
只有一个第一个元素,只有一个下一个元素,
只有最后一个元素并且只有一个前一个元素,而
所有其他元素都有下一个和前一个元素
https://codeandwork.github.io/courses/java/linearDataStructures.html
非线性数据结构是那些非线性的!
【讨论】: