Skip to content

数组是一种线性的数据结构, 在所有流行的编程语言中, 几乎都默认实现了数组这种数据结构(可能叫法不同, python 叫列表, lua 叫 元组)

不同的是在弱类型语言中,数组的长度是可变的但是在一些强类型的语言中,数组的长度是不可变的

  • 可以添加/修改/删除/遍历的一组有序的数据

Array

javascript
// JS 内置的数组
const arr = [1, 3, 5, 7, 9];

// 一些内置的方法及其实现原理: https://www.yuque.com/liaohui5/js-base/slh0ee

线性结构和非线性结构

线性结构是指数据元素之间存在一种一对一的线性关系,即每个元素都只有一个直接前驱和一个直接后继。线性结构包括顺序表、链表、栈和队列等。

非线性结构是指数据元素之间存在一种复杂的关系,即每个元素可能有多个直接前驱和直接后继,或者没有直接前驱和直接后继。非线性结构包括树、图和集合等。

具体来说,顺序表、链表、栈和队列都是线性结构。其中,顺序表是一种连续的、基于数组实现的线性结构,链表是一种通过指针链接实现的线性结构,栈和队列都是基于顺序表或链表实现的特殊线性结构。

而树、图和集合都是非线性结构。树是一种层次结构,每个节点都有零个或多个子节点,其中根节点没有父节点,叶子节点没有子节点。图是一种由节点和边组成的复杂结构,其中节点可以有任意数量的相邻节点,边用于连接相邻节点。集合是一种无序的元素集合,其中每个元素都是唯一的。

总的来说,线性结构和非线性结构是数据结构中的两个基本概念,它们的实现方式和使用场景略有不同。线性结构适用于需要按照一定顺序存储和访问数据的场景,而非线性结构适用于需要表示复杂关系的场景。

Released under the MIT License.