数据结构
JSUITDLWXL
时代造就英雄
展开
-
基数排序的基本思想及实现
基数排序: 基数排序属于“分配式排序”,又称“桶子法”,它是通过键值的各个位置的值,将要排序的元素分配至某些“桶中”,达到排序的目的。 基数排序法是属于稳定性的排序,基数排序法是高效率的稳定性排序法。 基数排序是桶排序的扩展。 它的实现是将整数按位数切割成不同的数字,然后按每个位数分别比较。基本思想:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低为开始,依次进行一次排序。这样从最低为排序一直到最高为排序完成之后,数列就...原创 2022-03-17 09:54:05 · 1621 阅读 · 0 评论 -
归并排序的基本思想及实现
归并排序:归并排序是利用归并的思想实现的排序方法,该方法采用经典的分治策略,采用递归去实现。核心思想:分治归并细节:比如有两个已经排序好的数组,如何将他归并成一个数组?我们可以开辟一个临时数组来辅助我们的归并。也就是说他比我们插入排序也好,选择排序也好多使用了存储的空间,也就是说他需要o(n)的额外空间来完成这个排序。只不过现在计算机中时间的效率要比空间的效率重要的多。无论是内存也好还是硬盘也好可以存储的数据越来越多,所以设计一个算法,时间复杂度是要优先考虑的。原创 2022-03-15 20:04:04 · 328 阅读 · 0 评论 -
快速排序基本思想及实现
快速排序:快速排序是对冒泡排序的一种改进。基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分所有数据都要小,然后再按此方法对这两部分进行快速排序,整个排序的过程用递归进行,以此到达整个数据变成有序排列。步骤:1. 在数组中选一个基准数(通常为数组第一个);2. 将数组中小于基准数的数据移到基准数左边,大于基准数的移到右边;3. 对于基准数左、右两边的数组,不断重复以上两个过程,直到每个子集只有一个元素,即为全部有序。例如有一需..原创 2022-03-14 11:29:36 · 1038 阅读 · 0 评论 -
希尔排序的实现及基本思想
希尔排序:也是插入排序的一种,她是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。思想:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着曾量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。如下图:(1)希尔排序时,对有序序列在插入时采用交换法,并测试排序速度。(2)希尔排序时,对有序序列在插入时采用移动法,并测试排序速度。方式(1):public static void shel..原创 2022-03-13 16:32:43 · 1773 阅读 · 0 评论