- 博客(6)
- 资源 (11)
- 收藏
- 关注
改进的快速排序算法
快速排序算法的改进思路
1.选取好的基准,是两边的数据个数尽量的均匀
取数组的第一个,中间,最后一个数据,取三个数中第二大的数作为基准
2. 不递归
3.与插入结合,当段内的数组个数小于等于16的时候,使用插入排序
2013-11-04
改进的堆排序算法
对堆排序的改进
1.将数据初始化为大顶堆,交换第一个和最后一个元素,这里是不变的
2.重新构造大顶堆是,首先让第一个元素下降h/2的高度(h 为堆的高度)
3.下降了h/2层后判断这个元素与它的父节点谁大,如果父节点大继续下沉,下沉的结束条件为h=0
如果父节点小,表明第一个元素下沉时走过头了,然后要往回走,进行上浮操作,上浮操作是肯定能够找到第一个元素的最终位置的
4.循环n-1次程序运行完成。
2013-11-04
冒泡算法的改进算法
冒泡算法的改进思想:
1.记录从第0下标开始一直递增的最后一个数的下标start,在以后的每趟排序中都是从start下标开始比较,免去了从头到此下标的比较
2.记录从最后一个下标开始一直递减的最后一个下标end,在以后的每趟排序中只要判断a[end-1]和a[end],如果a[end]大,则后面的就不需要比较和交换
3.数组的长度n在每趟排序后都会n--;
4.同时当end<start时标明数组中没有可以交换的元素了,则排序完成
2013-11-01
归并算法的改进算法
对于归并算法的四点改进
1.不回写,可以减少一半的数组移动
2.不递归 ,可以加快执行速度
3.无逆序,分段的时候递增的为一段,段数不确定
4.与插入相结合,因为数列个数在16以内的话插入排序会比归并排序要快
2013-10-31
欧拉回路的构建及输出欧拉回路的路径
这里以构建一个度全部相同的欧拉回路,并输出欧拉回路的路径
1.构建欧拉回路
连通主要是靠树来保证,首先建立一个度为k的完全图,其中会有很多需要主要的地方
(1)首先构造树 =>保证顶点连通
(2)将度<k的点的度补满
(3)在补满度的过程中肯定会出现有顶点的度不满足的情况,那就要做后处理(由于不会在电脑上作图就不画图了)
2013-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人