数据结构可以由另一个数据结构构造吗?
Can data structure be structured by another data structure?
我有点困惑。 Wikipedia表示Array是一种数据结构:
In computer science, an array data structure, or simply an array, is a data structure consisting of a collection of elements (values or variables), each identified by at least one array index or key.
Stack and queue are also data structures. Learn.js说数组可以和栈、队列等数据结构一起工作。
那么,我的问题是……原来数据结构也可以用另一种数据结构来构造?或者,据我了解,数组是一种略有不同的数据结构,与堆栈和队列不同。数组按索引构造其数据,而堆栈和队列按条目顺序(先进先出/后进先出)构造数据。事实证明,“类型”的不同数据结构可以由不同“类型”的其他数据结构构造? ...或者我误解了什么...
“数据结构”是一个很笼统的概念,数据结构存在于不同的抽象层次。
所以“数组”和“对象”是非常基本的数据结构 -- 数组只是按数字索引的线性数据集合,而对象是具有命名元素的集合。
“堆栈”和“队列”是更高级别的抽象。它们通常使用对象和数组来实现以保存原始数据,并且它们提供额外的操作来反映这些抽象的使用方式。
在大多数语言中,数组是一种基本数据结构,堆栈和队列是独立的数据结构。 (它们可能是使用数组构建的,但那是另一回事了。)
在JavaScript中,数组有一些方便的函数,可以用作堆栈或队列。如果您需要 JavaScript 中的堆栈,您可以创建一个数组对象并仅使用 push/pop 方法而不是通过索引访问元素。
我有点困惑。 Wikipedia表示Array是一种数据结构:
In computer science, an array data structure, or simply an array, is a data structure consisting of a collection of elements (values or variables), each identified by at least one array index or key.
Stack and queue are also data structures. Learn.js说数组可以和栈、队列等数据结构一起工作。
那么,我的问题是……原来数据结构也可以用另一种数据结构来构造?或者,据我了解,数组是一种略有不同的数据结构,与堆栈和队列不同。数组按索引构造其数据,而堆栈和队列按条目顺序(先进先出/后进先出)构造数据。事实证明,“类型”的不同数据结构可以由不同“类型”的其他数据结构构造? ...或者我误解了什么...
“数据结构”是一个很笼统的概念,数据结构存在于不同的抽象层次。
所以“数组”和“对象”是非常基本的数据结构 -- 数组只是按数字索引的线性数据集合,而对象是具有命名元素的集合。
“堆栈”和“队列”是更高级别的抽象。它们通常使用对象和数组来实现以保存原始数据,并且它们提供额外的操作来反映这些抽象的使用方式。
在大多数语言中,数组是一种基本数据结构,堆栈和队列是独立的数据结构。 (它们可能是使用数组构建的,但那是另一回事了。)
在JavaScript中,数组有一些方便的函数,可以用作堆栈或队列。如果您需要 JavaScript 中的堆栈,您可以创建一个数组对象并仅使用 push/pop 方法而不是通过索引访问元素。