- 博客(6)
- 资源 (8)
- 收藏
- 关注
原创 求最近点对
求最近点对 就我所知道的 有三种算法,一是算法导论上给出的,用分治思想,时间复杂度为O(n log(n)),详细可见算法导论 第二种是网上给出的 随机算法 时间复杂度为O(n ), 原文如下: 对于给定的平面上的n个点(xi,yi)( i=1,2,…,n)和一个距离d, 以d为尺寸可以构造一个(逻辑上的)网格, 该网格以(min{xi},min{yj})为网格的最左下点, 之后以步长
2011-11-19 10:57:15 781
原创 两个有序数组找第k小的数
事件复杂度O(log(k) ) 在网上看的,和同学商讨过,可行,认为此方法比上个log(m)+log(n)的方法要好 第一个数组m个元素 第二个数组n个元素 分别从两个数组找第k/2个数,a[k/2],b[k/2]; 假设a[k/2] 下面分析为什么可以删去: 因为a[k/2] 其他情况同理; 当m或n小于k/2时,假设m 这样每次k都减半,直到k等于1时,从比较两个数组头 中
2011-11-16 22:43:43 2502
转载 两个有序数组找第n个数
问题描述: Give a divide and conquer algorithm for the following problem: you are given two sorted lists of size m and n, and are allowed unit time access to the ith element of each list. Give an O(lg m
2011-11-14 22:02:32 1140
原创 寻找第k小元素
//本算法时间复杂度 O(n) #include //#include//getch()头文件 #include #include #include using namespace std; //选取n个中最大的k个元素,用”五分化中项的中项“(快速排序的划分方法)方法,先找第k大的元素 /* The SELECT algorithm determines theith sma
2011-11-05 11:26:38 2491
原创 improved mergesort
//两种方式改进归并,一是不递归;二是用两个数组,减少了重复赋值 #include #include #include #include #include using namespace std; LARGE_INTEGER BegainTime ; LARGE_INTEGER EndTime ; LARGE_INTEGER Frequency ;
2011-11-05 10:51:54 399
原创 prime and kluskal
//本算法未采用生成树,只用输出表示找到了,prime 与kluskal 对于同一个没有相同相同权值图应该一样,即使不一样所有最小生成树权值和应该一样 #include #include #include using namespace std; #define random(x) (rand()%x) #define VertexType char #define MaxVer
2011-11-05 10:43:53 455
程序员面试题精选100题.doc
2013-01-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人