修改了项目结构
@@ -30,8 +30,8 @@
|
||||
+ [x] [第二章 线性表](https://github.com/Alice-and-Bob/CS408/blob/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E7%AC%AC%E4%BA%8C%E7%AB%A0%20%E7%BA%BF%E6%80%A7%E8%A1%A8/%E7%AC%AC%E4%BA%8C%E7%AB%A0%20%E7%BA%BF%E6%80%A7%E8%A1%A8.xmind)
|
||||
+ [x] [第三章 栈和队列](https://github.com/Alice-and-Bob/CS408/blob/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E7%AC%AC%E4%B8%89%E7%AB%A0%20%E6%A0%88%E5%92%8C%E9%98%9F%E5%88%97/%E7%AC%AC%E4%B8%89%E7%AB%A0%20%E6%A0%88%E4%B8%8E%E9%98%9F%E5%88%97.xmind)
|
||||
+ [x] [第四章 串](https://github.com/Alice-and-Bob/CS408/blob/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E7%AC%AC%E5%9B%9B%E7%AB%A0%20%E4%B8%B2/%E7%AC%AC%E5%9B%9B%E7%AB%A0%20%E4%B8%B2.xmind)
|
||||
+ [x] 第五章 树与二叉树
|
||||
+ [ ] 第六章 图
|
||||
+ [x] [第五章 树与二叉树](https://github.com/Alice-and-Bob/CS408/blob/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E7%AC%AC%E4%BA%94%E7%AB%A0%20%E6%A0%91%E4%B8%8E%E4%BA%8C%E5%8F%89%E6%A0%91/%E7%AC%AC%E4%BA%94%E7%AB%A0%20%E6%A0%91%E4%B8%8E%E4%BA%8C%E5%8F%89%E6%A0%91.xmind)
|
||||
+ [x] 第六章 图
|
||||
+ [ ] 第七章 查找
|
||||
+ [ ] 第八章 排序
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 697 KiB After Width: | Height: | Size: 697 KiB |
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 190 KiB After Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 149 KiB |
|
Before Width: | Height: | Size: 176 KiB After Width: | Height: | Size: 176 KiB |
|
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 192 KiB |
|
Before Width: | Height: | Size: 214 KiB After Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 358 KiB After Width: | Height: | Size: 358 KiB |
|
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 211 KiB |
|
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 253 KiB |
|
Before Width: | Height: | Size: 264 KiB After Width: | Height: | Size: 264 KiB |
|
Before Width: | Height: | Size: 220 KiB After Width: | Height: | Size: 220 KiB |
BIN
数据结构/第6章 图/a.png
Normal file
|
After Width: | Height: | Size: 309 KiB |
BIN
数据结构/第6章 图/dj1.png
Normal file
|
After Width: | Height: | Size: 725 KiB |
BIN
数据结构/第6章 图/dj2.png
Normal file
|
After Width: | Height: | Size: 473 KiB |
BIN
数据结构/第6章 图/dj3.png
Normal file
|
After Width: | Height: | Size: 821 KiB |
BIN
数据结构/第6章 图/fl1.png
Normal file
|
After Width: | Height: | Size: 498 KiB |
BIN
数据结构/第6章 图/fl2.png
Normal file
|
After Width: | Height: | Size: 662 KiB |
BIN
数据结构/第6章 图/fl3.png
Normal file
|
After Width: | Height: | Size: 192 KiB |
83
数据结构/第6章 图/图的应用.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# 最小生成树
|
||||
## 普利姆算法
|
||||
原图:
|
||||

|
||||
|
||||
以上图G4为例,来对普里姆进行演示(从第一个顶点A开始通过普里姆算法生成最小生成树)。
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
初始状态:V是所有顶点的集合,即V={A,B,C,D,E,F,G};U和T都是空!
|
||||
|
||||
- 第1步:将顶点A加入到U中。
|
||||
此时,U={A}。
|
||||
|
||||
- 第2步:将顶点B加入到U中。
|
||||
上一步操作之后,U={A}, V-U={B,C,D,E,F,G};
|
||||
因此,边(A,B)的权值最小。将顶点B添加到U中;此时,U={A,B}。
|
||||
|
||||
- 第3步:将顶点F加入到U中。
|
||||
上一步操作之后,U={A,B}, V-U={C,D,E,F,G};
|
||||
因此,边(B,F)的权值最小。将顶点F添加到U中;此时,U={A,B,F}。
|
||||
|
||||
- 第4步:将顶点E加入到U中。
|
||||
上一步操作之后,U={A,B,F}, V-U={C,D,E,G};
|
||||
因此,边(F,E)的权值最小。将顶点E添加到U中;此时,U={A,B,F,E}。
|
||||
|
||||
- 第5步:将顶点D加入到U中。
|
||||
上一步操作之后,U={A,B,F,E}, V-U={C,D,G};
|
||||
因此,边(E,D)的权值最小。将顶点D添加到U中;此时,U={A,B,F,E,D}。
|
||||
|
||||
- 第6步:将顶点C加入到U中。
|
||||
上一步操作之后,U={A,B,F,E,D}, V-U={C,G};
|
||||
因此,边(D,C)的权值最小。将顶点C添加到U中;此时,U={A,B,F,E,D,C}。
|
||||
|
||||
- 第7步:将顶点G加入到U中。
|
||||
上一步操作之后,U={A,B,F,E,D,C}, V-U={G};
|
||||
因此,边(E,G)的权值最小。将顶点G添加到U中;此时,U=V。
|
||||
|
||||
此时,最小生成树构造完成!它包括的顶点依次是:A B F E D C G。
|
||||
> 注意每一次从U和V集合中选一个权值最小的边,对应的顶点加入U中,直到V中没有元素
|
||||
|
||||
## 克鲁斯卡尔算法
|
||||
算法思想:
|
||||
1. 将所有边的边权从小到大依次排列,并且均标为未选;
|
||||
2. 选择最小的未选边;
|
||||
3. 如果该边与前面所选的边无法构成回路,则选中该边,并标为已选;如果该边与前面所选的边构成了回路,则不选该边,并标为已选;
|
||||
4. 重复(2)(3),直到所有点之间都有边相连;
|
||||
> 过程容易理解,只需要注意选边的时候不能成环,如果有成环则跳过该边;
|
||||
|
||||
# 最短路径
|
||||
## 迪杰斯特拉算法
|
||||
> 求解**带权有向图G中**某一顶点到其他各个顶点的最短路径
|
||||
|
||||
- 概述:
|
||||

|
||||
|
||||
- 实例:
|
||||

|
||||

|
||||
|
||||
> 结合实例容易理解算法过程,需要注意的是初始化和算法每一次前进一步都需要更新当前到未确定的各个顶点的最短距离,这是因为可能存在拐弯之后的权值相加仍小于原值的情况。
|
||||
>
|
||||
> 注意算法只能求解**权值为正数**的带权有向图
|
||||
|
||||
## 弗洛伊德算法
|
||||
- 算法思想:
|
||||

|
||||
- 实例:
|
||||

|
||||

|
||||
|
||||
# 拓扑排序
|
||||
- AOV网:有向无环图,边的指向代表了事件发生的前后顺序
|
||||
- 拓扑排序:将AOV网以一个一维序列形式表达,这个序列满足
|
||||
- 每个顶点出现且仅出现一次
|
||||
- 若A排在B前面,则在AOV网中不存在B到A的路径,即A必须先于B发生
|
||||
- 算法:
|
||||

|
||||
|
||||
# 关键路径
|
||||
- AOE网:在AOV网的基础上,添加了边权值,代表了完成活动的开销(需要的时间等)
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
BIN
数据结构/第6章 图/第六章 图.xmind
Normal file
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 273 KiB After Width: | Height: | Size: 273 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 643 KiB After Width: | Height: | Size: 643 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 873 KiB After Width: | Height: | Size: 873 KiB |
|
Before Width: | Height: | Size: 502 KiB After Width: | Height: | Size: 502 KiB |
|
Before Width: | Height: | Size: 697 KiB After Width: | Height: | Size: 697 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 140 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 221 KiB After Width: | Height: | Size: 221 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 170 KiB |
|
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 340 KiB After Width: | Height: | Size: 340 KiB |
|
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |