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.通常采用带镖头结点的循环链表形式.
在这里插入图片描述

Logo

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

更多推荐