摘要:
1. BFS的应用图的BFS算法可以用来求从图中一个顶点到其余各个顶点的最短路径。如果对图中每个顶点都使用一次BSF,就可以求出从图中每个顶点到其余各个顶点的最短路径。2. DFS的应用2.1 拓扑排序DFS算法可以用来求一个有向无回路图的拓扑排序,算法的伪代码如下:从伪代码中可以看出,图中的各个节点是按完成时间 f 降序顺序排序的。然后依次输出排序后的结果就能得到一个拓扑排序。2.2 找出图中的所有强联通分支DFS算法也可以找出一个有向图的所有强连通分支。伪代码如下:该算法首先调用DFS(G)构造出一个深度优先搜索森林并球出了各个节点的完成时间f[u]。求图G的矩阵表示的转置矩阵GT,然后在 阅读全文
摘要:
#graph.h头文件 1 #ifndef GRAPH_H 2 #define GRAPH_H 3 4 struct adjNode{ 5 int node; 6 struct adjNode *next; 7 }; 8 9 10 /*图的矩阵表示向邻接表表示的转换*/11 void matrixToAdjlist(int *matrix, adjNode *adjList, int n){12 int i, j;13 adjNode *tempNode;14 for(i=0; i<n; ++i){15 adjList[i].node... 阅读全文
摘要:
今天我写了一个BFS(广度优先搜索)算法的程序,在此展示出来。 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <vector> 4 #include <queue> 5 using namespace std; 6 7 const int max_dist=9999; 8 const int invalid_p=-1; 9 10 struct adjNode{ 11 int node; 12 struct adjNode *next; 13 }; 14 15 enum Color{w, 阅读全文
摘要:
程序员是一种技术工作,在IT的发展中有相当重要的地位,从底层硬件通讯协议的建立,到数据传输层的处理,到操作系统的建设,到数据库平台的建设,一直到应用层上各种数据营销平台的搭建,程序员在里面都扮演着举足轻重的角色并为IT事业的发展做出了巨大的贡献。中国有很多精于编码的人,但是中国软件行业,尤其是网络应用开发方面误区很大,很难形成有规模的软件开发力量和产品能力,不但比美国差距甚远,和印度相比也是颇有不如。这些问题不是在于中国程序员的智商和工作努力状况,也不是在于国家和民间对开发的投入程度,而是很大程度上,有一些对技术,对程序开发,对项目设计方面的思想误区,这些误区,导致了软件行业的产品化能力不足, 阅读全文