王道数据结构复习总结笔记---线性表
侧边栏壁纸
  • 累计撰写 40 篇文章
  • 累计收到 134 条评论

王道数据结构复习总结笔记---线性表

yjprolus
2022-01-28 / 2 评论 / 9 阅读 / 正在检测是否收录...

第二章:线性表

2.1线性表的定义

定义

在这里插入图片描述

基本操作

在这里插入图片描述
&参数引用
在这里插入图片描述

为什么要实现对数据结构的基本操作?
①团队合作编程,你定义的数据结构要让别人能够很方便的使用(封装)
②将常用的操作/运算封装成函数,避免重复工作,降低出错风险

总结

在这里插入图片描述

2.2顺序表的定义

在这里插入图片描述

2.2.1静态分配:

在这里插入图片描述

在这里插入图片描述

2.2.2动态分配

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

2.2顺序表的基本操作

2.2.1 插入操作 :平均时间复杂度O(n)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

时间复杂度

在这里插入图片描述

2.2.2 删除操作:平均时间复杂度O(n)

在这里插入图片描述

时间复杂度

在这里插入图片描述

总结

在这里插入图片描述

2.2.3 按位查找(获取L表中第i个位置的值):平均时间复杂度O(1)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

时间复杂度

在这里插入图片描述

2.2.4 按值查找:平均时间复杂度O(n)

在这里插入图片描述

结构类型struct的比较

在这里插入图片描述

Tips:《数据结构》考研初试中,手写代码可以直接用“==”,无论 ElemType是基本数据类型还是结构类型。手写代码主要考察学生是否能理解算法思想,不会严格要求代码完全可运行

时间复杂度

在这里插入图片描述

总结

在这里插入图片描述

2.3线性表的链式表示

2.3.1 单链表的定义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不带头节点的单链表在这里插入图片描述

带头结点的单链表

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

2.3.2单链表上基本操作的实现

在这里插入图片描述

按位序插入(带头结点)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

指定结点的后插操作

在这里插入图片描述

指定结点的前插操作

在这里插入图片描述

按位序删除(带头结点)

在这里插入图片描述

指定结点的删除

总结

在这里插入图片描述

2.3.3单链表的查找

在这里插入图片描述

按位查找

在这里插入图片描述
在这里插入图片描述

按值查找

在这里插入图片描述

求表的长度

在这里插入图片描述

总结

在这里插入图片描述

2.3.4单链表的创建操作

尾插法建立单链表

在这里插入图片描述
在这里插入图片描述

头插法建立单链表

在这里插入图片描述

总结

在这里插入图片描述

2.3.5双链表

初始化

在这里插入图片描述

插入?

在这里插入图片描述

删除

在这里插入图片描述

遍历

在这里插入图片描述

总结

在这里插入图片描述

2.3.6循环链表

循环单链表

在这里插入图片描述
在这里插入图片描述

循环双链表

初始化

在这里插入图片描述

插入

在这里插入图片描述

删除

在这里插入图片描述

总结

在这里插入图片描述

2.3.7静态链表

定义

在这里插入图片描述

代码实现

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

2.3.8顺序表和链表的比较

逻辑结构

都属于线性表,都是线性结构

存储结构

在这里插入图片描述

基本操作

在这里插入图片描述

选择

在这里插入图片描述

总结

在这里插入图片描述

0

评论 (2)

取消
  1. 头像
    罐装冰块
    MacOS · Google Chrome

    康一康

    回复
  2. 头像
    可爱超膘
    Linux · Google Chrome

    从CSDN过来的,发现宝藏了

    回复