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

王卓《数据结构与算法》PPT截图:从基础到考研408的高效复习指南 数据结构是计算机专业的核心基础课,也是算法设计与分析的重要前提。对于初学者而言,抽象概念多、算法流程复杂,常常需要结合视频、教材与笔记等多种资源辅助理解。严蔚敏《数据结构(C语言版)》是经典教材,而青岛大学王卓老师的《数据结构与算法》课程以细致讲解著称,其PPT截图因回查高效、图文完整,成为广受欢迎的复习资料。无论是考研408备考,还是期末突击,利用PPT截图按章节梳理知识体系、标记易错点、配合算法手写训练,都能显著提升学习效率。本文围绕这套资料的使用方法,给出零基础、考研、期末三条学习路径,帮助你吃透这门 阅读详情

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

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

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

课程视频链接:

数据结构与算法基础–第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,欢迎关注,一起交流学习进步~

青岛大学 王卓 数据结构与算法 立即下载

相关推荐

量子磁场测量技术在生物磁场成像领域的应用现状与产业趋势

首先对量子磁场测量技术的发展进行了简述,然后介绍了量子磁场测量技术在生物磁场成像领域的应用,最后分析了量子磁场测量技术的两大重要应用方向(心磁图仪和脑磁图仪)及其产业现状和未来发展趋势。美国普林斯顿大学在《自然》上公布了目前人类磁场测量灵敏度最高的基于量子磁场测量技术的零场原子磁力计。拥有巨大的发展潜力及庞大的市场空间。因此其数千万元的高昂售价及每年数百万元的超导维护成本限制了超导式心磁图仪的发展和临床应用。而基于超导式脑磁图仪的癫痫、阿尔兹海默症、抑郁症等脑疾病患者的临床研究也取得丰富的研究成果。

罗伯特技术屋 1528

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

本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。

DMLearner的博客 439

多核异构处理器核间通信:从共享内存到RPMsg协议的实战解析

在多核异构处理器架构中,核间通信是实现高效协同计算的核心技术。其基本原理是通过共享内存作为数据交换的物理媒介,配合硬件信号机制实现同步与通知。从技术价值看,它解决了不同架构核心间的数据共享与指令协同问题,是释放异构计算潜力的关键。在应用场景上,该技术广泛应用于智能物联网设备、汽车电子和工业控制等领域,用于连接高性能应用处理器与实时微控制器。本文以典型的ARM Cortex-A与Cortex-M组合为例,深入剖析了基于共享内存和RPMsg协议的通信机制,涵盖了从硬件基础到软件协议栈的完整实现链路,并提供了针对

weixin_26969269的博客 447

数据结构与算法基础(青岛大学-王卓)(9)

将无序序列排成一个有序序列(由小到大或由大到小)的运算。如果参加排序的数据结点包含多个数据域,那么排序往往是针对其中某个域而言内部排序:数据量不大、数据在内存,无需内外存交换数据外部排序:数据量较大、数据在外存(文件排序)(外部排序时,要将数据分批调入内存来排序,中间结果还要及时放入外存,显然外部排序要复杂得多)串行排序:单处理机(同一时刻比较一对元素)并行排序:多处理机(同一时刻比较多对元素)比较排序:用比较的方法, 包含插入排序、交换排序、选择排序、归并排序。

peanutfish的专栏 1548

开源:AI+无人机巡检系统项目调研

本文系统梳理了主流开源无人机巡检技术栈,涵盖飞控系统(PX4/ArduPilot)、地面站软件(QGroundControl)、AI视觉识别(VisDrone/MPID/CPLID数据集)、三维重建(OpenDroneMap/COLMAP)和仿真模拟(AirSim/Gazebo)五大领域。通过对比各项目的技术特点、开发语言、开源协议及商用友好度,为无人机巡检产品开发提供完整的技术选型参考。重点推荐PX4飞控、DroneKit开发API等商用友好项目,同时分析了GPL/AGPL协议项目的开源要求。

lovehu6686的博客 2447

【从零开始学习SLAM】官方tf教程小海龟跟随程序

ros tf 进行坐标系之间转换的运算和发布

小秋 AI SLAM 入门实战教程 2030

青岛大学_王卓老师【数据结构与算法】Week05_02_栈的定义和特点_学习笔记

栈(stack)是一个特殊的线性表,是限定仅在一端(通常在表尾)进行插入和删除操作的线性表。又称为后进先出(Last In First Out)的线性表,简称LIFO结构。(1) 定义限定只能在表的一端进行插入和删除运算的线性表(只能在栈顶操作)(2) 逻辑结构与同线性表相同,仍为一对一关系。(3) 存储结构用顺序栈或链栈存储即可,但以顺序栈更常见。(4) 运算规则只能在栈顶运算,且访问结点时按照后进先出(LIFO)的原则。(5) 实现方式。

DMLearner的博客 1438

【数字孪生工业应用实战】第2篇:数字孪生系统架构设计与技术选型——从“作秀”到“实干”的骨架构建

本文系统剖析了数字孪生系统从“作秀”到“实干”的架构设计关键。针对多数项目在POC转生产时因架构混乱、选型盲目而失败的问题,深入阐述了四层分层架构(感知层、传输层、模型层、应用层)的设计原则,重点解析了感知层的异构适配与边缘预处理、传输层的异步解耦与多模式通信等工程细节。结合OPC UA、MQTT、EdgeX Foundry等主流技术选型对比,以及汽车焊装车间边缘智能网关的实战代码,提供了从零搭建微型孪生系统的完整指导。旨在帮助工程师建立清晰的选型决策逻辑,构建稳定、可演进的数字孪生“骨架”。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 264

数据结构与算法基础-青岛大学-王卓

线性表循环链表。

Java后端技术栈 3400

电机控制的智慧之眼:全面解析FOC状态观测器

摘要:本文深入探讨磁场定向控制(FOC)中的状态观测器技术,重点分析其在无传感器电机控制中的关键作用。文章详细介绍了滑模观测器(SMO)、扩展卡尔曼滤波(EKF)、龙贝格观测器和高频注入法等主流观测器的工作原理、技术特点及适用场景,其中SMO因结构简单、鲁棒性强成为当前主流方案。同时阐述了观测器与锁相环(PLL)结合的工程实践方案,并针对不同应用场景提供了观测器选型建议。文章还探讨了启动问题处理、参数敏感性等工程挑战的解决方案,以及混合观测器、AI应用等未来发展趋势。这些观测器技术使电机系统在无机械传感器情

汽车软件开发 273

利用R批量计算相关系数

批量求相关系数

weixin_52073820的博客 1458

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

本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。

DMLearner的博客 226

电子硬件仿真:设计一个频率范围为10k—50k的带通滤波器

带通滤波器是一种常用的滤波器类型,具有选择特定频率范围内信号的能力,并在该范围内提供一定的增益。它允许通过一定范围内的频率信号,并在该范围内提供一定的增益,同时在该范围之外的频率上提供较高的衰减。这意味着在通带内(10kHz至50kHz),滤波器的增益应为10dB,而在每个十倍频的频率点上,滤波器的增益应降低40dB。设计滤波器:使用滤波器设计工具(如MATLAB、Python的scipy库、Tina软件等),根据选定的滤波器类型(例如巴特沃斯滤波器),中心频率和通带宽度,设计一个4阶带通滤波器。

走向CTO的路上... 578

数据结构与算法基础(青岛大学-王卓)(6)

树的深度:树中节点的最大层次有序树: 树中结点的各子树从左至右有次序 ( 最左边的为第一个孩子 )无序树: 树中结点的各子树无次序。森林: 是 m (m>=0) 棵互不相交的树的集合, 把根节点删除就变成了森林,一棵树可以看成是一个特殊的森林,给森林中的各子树加上一个双亲结点 , 森林就变成了树。树一定是森林,但是森林不一定是树。线性结构和树结构的比较二叉树是n( n>=0 )个结点的有限集 , 它或者是空集 (n=0),或者由一个根结点及两棵互不相交的分别称作这个根的左子树和右子树的二叉树组成。

peanutfish的专栏 1084

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

数据结构与算法基础(青岛大学-王卓)(2)

用一组物理位置任意的存储单元来存放线性表的数据元素,存储单元对连续性没要求,可零散分布,链表的每个节点由 数据+指针 组成eg: 26个英文字母小写存储。

peanutfish的专栏 1290

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

数据结构与算法(青岛大学-王卓老师)——学习笔记(第5周)

栈与队列 P48——栈与队列的定义与特点 逻辑结构为:有一个前驱后一个后继,除了端点。 队列: 案例引入: 顺序栈的表示与实现: 注意:这里文字叙述错误,(2)(3)换顺序。 ...

weixin_44584614的博客 2931

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

青岛大学_王卓老师【数据结构与算法】Week04_03_双向链表_学习笔记

数据结构与算法基础–第04周03–2.5.4双向链表1📚 📌 📝 🔍 ⚠️ 😊 ⭐ 🔗 👋 ❓ 💬 🔹 🔸 🔖 ❗️ 💟 ➔❓ 为什么要讨论双向链表 单循环双向链表的结构示意图如下 和单链的循环表类似,双向链表也可以有循环表(1) 让头结点的前驱指针指向链表的最后一个结点。(2) 让最后一个结点的后继指针指向头结点。 结点 b 的前驱结点的后继结点是它本身,结点 b 的后继结点的前驱结点是它本身。所以,在双向循环链表中,查找某一结点可以通过该节结点的前驱结点或该

DMLearner的博客 559

青岛大学_王卓老师【数据结构与算法】Week02_04_线性表的定义和特点_学习笔记

本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。

DMLearner的博客 298

青岛大学王卓教授数据结构与算法课程资源:深入学习数据结构的基础与精髓

青岛大学王卓教授数据结构与算法课程资源:深入学习数据结构的基础与精髓 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在当今计算机科学领域,数据结构与算法是不可或缺的核心知识。青岛大学王卓教授数据结构与算法课程资源,为计算机科学与技术专业的学生以及对数据结构与算法感兴趣的学者提供了一个宝贵的学习平台。此项目涵盖了课程课件、课后习题、实验指导等多个方面的学习资源,旨在帮助...

gitblog_06702的博客 405

青岛大学_王卓老师【数据结构与算法】Week06_01_串的定义_学习笔记

串(string):零个或多个任意字符组成的有限序列。

DMLearner的博客 310

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

本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。

DMLearner的博客 231

数据结构与算法基础

数据结构与算法笔记

m0_60666279的博客 1823

数据结构——青岛大学王卓 总结

https://blog.youkuaiyun.com/liu17234050/article/details/104237990

weixin_44307662的博客 2598

感谢我的数据结构老师王卓

我在大二第一学期以来,我觉得对我帮助最大的就是我的数据老师王卓。 我的很多实验报告和思维导图都是借鉴老师的作品,因为我自己做的总是有不完美的地方,希望能把老师的知识内化成我自己的知识,不断提升不断进步,Thanks♪(・ω・)ノ 谢谢老师对我一学期以来的指导与帮助! ------2018级BD03 徐文龙 ...

u011174524的博客 3633

数据结构C++实现(顺序表) 青岛大学王卓老师

同样,代码中名称有些按自己想法写的,只能给一些基本操作供大家参考。b站 《数据结构与算法基础(青岛大学-王卓)》

m0_62125843的博客 826

青岛大学_王卓老师【数据结构与算法】Week02_11_线性表的顺序表示和实现6_学习笔记

本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。

DMLearner的博客 293
上一篇: 青岛大学_王卓老师【数据结构与算法】Week02_12_顺序表小结_学习笔记
下一篇: 【持续更新ing】工作中 git 操作汇总
Fourier 青年
博客等级 码龄9年 36粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值