![](http://upload-images.jianshu.io/upload_images/814874-579a323433ae995e.png)
目录
![](http://upload-images.jianshu.io/upload_images/814874-22e38a82fe29be61.png)
数据结构
进度: 百度网盘 - 视频播放 (baidu.com)
1.1-002-算法时间复杂度分析_哔哩哔哩_bilibili
2.基础数据结构-001-二分查找-算法描述_哔哩哔哩_bilibili
3.iOS大厂面试分析(上)_哔哩哔哩_bilibili
4.iOS大厂面试分析(下)_哔哩哔哩_bilibili
5.进度:第05周08--3.3栈的表示和实现4--3.3.2栈的顺序表示和实现3--顺序栈操作2_哔哩哔哩_bilibili
6.🔥 LeetCode 热题 HOT 100 - 力扣(LeetCode)
![](http://upload-images.jianshu.io/upload_images/814874-afd23dc8ba0e0b7b.png)
image.png
![](http://upload-images.jianshu.io/upload_images/814874-4dc4bc5751a8bc35.png)
image.png
![](http://upload-images.jianshu.io/upload_images/814874-dabeba09239d3dd4.png)
image.png
备注:第01周c--1.2基本概念和术语1_哔哩哔哩_bilibili
P1第01周a--前言11:39
P2第01周b--1.1数据结构研究18:53
P3第01周c--1.2基本概念和术语121:27
P4第01周d--1.2基本概念和术语222:01
P5第01周e--1.3抽象数据类型的表示与实现14:05
P6第01周f--1.4算法与算法分析112:53
P7第01周g--1.4算法与算法分析222:50
P8第01周h--1.4算法与算法分析316:45
P9第01周h--1.4算法与算法分析419:29
P10第02周01--2.1线性表的定义和特点11:30
P11第02周02--2.2案例引入21:47
P12第02周03--2.3线性表的类型定义20:25
P13第02周04--2.4线性表的顺序表示和实现111:03
P14第02周05--2.4线性表的顺序表示和实现211:52
P15第02周06--类C语言有关操作补充121:10
P16第02周07--类C语言有关操作补充216:10
P17第02周08--2.4线性表的顺序表示和实现325:05
P18第02周09--2.4线性表的顺序表示和实现4--查找算法23:52
P19第02周10--2.4线性表的顺序表示和实现5--插入算法23:36
P20第02周11--2.4线性表的顺序表示和实现6--删除算法12:34
P21第02周12--顺序表小结04:54
P22第3周01--2.5线性表的链式表示和实现1--链表概念24:24
P23第3周02--2.5线性表的链式表示和实现2--单链表的定义20:52
P24第3周03--2.5线性表的链式表示和实现3--单链表基本操作1-初始化和判断空表08:20
P25第3周04--2.5线性表的链式表示和实现4--单链表基本操作2--销毁单链表10:34
P26第3周05--2.5线性表的链式表示和实现5--单链表基本操作3--清空单链表12:46
P27第3周06--2.5线性表的链式表示和实现6--单链表基本操作4--求单链表的表08:42
P28第3周07--2.5线性表的链式表示和实现7--单链表基本操作5--取第i个元素值19:35
P29第3周08--2.5线性表的链式表示和实现8--单链表基本操作6--按值查找11:24
P30第3周09--2.5线性表的链式表示和实现9--单链表基本操作7--插入节点15:09
P31第3周10--2.5线性表的链式表示和实现10--单链表基本操作8--删除节点15:46
P32第3周11--2.5线性表的链式表示和实现11--单链表基本操作9--查找插入删除算法分析03:36
P33第3周12--2.5线性表的链式表示和实现12--单链表基本操作10--头插法建立链表17:00
P34第3周13--2.5线性表的链式表示和实现13--单链表基本操作11--尾插法建立链表09:20
P35第04周01--2.5.3循环链表108:12
P36第04周02--2.5.3循环链表2--两个链表合并09:21
P37第04周03--2.5.4双向链表108:04
P38第04周04--2.5.4双向链表2--双向链表的插入操作08:29
P39第04周05--2.5.4双向链表3--双向链表的删除操作06:38
P40第04周06--单链表、循环链表、双向链表的比较06:46
P41第04周07--2.6顺序表和链表的比较09:21
P42第04周08--2.7线性表的应用1--线性表的合并07:58
P43第04周09--2.7线性表的应用2--有序表的合并--用顺序表实现12:57
P44第04周10--2.7线性表的应用3--有序表的合并--用链表实现13:06
P45第04周11--2.8案例分析与实现1--多项式运算05:51
P46第04周12--2.8案例分析与实现2--稀疏多项式运算17:45
P47第04周13--2.8案例分析与实现3--图书信息管理06:40
P48第05周01--3.1栈和队列的定义和特点1--栈和队列介绍11:03
P49第05周02--3.1栈和队列的定义和特点2--3.1.1栈的定义和特点13:05
P50第05周03--3.1栈和队列的定义和特点1--3.1.2队列的定义和特点04:37
P51第05周04--3.2案例引入19:26
P52第05周05--3.3栈的表示和实现1--3.3.1栈的抽象数据类型定义07:03
P53第05周06--3.3栈的表示和实现2--3.3.2栈的顺序表示和实现1--栈的顺序表示14:18
P54第05周07--3.3栈的表示和实现3--3.3.2栈的顺序表示和实现2--顺序栈操作111:10
P55第05周08--3.3栈的表示和实现4--3.3.2栈的顺序表示和实现3--顺序栈操作213:56
P56第05周09--3.3栈的表示和实现5--3.3.2栈的顺序表示和实现4--顺序栈操作304:18
P57第05周10--3.3栈的表示和实现6--3.3.3链栈表示和实现19:33
P58第05周11--3.4栈和递归29:02
P59第05周12--3.5队列的表示和实现1--3.5.1队列的类型定义11:32
P60第05周13--3.5队列的表示和实现2--3.5.2队列的顺序表示和实现125:52
P61第05周14--3.5队列的表示和实现3--3.5.2队列的顺序表示和实现2i15:18
P62第05周15--3.5队列的表示和实现4--3.5.3队列的链式表示和实现23:10
P63第06周01--第4章串、数组和广义表1-4.1串的定义12:29
P64第06周02--第4章串、数组和广义表2-4.2案例引入06:29
P65第06周03--第4章串、数组和广义表3-4.3串的类型定义、存储结构17:14
P66第06周04--第4章串、数组和广义表4-4.3串的操作--串的匹配算法1--BF算法28:23
P67第06周05--第4章串、数组和广义表5-4.3串的操作--串的匹配算法2--KMP算法32:43
P68第06周06--第4章串、数组和广义表6-4.4数组1--数组的定义及特点13:22
P69第06周07--第4章串、数组和广义表7-4.4数组2--数组的抽象类型定义10:10
P70第06周08--第4章串、数组和广义表8-4.4数组3--数组的顺序存储28:50
P71第06周09--第4章串、数组和广义表9-4.4数组4--对称矩阵压缩存储13:21
P72第06周10--第4章串、数组和广义表10-4.4数组5--三角矩阵、对角矩阵压缩存储09:21
P73第06周11--第4章串、数组和广义表11-4.4数组6--稀疏矩阵压缩存储18:00
P74第06周12--第4章串、数组和广义表12-4.5广义表22:43
P75第06周13--第4章串、数组和广义表13-4.6案例分析与实现06:39
P76第07周01--5.1树和二叉树的定义1--5.1.1树的定义09:33
P77第07周02--5.1树和二叉树的定义2--5.1.2树的基本术语16:30
P78第07周03--5.1树和二叉树的定义3--5.1.3二叉树的定义09:41
P79第07周04--5.2案例引入05:04
P80第07周05--5.3 树和二叉树的抽象数据类型定义05:46
P81第07周06--5.4 二叉树的性质和存储结构1--二叉树性质1、2、317:07
P82第07周07--5.4 二叉树的性质和存储结构2--满二叉树和完全二叉树18:03
P83第07周08--5.4 二叉树的性质和存储结构3--二叉树性质4、510:02
P84第07周09--5.4 二叉树的性质和存储结构4--二叉树的存储结构1-顺序存储结构16:05
P85第07周10--5.4 二叉树的性质和存储结构4--二叉树的存储结构2-链式存储结构15:44
P86第07周11--5.5 遍历二叉树和线索二叉树1--遍历二叉树30:51
P87第07周12--5.5 遍历二叉树和线索二叉树2--由遍历序列确定二叉树10:53
P88第08周01--5.5遍历二叉树和线索二叉树3--二叉树的先序递归遍历算法20:14
P89第08周02--5.5遍历二叉树和线索二叉树4--二叉树的递归遍历算法及分析12:35
P90第08周03--5.5遍历二叉树和线索二叉树5--二叉树的遍历算法--中序非递归算法14:07
P91第08周04--5.5遍历二叉树和线索二叉树6--二叉树的遍历算法--层次遍历算法08:39
P92第08周05--5.5遍历二叉树和线索二叉树7--二叉树的遍历算法应用1--建立二叉树算法18:36
P93第08周06--5.5遍历二叉树和线索二叉树8--二叉树的遍历算法应用2--复制、求结点数、求叶子结点数25:33
P94第08周07--5.5遍历二叉树和线索二叉树9--线索二叉树18:07
P95第08周08--5.6树和森林1--树的存储结构1-双亲表示法11:15
P96第08周09--5.6树和森林2--树的存储结构2-孩子链表09:38
P97第08周10--5.6树和森林3--树的存储结构3-孩子兄弟表示法08:39
P98第08周11--5.6树和森林4--树与二叉树的转换18:42
P99第08周12--5.6树和森林5--森林与二叉树的转换08:34
P100第08周13--5.6树和森林6--树和森林的遍历13:55
P101第09周01--5.7哈夫曼树及其应用1-引子08:28
P102第09周02--5.7哈夫曼树及其应用2-5.7.1哈夫曼树的基本概念17:56
P103第09周03--5.7哈夫曼树及其应用3-5.7.2哈夫曼树的构造算法118:47
P104第09周04--5.7哈夫曼树及其应用4-5.7.2哈夫曼树的构造算法2-哈夫曼树算法实现19:28
P105第09周05--5.7哈夫曼树及其应用5-5.7.3哈夫曼编码1-哈夫曼编码思想20:39
P106第09周06--5.7哈夫曼树及其应用6-5.7.3哈夫曼编码2-哈夫曼编码的算法实现21:20
P107第09周07--5.7哈夫曼树及其应用7-5.7.3哈夫曼编码3-文件的编码和译码12:53
P108第09周08--6.1图的基本概念和术语114:45
P109第09周09--6.1图的基本概念和术语219:50
P110第09周10--6.2案例引入04:33
P111第09周11--6.3图的类型定义02:23
P112第10周01--6.4图的存储结构1-1邻接矩阵表示法1-无向图的邻接矩阵14:59
P113第10周02--6.4图的存储结构2-1邻接矩阵表示法2-有向图和网的邻接矩阵11:32
P114第10周03--6.4图的存储结构3-2采用邻接矩阵表示法创建无向网19:01
P115第10周04--6.4图的存储结构4-3邻接矩阵表示法的优缺点09:40
P116第10周05--6.4图的存储结构5-6.4.2邻接表表示法1-无向图的邻接表11:41
P117第10周06--6.4图的存储结构6-6.4.2邻接表表示法2-有向图的邻接表10:13
P118第10周07--6.4图的存储结构7-6.4.2邻接表表示法3-建立邻接表的算法20:28
P119第10周08--6.4图的存储结构8-6.4.2邻接表表示法4-邻接表表示法优缺点及与邻接矩阵的关系10:15
P120第10周09--6.4图的存储结构9-6.4.3十字链表12:41
P121第10周10--6.4图的存储结构10-6.4.4邻接多重表12:57
P122第10周11--6.5图的遍历1--深度优先搜索遍历思想15:19
P123第10周12--6.5图的遍历2--深度优先搜索遍历实现--邻接矩阵上的遍历算法11:43
P124第10周13--6.5图的遍历3--深度优先搜索遍历实现--邻接表上的遍历算法及算法分析05:56
P125第10周14--6.5图的遍历4--广度优先搜索遍历及其实现18:28
P126第11周01--6.6图的应用1--6.6.1最小生成树1--生成树及其构造11:03
P127第11周02--6.6图的应用2--6.6.1最小生成树2--最小生成树及其典型应用06:38
P128第11周03--6.6图的应用3--6.6.1最小生成树3--MST性质07:36
P129第11周04--6.6图的应用4--6.6.1最小生成树4--构造最小生成树1--Prim算法09:11
P130第11周05--6.6图的应用5--6.6.1最小生成树5--构造最小生成树2--Kruskal算法09:46
P131第11周06--6.6图的应用6--6.6.2最短路径1--最短路径问题抽象08:27
P132第11周07--6.6图的应用7--6.6.2最短路径2--Dijkstra算法25:39
P133第11周08--6.6图的应用8--6.6.2最短路径3--Floyd算法11:57
P134第11周09--6.6图的应用9--6.6.3拓扑排序23:42
P135第11周10--6.6图的应用10--6.6.4关键路径1--用AOE网表示工程计划12:54
P136第11周11--6.6图的应用11--6.6.4关键路径2--求解关键路径42:47
P137第12周01--第7章查找1--7.1查找的基本概念14:34
P138第12周02--第7章查找2--7.2线性表的查找1--7.2.1顺序查找1--顺序查找算法16:15
P139第12周03--第7章查找3--7.2线性表的查找2--7.2.1顺序查找2--顺序查找算法分析09:19
P140第12周04--第7章查找4--7.2线性表的查找3--7.2.2折半查找1--折半查找算法17:27
P141第12周05--第7章查找5--7.2线性表的查找4--7.2.2折半查找2--折半查找算法分析17:03
P142第12周06--第7章查找6--7.2线性表的查找5--7.2.3分块查找1--分块查找算法09:19
P143第12周07--第7章查找7--7.2线性表的查找6--7.2.3分块查找2--分块查找算法分析及比较07:52
P144第12周08--第7章查找8--7.3树表的查找1--7.3.1二叉排序树1--二叉排序树定义10:57
P145第12周09--第7章查找9--7.3树表的查找2--7.3.1二叉排序树2--二叉排序树查找--递归算法09:20
P146第12周10--第7章查找10--7.3树表的查找3--7.3.1二叉排序树3--二叉排序树查找算法分析08:01
P147第12周11--第7章查找11--7.3树表的查找4--7.3.1二叉排序树4--二叉排序树的插入和生成10:29
P148第12周12--第7章查找12--7.3树表的查找5--7.3.1二叉排序树5--二叉排序树的删除10:47
P149第13周1--7.3树表的查找6--7.3.2平衡二叉树1--平衡二叉树的定义08:29
P150第13周2--7.3树表的查找7--7.3.2平衡二叉树2--平衡调整方法112:05
P151第13周3--7.3树表的查找8--7.3.2平衡二叉树3--平衡调整方法2--四种类型的调整17:09
P152第13周4--7.3树表的查找9--7.3.2平衡二叉树4--平衡调整方法3--例题09:49
P153第13周5--7.4散列表的查找1--7.4.1散列表的基本概念12:14
P154第13周6--7.4散列表的查找2--7.4.2散列函数的构造10:04
P155第13周7--7.4散列表的查找3--7.4.3处理冲突方法1--开地址法1-线性探测法12:50
P156第13周8--7.4散列表的查找4--7.4.3处理冲突方法2--开地址法2-二次探测法、伪随机探测法05:31
P157第13周9--7.4散列表的查找5--7.4.3处理冲突方法3--链地址法05:33
P158第13周10--7.4散列表的查找6--7.4.4散列表的查找及性能分析18:36
P159第14周01--第8章排序1--8.1排序概述16:57
P160第14周02--第8章排序2--8.2插入排序1--直接插入排序26:24
P161第14周03--第8章排序3--8.2插入排序2--折半插入排序09:37
P162第14周04--第8章排序4--8.2插入排序3--希尔排序17:35
P163第14周05--第8章排序5--8.3交换排序1--冒泡排序19:34
P164第14周06--第8章排序6--8.3交换排序2--快速排序123:30
P165第14周07--第8章排序7--8.3交换排序3--快速排序2--快速排序算法分析09:07
P166第14周08--第8章排序8--8.4选择排序1--简单选择排序11:14
P167第14周09--第8章排序9--8.4选择排序2--堆排序109:59
P168第14周10--第8章排序10--8.4选择排序3--堆排序2--堆调整07:38
P169第14周11--第8章排序11--8.4选择排序4--堆排序3--建立堆11:41
P170第14周12--第8章排序12--8.4选择排序5--堆排序4--堆排序算法及分析05:33
P171第14周13--第8章排序13--8.5归并排序09:47
P172第14周14--第8章排序14--8.6基数排序14:40
P173第14周15--第8章排序15--各种排序方法比较08:59