数据结构与算法分析-Chapter2

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值