第三章 列表

day 14

a

a1 从静态到动态

邓俊辉数据结构与算法学习笔记-第三章

a2 从向量到列表

邓俊辉数据结构与算法学习笔记-第三章

a3 从秩到位置

邓俊辉数据结构与算法学习笔记-第三章邓俊辉数据结构与算法学习笔记-第三章

a4 实现

邓俊辉数据结构与算法学习笔记-第三章邓俊辉数据结构与算法学习笔记-第三章邓俊辉数据结构与算法学习笔记-第三章邓俊辉数据结构与算法学习笔记-第三章其中header和trailer对外部不可见
邓俊辉数据结构与算法学习笔记-第三章

b

b1循秩访问

邓俊辉数据结构与算法学习笔记-第三章

b2 查找

邓俊辉数据结构与算法学习笔记-第三章上图中①和②参数位置的不同,代表一个是向前查找,而另一个是向后查找

b3 插入和复制

邓俊辉数据结构与算法学习笔记-第三章邓俊辉数据结构与算法学习笔记-第三章上图从已有的列表复制来创建新的列表

b4 删除与析构

邓俊辉数据结构与算法学习笔记-第三章邓俊辉数据结构与算法学习笔记-第三章

b5 唯一化

邓俊辉数据结构与算法学习笔记-第三章

c 有序列表

c1 有序列表唯一化构思

邓俊辉数据结构与算法学习笔记-第三章

c2 唯一化实现

邓俊辉数据结构与算法学习笔记-第三章

c3 查找

邓俊辉数据结构与算法学习笔记-第三章

d 选择排序

d1 选择排序

邓俊辉数据结构与算法学习笔记-第三章冒泡排序思路上与选择排序类似,都是每次选择出最大的。但是冒泡排序效率更低,因为是一步一步向后交换,而选择排序是选出最大的,直接一步将其转移到后端。

d2 实例

邓俊辉数据结构与算法学习笔记-第三章

d3 实现

邓俊辉数据结构与算法学习笔记-第三章

d4 推敲

上图中直接调用inserBefore和remove接口,其中涉及到new和delete操作,其复杂度是普通操作的100倍左右,可以考虑直接交换数据域;修改前驱和后继的指向等来完成。

d5 selectMax

邓俊辉数据结构与算法学习笔记-第三章

d6 性能

邓俊辉数据结构与算法学习笔记-第三章

e 插入排序

e1 插入排序

邓俊辉数据结构与算法学习笔记-第三章扑克牌码牌的场景

e2 构思

邓俊辉数据结构与算法学习笔记-第三章

e3 对比

邓俊辉数据结构与算法学习笔记-第三章选择排序 vs 插入排序

e4 实例

邓俊辉数据结构与算法学习笔记-第三章减而治之

e5 实现

邓俊辉数据结构与算法学习笔记-第三章

e6 性能分析

邓俊辉数据结构与算法学习笔记-第三章邓俊辉数据结构与算法学习笔记-第三章最好:O(n),已经有序
最坏:O(n^2)

e7 平均性能

邓俊辉数据结构与算法学习笔记-第三章

e8 逆序对

邓俊辉数据结构与算法学习笔记-第三章其中I代表有序对的数目。
开始第四章

相关文章:

  • 2021-04-24
  • 2022-12-23
  • 2021-04-28
  • 2022-01-17
  • 2021-07-02
  • 2022-01-11
  • 2021-09-22
  • 2021-09-08
猜你喜欢
  • 2021-05-16
  • 2021-12-25
  • 2021-05-15
  • 2021-04-29
  • 2022-12-23
  • 2022-12-23
  • 2021-08-30
相关资源
相似解决方案