摘要:
1.算法标签 BFS 2.算法概念 Bellman-Ford算法有这么一个先验知识在里面,那就是最短路径至多在N步之内,其中N为节点数,否则说明图中有负权值的回路,这样的图是找不到最短路径的。因此Bellman-Ford算法的思想如下,进行N次循环,在第 k 次循环中用dist数组记录 k 步之内到达各个顶点的最短路径长度,记做distk,然后在第k+1次循环中,遍历每条边,... 阅读全文
摘要:
今天想练习一下图算法,有些图算法的基础数据结构是邻接表,于是想着用C实现一下,虽说wiki上有一个邻接表的实现,但是自己还是想练一下手,在网上也搜到了别人的邻接表实现,发现大同小 异,然后就在别人的基础上修改了一下得到了这个版本,记录一下,供以后练习使用。 1.邻接表概念 一张图,如果不考虑空间占用问题的话,用邻接矩阵存储是最方便的了,但有时候,图很稀疏,用矩阵存储就不划算了... 阅读全文
摘要:
1.算法标签 贪心 2.算法描述 具体的算法描述网上有好多,我觉得莫过于直接wiki,只说明一些我之前比较迷惑的。 对于Dijkstra算法,最重要的是维护以下几个数据结构: 顶点集合S : 表示已经找出从源点出发最短路径的顶点集合 顶点集合Q: S在所有顶点集合中的补集,即V-S 距离数组dist : 在程序执行过程中,如果序号为... 阅读全文