各种基本算法实现小结(五)—— 排序算法 (均已测试通过) * 选择排序 |____简单选择排序 |____堆排序 |____归并排序* 交换排序 |____冒泡排序 |____快速排序* 插入排序 |____直接插入排序 |____折半排序 |____希尔排序* 分配排序 |____箱排序 |__ ...
分类:
编程语言 时间:
2018-12-19 15:55:24
阅读次数:
224
由于作者不习惯该编辑器,只是贴出上本文的截图,详见:https://www.yuque.com/docs/share/cef380c5-6ba6-43ad-94bd-2d07bbb79d48
分类:
编程语言 时间:
2018-12-02 17:30:35
阅读次数:
112
2.1.27希尔排序的用时是次平方级的。在你的计算机上用SortCompare比较希尔排序和插入排序以及选择排序。测试数组的大小按照2的幂次递增,从128开始。shell排序的倍率是2.5,选择和插入都是在4.public class SortCompare{ public static doubl ...
分类:
编程语言 时间:
2018-10-27 10:22:09
阅读次数:
146
1.排序算法的分类 排序算法:基本排序,多路归并排序 基本排序:交换排序,选择排序,插入排序,合并排序 交换排序:冒泡排序,快速排序 选择排序:选择排序,堆排序 插入排序:插入排序,Shell排序 2.冒泡排序算法 (1)流程: 1.对数组中的各数据,依次比较相邻的两个元素的大小; 2.如果前面的数 ...
分类:
编程语言 时间:
2018-10-17 14:56:58
阅读次数:
161
关于排序: 这是排序的一些基本知识,下面是一些不常见的排序的个人理解: 希尔(shell)排序 :即是利用一个dist将整个序列利用二分分组,每次dist/2,其中a[1+dist k](0 ...
分类:
编程语言 时间:
2018-10-12 23:55:22
阅读次数:
208
2 排序 (sorting.cpp/c/pas) 2.1 问题描述 shell排序是众多排序算法中的一种。给定N个互不相同的整数,存放在数组A中,排成升序。Shell排序的 代码段在附加的shell.cpp中。 此处的i, N, X, gap, temp, ok 均是整数。数组A的元素互不相同,取值 ...
分类:
其他好文 时间:
2018-09-26 20:45:49
阅读次数:
156
基本算法如下: 1.插入排序 直接插入排序 折半插入排序 shell排序 2.交换排序 冒泡排序 快速排序 3.选择排序 简单选择排序 树形选择排序 堆排序 4.归并排序 二路归并排序 多路归并排序 5.基数排序 基数排序 ...
分类:
编程语言 时间:
2018-02-03 18:54:35
阅读次数:
171
1. 排序原理 2. 基本思想 设初始序列有n个元素,选定一个小于n大于或等于1的整数gap作为间隔,将全部元素分成gap个子序列,所有距离为gap的元素放在同一个子序列中,在每个子序列中分别采用直接插入算法进行排序;然后缩小间隔gap,如令gap=gap/2,重复上面的子序列划分和子序列排序动作; ...
分类:
编程语言 时间:
2018-01-17 00:44:11
阅读次数:
148
部分内容转自-http://blog.csdn.net/morewindows/article/details/6668714 希尔(Shell)排序又称为缩小增量排序,它是一种插入排序。它是直接插入排序算法的一种威力加强版。 该方法因DL.Shell于1959年提出而得名。 希尔排序的基本思想是: ...
分类:
编程语言 时间:
2017-12-29 15:33:12
阅读次数:
190
二、Shell排序 Shell排序也叫“缩减增量排序”(disminishing increment sort),基于插入排序进行。 Shell建议的序列是一种常用但不理想的增量序列:1,...,N/8,N/4,N/2 (ht=N/2,hk=hk+1/2) 思路: 通过比较相隔一定间隔(hk)的元素 ...
分类:
编程语言 时间:
2017-12-11 13:55:41
阅读次数:
261