- 博客(11)
- 收藏
- 关注
原创 快速排序过程的优化(续)
(1)在对数组元素进行排序前,选择一种随机化算法堆数组的元素进行随机化处理。尽量选择能够在线性时间复杂度上对数组进行随机化的方法。这样就可以在虽大程度上避免排序算法的性能出现最差的情况。(2)选择枢轴元素的时候采用随机的方法。(3)选择枢轴的时候采用首、尾、中三数取中的方法。(4)当需要排序的序列大小降低到一定程度的时候,使用其他简单排序的算法,以避免不断的递归创建爱女函数栈等开销。
2014-05-31 19:10:57 1030
转载 更改Linux默认栈空间的大小
有时候写程序下1、通过命令 ulimit -s 查看linux的默认栈空间大小,默认情况下 为10240 即10M2、通过命令 ulimit -s 设置大小值 临时改变栈空间大小:ulimit -s 102400, 即修改为100M3、可以在/etc/rc.local 内 加入 ulimit -s 102400 则可以开机就设置栈空间大小4、在/etc/security/lim
2014-05-30 18:21:31 7950
原创 为什么快速排序比堆排序要快?
今天作算法排序实验,发现相同的数据规模,快速排序比堆排序的效率高很多,并且随着数据规模的扩大,二者的差距不断扩大,快速排序的优势越来越明显。快速排序的时间复杂度近似线性增长,堆排序则要大很多。究其原因,应该有以下几个方面: 在堆排序(小根堆)的时候,每次总是将最小的元素移除,然后将最后的元素放到堆顶,再让其自我调整。这样一来,有很多比较将是被浪费的,因为被拿到堆顶的那个元素几
2014-05-30 17:59:16 6093 2
原创 2014-5-30任务完成情况
(1)实现qsort; 万(2)不断从细节上优化qsort; (3)对比qsort与堆排序的时间差,并分析原因; 相同的数据规模,快速排序比堆排序的效率高很多,并且随着数据规模的扩大,二者的差距不断扩大,快速排序的优势越来越明显。快速排序的时间复杂度近似线性增长,堆排序则要大很多。究其原因,应该有以下几个方面: 在堆排序
2014-05-30 17:54:42 669
原创 调整法建堆过程的优化
#include #include #include #include #include using namespace std;#define MAX 10000000void readNum(int a[]){ string filename; ifstream infile("data_1000w.txt", ios::in); string textline =
2014-05-30 17:42:37 1114
转载 Linux中如何产生core?
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。 1.core文件的生成开关和大小限制 (1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 (2)使用ulimit -c filesize命
2014-05-29 22:11:38 1489
原创 2014-5-29任务完成情况
(1)硬盘安装linux系统; 完成。 (2)生成core文件; 完成,并整理文档 (3)初步学会gdb调试core; 完成,还不太熟练。可以根据core文件找到错误位置。 (4)将整理法建堆改成c++版,并用千万级的数据测试时间; 完成,发现一个问题,1000w的数据量在分配内存时就会core dump,后来发现100
2014-05-29 20:19:37 622
原创 2014-5-28任务完成情况
(1)想办法生成core文件;(2)初步学会gdb调试core;(3)算法时间复杂度分析:为什么增量方法比整理方法建堆速度慢? 调整法建堆的时间复杂度:循环是从i = headsize/2 -> 1。于是,有1/4的元素向下执行一次调整过程,有1/8的向下执行了两次,1/16的,向下执行了3次,......,1/2^k+1的向下比较了k次,其中
2014-05-28 19:39:24 645
原创 用调整法和插入法建堆的Python实现,不同建堆方式对堆排序性能的影响
插入法建堆是将数组1中的元素逐个插入到数组2中建立一个堆。每插入一个关键字就与其父节点的关键字比较大小,如果父节点的关键字较小则交换,然后依次自低地向上调整使之符合大(小)顶堆的特性。插入法建堆与调整法建堆可能结果不一样。调整法建堆是自底向上依次调整,一棵子树中最大的节点值与根节点交换,最小的那个节点位置在本次调整中不作改变。而插入法建堆结果与插入的顺序和值大小有关。以大顶堆为例,
2014-05-26 21:55:38 1693
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人