IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 王道计算机408数据结构 笔记4 -> 正文阅读

[数据结构与算法]王道计算机408数据结构 笔记4

2.3.1 单链表的定义

什么是单链表?

用代码定义一个单链表?

(利用typedef简化数据类型的名字)?

?强调这是一个单链表——使用LinkList

?强调这是一个结点——使用LNode*

不带头结点 的单链表?:

(L = NULL 防止脏数据 )

带头结点的单链表:

?(头节点不存储数据)

知识回顾与重要考点:

?

2.3.2-1单链表的插入和删除

按位序插入(带头结点):
ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e。

需要找到第i-1个结点,将新节点插到其后。

?(最好时间复杂度O(1),最坏时间复杂度O(n),平均时间复杂度O(n))

按位序插入(不带头结点):

(与带头结点的插入的区别就是表首插入时头指针的改变)

指定结点的后插操作:

指定结点的前插操作:
方法一:循环查找p的前驱结点q,再对q后插,时间复杂度O(n)

方法二:

(时间复杂度O(1),我愿称之为偷天换日)?

位序删除(带头结点)

ListDelet(&L,i,&e):删除操作。删除表L中第i个位置的元素,并且用e返回元素的值。

?指定结点的删除:

?(我惊呆了 ,不过这个有bug,万一是删除最后一个结点,只能遍历)

知识回顾与重要考点:

?

2.3.2-2 单链表的查找

按位查找:

?(平均时间复杂度O(n))

封装(基本操作)的好处:

避免重复代码,简洁,易维护

?按值查找:

?

求表的长度:

?

知识回顾与重要考点:

?

2.3.2-3 单链表的建立

如果给你很多元素,你怎怎么把它们存到单链表内呢

第一步:初始化一个单链表

第二部:每次取一个数据元素,插入到表尾/表头

尾插法建立单链表:

(每次都要从表头遍历到最后一个结点,时间复杂度为O(n^2))

为了节约时间,可以申请一个表尾指针:

?

头插法建立单链表:

头插法的链表逆置是非常重要的应用。

建议:本章所有的建立方法都是有头结点的,可以思考一下无头结点的实现算法。


?

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 23:13:18  更:2022-07-04 23:17:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:47:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码