青岛大学_王卓老师【数据结构与算法】Week03_01_线性表的链式表示和实现1_学习笔记

本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。

一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。

如有侵权,请留言作删文处理。

课程视频链接:

数据结构与算法基础–第3周01–2.5线性表的链式表示和实现1–链表概念

📚 Week03_01_线性表的链式表示和实现1—链表概念

知识回顾

📌 顺序表的特点:以物理位置相邻表示逻辑关系。

📌 顺序表的优点:任一元素均可随机存取。

📌顺序表的缺点:进行插入和删除操作时,需移动大量的元素;存储空间不灵活。

📚 Week03.01.01 线性表的链式存储结构

📌 结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻。

📌 线性表的链式表示又称为非顺序映像链式映像

📌 用一组物理位置任意的存储单元来存放线性表的数据元素。

📌 这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。

📌 链表中元素的逻辑次序和物理次序不一定相同

例如:线性表(赵 钱 孙 李 周 吴 郑 王)

顺序表(线性表的顺序存储结构)

在这里插入图片描述

链表(线性表的链式存储结构)
在这里插入图片描述

单链表是由头指针唯一确定,因此单链表可以用头指针的名字来命名。
在这里插入图片描述

例如:26 个英文小写字母表的链式存储结构

➔ ➔ 逻辑结构:(a, b, c, d, …, x, y, z)

➔ ➔ 链式存储结构:
在这里插入图片描述

📚 Week03.01.02 与链式存储有关的术语

各结点由两个域组成:

⭐ 数据域:存储元素数值元素

⭐ 指针域:存储直接后继结点的存储位置

在这里插入图片描述

⭐ 结点:数据元素的存储映像。由数据域和指针域两部分组成。

⭐ 链表:n 个结点由指针链组成一个链表。链表是线性表的链式存储映像,称为线性表的链式存储结构。

在这里插入图片描述

📚 Week03.01.03 单链表 双链表和循环链表

⭐ 单链表:结点只有一个指针域的链表,称为单链表或线性链表

在这里插入图片描述

⭐ 双链表:结点有两个指针域的链表,称为双链表

在这里插入图片描述

⭐ 循环链表:首尾相接的链表称为循环链表。

在这里插入图片描述

📚 Week03.01.04 头指针 头结点和首元结点

在这里插入图片描述

⭐ 头指针:指向链表中第一个结点的指针。

⭐ 首元结点:链表中存储第一个数据元素 a1 的结点。

⭐ 头结点:在链表的首元结点之前附设的一个结点。

前面的例子中的链表的存储结构示意图由以下两种形式:

(1) 不带头结点

在这里插入图片描述

(2) 带头结点

在这里插入图片描述

❓讨论1:如何表示空表?

(1) 无头结点时,头指针为空时,表示空表。

在这里插入图片描述

(2) 有头结点时,当头结点的指针域为空时,表示空表。

在这里插入图片描述

❓讨论2:在链表中设置头结点有什么好处?

(1) 便于首元结点的处理

首元结点的地址保存在头结点的指针域中,所以在链表的第一个位置上的操作和其他位置一致,无须进行特殊处理。

(2) 便于空表和非空表的统一处理

无论链表是否为空,头指针都是指向头结点的非空指针,因此,空表和非空表的处理也就统一了。

❓讨论3:头结点的数据域内装的是什么?

头结点的数据域可以为空,也可以存放线性表长度等附加信息,但此节点不能计入链表长度值。

在这里插入图片描述

🔖总结:链表(线性表的链式存储结构)的特点

(1) 结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻。

(2) 访问时,只能通过头指针进入链表,并通过每个结点的指针域依次向后顺序扫描其余结点,所以,寻找第一个结点和最后一个结点所花费时间不等。这种存取元素的方法被称为顺序存取法

在这里插入图片描述
学习笔记最后有微信公众号:惟CPP,欢迎关注,一起交流学习进步~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值