上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 20 下一页
摘要: 裸裸的最短路问题,将while(scanf("%d%d", &N, &M)!=EOF)粗心写为while(scanf("%d%d", &N, &M),我还奇怪怎么一直是超时,OMG. 首先用Dijstra算法,寻找两点间最短路径长度,算法复杂度是O(n^2). 接着使用Floyd算法也可以解决,时间 阅读全文
posted @ 2016-03-31 21:29 曹孟德 阅读(130) 评论(0) 推荐(0) 编辑
摘要: Dijstra算法是寻找从某一顶点i出发到大其他顶点的最短路径。Distra算法的思想与Prim算法很像,它收录顶点的规则是按照路径长度递增的顺序收录的。设v0是源顶点,我们要寻找从v0出发到其他任意一点的最短路径。设已经求解的顶点(已经找到从v0出发到达该顶点最短路径的顶点)组成的集合是S={v0 阅读全文
posted @ 2016-03-31 20:08 曹孟德 阅读(659) 评论(0) 推荐(0) 编辑
摘要: 多源最短路径是求图中任意两点间的最短路,采用动态规划算法,也称为Floyd算法。将顶点编号为0,1,2...n-1首先定义dis[i][j][k]为顶点 i 到 j 的最短路径,且这条路径只经过最大编号不超过k的顶点。于是我们最终要求的是dis[i][j][n-1].状态转移方程如下: dis[i] 阅读全文
posted @ 2016-03-31 19:54 曹孟德 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 问题:设计一个算法将k个有序链表合并成一个有序链表,已知k个链表总元素个数为n. 算法要求的复杂度是O(nlogk),可以采用最小堆来实现k路归并,具体算法如下: 1.取出k个链表头结点调准成一个最小堆heap[k]; 2.取出堆heap中的最小值,然后将该最小值下一个结点放在heap[0]位置,然 阅读全文
posted @ 2016-01-28 16:14 曹孟德 阅读(1362) 评论(0) 推荐(0) 编辑
摘要: 分治策略分为三步:分解原问题:将原问题分解为一些子问题,子问题形式与原问题一样,只是规模更小。解决子问题:递归的求解出子问题。如果子问题规模足够小,则停止递归,直接求解。合并子问题:将子问题的解合并为原问题的解主方法公式:T(n)=aT(n/b)+f(n);它刻画了这样一个分治算法:生成a个子问题... 阅读全文
posted @ 2016-01-20 21:32 曹孟德 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 问题:给定一个数组A,A存有n个互不相同的整数。定义:若i<j且A[i]>A[j],则称(i,j)为A的一个逆序对(inversation)。设计一个O(nlogn)算法求A中逆序对个数。 显然最坏情况下逆序对有n(n-1)/2个,如;5 4 3 2 1完全逆序,逆序对有(5-1)*5/2=10对。 阅读全文
posted @ 2016-01-20 00:20 曹孟德 阅读(6486) 评论(0) 推荐(0) 编辑
摘要: 一:类型别名是一个名字,它是某种类型的定价。有两种方法定义类型别名: 1.使用typedef关键字,如: typedef int *Int_Ptr Int_Ptr p=nullptr; //Int_Ptr是一个int指针类型,这里定义了一个int型指针P 2.使... 阅读全文
posted @ 2016-01-17 18:44 曹孟德 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 常量表达式(const expression):是指值不会改变并且在编译过程中就得到计算结果的表达式。(运行中得到结果的不能成为常量表达式)。 const int i=3; //是一个常量表达式 const int j=i+1; //是一个常量表达式 int k=... 阅读全文
posted @ 2016-01-17 11:57 曹孟德 阅读(22462) 评论(0) 推荐(2) 编辑
摘要: const对象一旦创建后,其值就不可以改变,所以const对象必须初始化。与非const的类型比较,主要区别在于const类型对象执行但是不改变其操作内容。 在默认状态下,const只在文件内有效。在默认状况下,const定义的对象仅限定在文件类起作用,当多个文件中出现了同名的const时其实... 阅读全文
posted @ 2016-01-17 00:06 曹孟德 阅读(309) 评论(0) 推荐(0) 编辑
摘要: void*是一种特殊的指针类型,可以用来存放任意对象的地址。一个void*指针存放着一个地址,这一点和其他指针类似。不同的是,我们对它到底储存的是什么对象的地址并不了解; 比如:double a=2.3; int b=5; void *p=&a; cout<<p<<e... 阅读全文
posted @ 2016-01-16 20:58 曹孟德 阅读(1539) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 20 下一页