2015年7月26日

摘要: kruskal和prim都是解决最小生成树问题,都是选取最小边,但kruskal是通过对所有边按从小到大的顺序排过一次序之后,配合并查集实现的。我们取出一条边,判断如果它的始点和终点属于同一棵树,那么跳过,否则合并他们分别所在的树。#include#includeusing namespace st... 阅读全文
posted @ 2015-07-26 17:37 枯藤古树 阅读(268) 评论(0) 推荐(0)
 
摘要: prim算法是选取任意一个顶点作为树的一个节点,然后贪心的选取离这棵树最近的点,直到连上所有的点并且不够成环,它的时间复杂度为o(v^2)#include#include#define INF 10000000using namespace std;int v,e;int cost[1000][10... 阅读全文
posted @ 2015-07-26 16:59 枯藤古树 阅读(194) 评论(0) 推荐(0)
 
摘要: 通常情况下,我们在创建子对话框的类时.cpp文件中并不会自动生成initdialog函数,但我们的很多操作都需要用到initdialog初始化函数,如果你直接在类的头文件中去定义一个初始化函数,然后在cpp文件中去实现是会报错的,一个简单的解决方法,打开类向导——>找到虚函数一列——>找到initd... 阅读全文
posted @ 2015-07-26 11:23 枯藤古树 阅读(1993) 评论(0) 推荐(0)
 
摘要: floyd算法和之前讲的bellman算法、dijkstra算法最大的不同在于它所处理的终于不再是单源问题了,floyd可以解决任何点到点之间的最短路径问题,个人觉得floyd是最简单最好用的一种算法,只不过它的时间复杂度高,为o(v^3),用的时候需要谨慎。floyd的精髓部分在于实现其思想的三个... 阅读全文
posted @ 2015-07-26 10:48 枯藤古树 阅读(230) 评论(0) 推荐(0)
 
摘要: 仅谈谈个人对dijkstra的理解,dijkstra算法是基于邻接表实现的,用于处理单源最短路径问题(顺便再提一下,处理单源最短路径问题的还有bellman算法)。开辟一个结构体,其变量为边的终点和边权,这时候还需要一个这个结构体类型的数组,数组的下标则为边的始点,我们都知道在图中,一个始点连出去的... 阅读全文
posted @ 2015-07-26 10:30 枯藤古树 阅读(207) 评论(0) 推荐(0)