前端线性数据结构

线性数据结构将元素按顺序排列。每个元素都有一个前驱和一个后继。

Arrays 数组是 JavaScript 中的主要工具。它们使用连续内存。这使得你可以通过索引立即访问任何元素。

Note: 当数组变得过大时,JavaScript 必须分配更大的内存块并进行复制。这会消耗性能。

Stacks 栈遵循 LIFO 原则:后进先出(Last In, First Out)。可以想象成一叠盘子。你只能从顶部添加或移除。

Queues 队列遵循 FIFO 原则:先进先出(First In, First Out)。可以想象成商店排队。

Warning: 对于大型数据集,在数组上使用 shift 会很慢。每个元素都必须向左移动以填补空隙。对于高吞吐量数据,请改用链表。

Linked Lists 链表由节点组成。每个节点包含数据和指向下一个节点的指针。

Comparison Summary:

Pro Tips for JavaScript:

Source: https://dev.to/markyu/frontend-linear-data-structures-deep-dive-arrays-stacks-queues-and-linked-lists-mp2