一、遍历
深度优先遍历
广度优先遍历
二、最短路径算法
https://mp.weixin.qq.com/s/i5YNtG-rDrCGEeKD9B8VWQ
迪杰斯特拉:
使用一张表,记录起点到所有点的距离,并且不断刷新
如果需要得到路径,可以使用一个from[]数组,表示当前下标的前一个。
三、最小生成树
(学习连接,公众号五分钟学算法:最小生成树)
Prim算法:
顶点集合为V,边集合为E,再定义一个集合U存储已经遍历的节点
把当前遍历到的节点放入U中,然后寻找U集合中所有元素相邻的节点,找到领边最短的节点,放入U中
直到所有的节点都被放入U中,并且边的长度也记录完毕。
四、A*算法
f(n) = g(n)+h(n)
g(n):距离起点的距离
h(n):距离终点的预期距离
使用两个集合
openSet:待遍历节点
closeSet:已经遍历过的节点
https://paul.pub/a-star-algorithm/