数据结构
文章平均质量分 74
热心网友summer
这个作者很懒,什么都没留下…
展开
-
bellman-ford,spfa + 打印最短路径
###bellman-fordBellman-Ford算法优点Bellman-Ford算法是用来解决单源最短路问题的。在现实生活旅游途中,我们通常想知道一个景点到其他所有景点的最短距离,以方便我们决定去哪些比较近的景点。而这时候,Bellman-Ford算法就有用了。Bellman-Ford算法的优点是可以发现负圈,缺点是时间复杂度比Dijkstra算法高。而SPFA算法是使用队列优化的Bellman-Ford版本,其在时间复杂度和编程难度上都比其他算法有优势。虽然题目规定了不存在「负权边」,但原创 2021-08-28 11:57:34 · 413 阅读 · 0 评论 -
图的存储方式
邻接矩阵这是一种使用二维矩阵来进行存图的方式,适用于边数较多的「稠密图」使用,当边数量接近点的数量的平方,即 时,可定义为「稠密图」。例:int[][] matrix = { {0, 1, 5, N, N, N, N, N, N}, {1, 0, 3, 7, 5, N, N, N, N}, {5, 3, 0, N, 1, 7, N, N, N}, {N, 7, N, 0, 2, N, 3, N, N},原创 2021-08-28 10:05:55 · 127 阅读 · 0 评论 -
Dijkstra算法+打印路径
原理Dijkstra 算法(中文名:迪杰斯特拉算法)是由荷兰计算机科学家 Edsger Wybe Dijkstra 提出。该算法常用于路由算法或者作为其他图算法的一个子模块。举例来说,如果图中的顶点表示城市,而边上的权重表示城市间开车行经的距离,该算法可以用来找到两个城市之间的最短路径。设G=(V,E)是一个带权有向图,把图中顶点集合V分为两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S中只有一个源点,以后每求得一条最短路径 , 就将加入到集合S中,直到全部顶点都加入到S中,算法就结束了),原创 2021-08-26 00:39:19 · 2265 阅读 · 0 评论