- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 堆排序
这个接口写的不好,用起来感觉有点别扭,真正要用还需要改改,不应该使用iSize。感觉把堆当成一个能insert,然后弹出最大的数据的结构使用比较好一些。另外最好再添加一些如:GetMaxValue,等等的函数多个已经排好序的连接合成一个,这个用堆排序真的很好,不错。 主要实现了基于堆的排序对一亿条数据进行测试的结果为:Push,6s;Pop,97s。如果对于一个需要插入
2011-06-26 16:27:00 364
原创 基数排序
今天写了个基数排序的程序,程序现在能运行了,但是里面还有很多地方可以优化,我会再出一个优化的版本的主要可以优化的地方包含1. 优化空间,现在需要排序的数据需要再申请一倍的空间用于存储临时数据。如果是一个对于空间要求高的地方,可以优化空间。优化空间,肯定会带来时间上的消耗。怎么优化空间,还没有具体想好,不过也有思路了。2. 优化时间,现在代码中很多地方的检查其实可以进行剪枝,例如,Sor
2011-06-26 16:09:00 464
原创 逆序对
打算学习一下算法,这几天没有时间。今天接着分治算法实现继续往下走。修改了一下分治算法,实现了逆序对。逆序对其实很简单,就是看分治算法的时候,对于那两个已经排好序的数组进行组合过程需要交换的次数,当然了其中还包含了交换的距离。 代码很简单,也没有细写,随便改了一下。 #include "InversionPair.h" static int s_iTotal
2011-06-13 22:40:00 571
原创 分治算法实现
今天写了个分治算法。拿出来大家提提意见测试,对一亿条随机数进行排序,需要52秒Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHzmemory 2Gubuntu 9.0.4 .c#include "Partition.h"static void SortInOrder(int *piArray, int iFromA,
2011-06-10 19:33:00 649
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人