君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理

2014年7月9日 #

摘要: 拓扑排序虽是一种排序,但是它跟平时所接触的sort或者qsort不同,排序的意义不同。拓扑排序针对有向无回路图(DAG)而言的,不应用与存在回路的有向图。【图论】广度优先搜索和深度优先搜索 有说到了BFS和DFS,拓扑排序是DFS的一个应用。有向无回路图能说明事件的发生的先后的顺序。比如穿衣服,士兵... 阅读全文
posted @ 2014-07-09 13:02 刺猬的温驯 阅读(356) 评论(0) 推荐(1) 编辑

摘要: 写在最前面的这篇文章并没有非常详细的算法证明过程。导论里面有非常详细的证明过程。本文只阐述“广度优先和深度优先搜索的思路以及一些简单应用”。两种图的遍历算法在其他图的算法当中都有应用,并且是基本的图论算法。广度优先搜索广度优先搜索(BFS),可以被形象的描述为“浅尝辄止”,具体一点就是每个顶点只访问... 阅读全文
posted @ 2014-07-09 13:01 刺猬的温驯 阅读(689) 评论(0) 推荐(0) 编辑

摘要: Prim算法1.概览普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(... 阅读全文
posted @ 2014-07-09 01:28 刺猬的温驯 阅读(485) 评论(0) 推荐(0) 编辑

摘要: Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论... 阅读全文
posted @ 2014-07-09 01:28 刺猬的温驯 阅读(500) 评论(0) 推荐(0) 编辑

摘要: 关于三个简单的图论算法prim,dijkstra和kruskal三个图论的算法,初学者容易将他们搞混,所以放在一起了。prim和kruskal是最小生成树(MST)的算法,dijkstra是单源最短路径的算法。prim最小生成树prim算法采用了贪心策略:把点分成两个集合,A为已被处理(已经在最小生... 阅读全文
posted @ 2014-07-09 00:53 刺猬的温驯 阅读(450) 评论(0) 推荐(0) 编辑