JavaScript - 数据结构详解(一)

2020-01-20 15:49:44 +08:00
 GrapeCityChina

存储结构

数据结构大致包含以下几种存储结构:

  1. 线性表
    • 顺序表
    • 链表
    • 栈和队列
  2. 树结构
    • 普通树
    • 二叉树
    • 线索二叉树等
  3. 图存储结构

下面对各种数据结构做详细讲解。

线性表

将具有 「一对一」 关系的数据 「线性」 地存储到物理空间中,这种存储结构就称为线性存储结构(简称线性表)。

线性表并不是一种具体的存储结构,它包含顺序存储结构和链式存储结构,是顺序表和链表的统称。

前驱和后继

数据结构中,一组数据中的每个个体被称为数据元素,简称元素。

另外,对于具有 「一对一」 逻辑关系的数据,我们一直在用「某一元素的左侧(前边)或右侧(后边)」这样不专业的词,其实线性表中有更准确的术语:

顺序表

顺序表,全名顺序存储结构,是线性表的一种。

链表

链表,别名链式存储结构或单链表,用于存储逻辑关系为 「一对一」 的数据。

我们知道,使用顺序表(底层实现靠数组)时,需要提前申请一定大小的存储空间,这块存储空间的物理地址是连续的。链表则完全不同,使用链表存储数据时,是随用随申请,因此数据的存储位置是相互分离的,换句话说,数据的存储位置是随机的。

下期预告

1404 次点击
所在节点    JavaScript
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/639461

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX