09 2014 档案
摘要:gdb命令行调试虽然还行,但是确实不如图形界面的直观。。。个人还是不习惯,就开始鼓捣eclipse的c/c++IDE(VS2013安装需要IE10,蛋疼,懒得弄)Build一个C工程的时候报错。我安装了MinGW并且安装了C编译器,但是没有安装C++编译器,也就是只有gcc.exe但是没有g++.e...
阅读全文
摘要:具体的就不在这里说了,如果有兴趣的可以把我的工程包下载下来看,留个URLhttp://pan.baidu.com/s/1bnes1HX
阅读全文
摘要:在一个由n个元素组成的集合中,第i个“顺序统计量(order statistic)”是该集合中第i小的元素。例如,在一个由n个元素组成的集合中,最小值是第1个顺序统计量,最大值是第n个顺序统计量。而“中位数(median)”总是出现在low((n+1)/2)或者high((n+1)/2)处,其中...
阅读全文
摘要:参考资料:算法导论note1:桶排序是另外一种以O(n)或者接近O(n)的复杂度排序的算法. 它假设输入的待排序元素是等可能的落在等间隔的值区间内.一个长度为N的数组使用桶排序, 需要长度为N的辅助数组. 等间隔的区间称为桶, 每个桶内落在该区间的元素. 桶排序是基数排序的一种归纳结果note2:待...
阅读全文
摘要:参考资料:算法导论性能:给定n个d位数,每一个数位可以取k种可能的值,基数排序算法时间为O(d(n+k)),当d为常数,k=O(n)时,基数排序为O(n)时间优点:稳定排序缺点:不是原地排序实现代码(用户需要提供一个RSHelper的实现即可完成排序,本例给出一个随意的实现仅作示意)RadixSor...
阅读全文
摘要:算法导论:任意一个比较排序算法,在最坏的情况下,至少要做n*lg(n)次的比较,因此堆排序与归并排序是渐近最优的比较排序算法但计数排序、基数排序和桶排序都不采用比较的方式来确定元素的顺序,因此下界n*lg(n)对它们并不适用计数排序假设被排序的元素都在范围[0, k]中,k为正整数,当k=O(n)的...
阅读全文
摘要:归并排序算法稳定,数组需要O(n)的额外空间,链表需要O(log(n))的额外空间,时间复杂度为O(nlog(n))NOTE:新数组的创建和数据拷贝是硬伤,我尝试了一下只申请一个workspace,应该还不错吧,没有理论论证代码: 1 package sorts; 2 3 import java....
阅读全文
摘要:参考资料:算法导论http://blog.csdn.net/insistgogo/article/details/7785038http://blog.csdn.net/michealtx/article/details/7181906http://www.oschina.net/code/snip...
阅读全文
摘要:1 package sorts; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import java.util.Random; 6 7 public class PriorityQueue> { // mi...
阅读全文
摘要:堆的定义如下:n个元素的序列{k0,k1,...,ki,…,k(n-1)}当且仅当满足下关系时,称之为堆。"ki=k(2i),ki>=k(2i+1).(i=1,2,…,[n/2])"若将和此次序列对应的一维数组(即以一维数组作此序列的存储结构)看成是一个完全二叉树,若完全二叉树中每一个节点的值都大于...
阅读全文
摘要:参考资料:http://algs4.cs.princeton.edu/33balanced/RedBlackBST.java.html算法导论第13章http://blog.csdn.net/skylinesky/article/details/6610950代码:(我添上了toString,以及改...
阅读全文