摘要: 广度优先遍历,这边就要涉及队列的处理,因为,我们一开始访问一个节点之后,访问跟这个结点直接相连的所有节点,这样相连的节点依次加入队列当中,保持队列的先进先出,每次出一个,再访问出的这个节点直接相连的节点,仍然依次进入队列当中。 这边我们知道队列的最大元素的个数,这边采用循环队列的结构。 typedef struct { int data[MAXSIZE]; in... 阅读全文
posted @ 2014-03-04 17:12 越影&逐日而行 阅读(819) 评论(0) 推荐(0) 编辑
摘要: 深度优先遍历,这个跟树中的遍历类似,做深度遍历就是访问一个节点之后,在访问这个节点的子节点,依次下去是一个递归的过程。 具体代码: void DFS(MGraph g ,int i) { int j; visited[i]=1; printf("%c",g.vexs[i]); for(j = 0;j 2: 3: #define ... 阅读全文
posted @ 2014-03-04 13:24 越影&逐日而行 阅读(474) 评论(0) 推荐(0) 编辑
摘要: Kruscal算法也是最小生成树算法,这个算法感觉起来可能更直观一点,我们要求最小生成树,我们可以依次找图中的最小权重所在的边,只要这些边不构成回路就添加,知道覆盖所有的顶点。 算法的具体过程: 1、将权重排序,要对权重排序,在邻接矩阵中权重处理不是很方便,构建边的结构 typedef struct { int begin; int end; i... 阅读全文
posted @ 2014-03-04 11:33 越影&逐日而行 阅读(432) 评论(0) 推荐(0) 编辑