摘要: 版权所有,转载请注明出处!对于该算法的实现思想网上已经有很多,所以这里只是简单介绍原理,重点在于实现代码。Dijkstra算法,又叫迪科斯彻算法(Dijkstra),算法解决的是有向图中单个源点到其他顶点的最短路径问题。举例来说,如果图中的顶点表示城市,而边上的权重表示著城市间开车行经的距离,Dijkstra算法可以用来找到两个城市之间的最短路径。它的实现如下:Dijkstra算法的输入包含了一个有权重的有向图G,以及G中的一个来源顶点S。我们以V表示G中所有顶点的集合,以E表示G中所有边的集合。(u,v)表示从顶点u到v有路径相连,而边的权重则由权重函数w:E→[0,∞]定义。因此,w(u, 阅读全文
posted @ 2012-08-07 23:15 dancingrain 阅读(664) 评论(0) 推荐(1) 编辑
摘要: 版权所有,转载请注明出处!写这篇博客并不是为了探讨算法效率的提升,而是尝试以一种更能够让人们读懂的方式进行书写程序,这里我写了三个程序,分别使用三种编程方式进行书写,希望读者能够找到更加适合自己的方式。1.直接按照一维数组的习惯操作:#include #define N 3 using namespace std; int main (int argc, const char * argv[]) { int A[] = {1,2,3,4,5,6,7,8,9}; int B[] = {7,6,5,1,2,3,2,8,7}; int C[9]= {0}; mems... 阅读全文
posted @ 2012-08-07 11:02 dancingrain 阅读(604) 评论(0) 推荐(0) 编辑