数据结构与算法分析-Chapter2
定义 n(≥0)个数据元素的有限序列,记作:(a, a,…,aa是表中数据元素,n是表长度。a是线性表中数据元素,n是线性表长度,其中a,称为a的直接前驱,简称为前驱,a称为a的直接后继,简称为后继。
Chapter2-线性表
2.1 线性表的定义
定义 n(≥0)个数据元素的有限序列,记作:
(a1, a2,…,an)
a1 是表中数据元素,n是表长度。a是线性表中数据元素,n是线性表长度,其中a,称为ai+1的直接前驱,简称为前驱,ai+1称为ai的直接后继,简称为后继。2.2 线性表的特点
1.除第一个元素外,其他每个元素有且仅有一个直接前驱。
2.除最后一个元素外,其他每个元素有且仅有一个直接后继。
2.3 顺序链表
最具有代表性的就是数组。
2.4 链式链表
2.4.1 单链表
最基础的链式链表。每一个链表包含一个头指针head
和一个指示当前节点的指针current
。对于每一个节点,包含数据段和指针段。指针段用于存储下一个节点的位置。
判断结尾的方式是current
是否为NULL
。
2.4.2 双链表
在单链表的基础上增加了一个可以访问上一个节点指针,使得可以左右访问。
双链表可以用于寻找“中点”等操作。
2.4.3 循环链表
1.循环链表是单链表的变形。
2.循环链表的最后一个节点的link
指针不指向NULL
,而是指向链表的头结点head
。
3.为简化操作,往往回向循环链表中加入表头节点。
循环链表的最大特点:只需要知道某一个节点的位置就可以搜索到其他所有节点的地址
。
2.4.4 双向循环链表
1.前驱和后继方向都能遍历的线性链表。
2.通常采用带镖头结点的循环链表形式.

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)