排序算法
排序是将一组数据,依指定的顺序进行排列的过程
走上Java的不归之路
没有一个人天生就是天才,长久的坚持与努力才是王道!
展开
-
八大排序算法~基数排序(桶排序)
一、基本介绍基数排序(radixsort) 属于“分配式排序”( distributionsort),又称“桶子法”(bucket sort)或binsort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用 基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法 基数排序(Radix Sort)是桶排序的扩展 基数排序是1887年赫尔曼何乐礼发明的。它是这样实现的:将整数按位数切割成不同的数字,然后按每个位数分别比较。 ...原创 2022-04-09 15:10:42 · 378 阅读 · 0 评论 -
八大排序算法~归并排序
一、基本介绍归并排序(MERGE- SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治( divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案”修补”在一起,即分而治之)。说明:可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以理解为就是递归拆分子序列的过程。代码实现:import java.util....原创 2022-04-09 11:57:03 · 408 阅读 · 0 评论 -
八大排序算法~快速排序
一、基本介绍快速排序(Quicksort)是对冒泡排序的一种改进。 基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。代码实现://快速排序 public static void getQuickSort(int[] array,int left,int right){ int l = l...原创 2022-04-09 10:33:41 · 659 阅读 · 0 评论 -
八大排序算法~希尔排序
基本介绍 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。希尔排序法基本思想希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止.代码实现://希尔排序~交换法public static void getShellSort(int[...原创 2022-04-08 17:11:22 · 234 阅读 · 0 评论 -
八大排序算法~插入排序
基本介绍:插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。思想:插入排序(Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码与依次有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。代码实现: //插入排序 public static vo原创 2022-04-08 15:10:54 · 529 阅读 · 0 评论 -
八大排序算法~选择排序
一、基本介绍选择排序也属于内部排序法,是从想排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的二、选择排序的思想代码实现: public static void getSelectSort(int[] array){ for(int j = 0; j < array.length-1; j++){ int minIndex = j; int min = array[j]; .原创 2022-04-08 13:54:55 · 383 阅读 · 0 评论 -
八大排序算法~冒泡排序
冒泡排序及优化测试时间复杂度原创 2022-04-08 12:42:26 · 118 阅读 · 0 评论 -
排序算法~八大排序算法
一、排序的分类1)内部排序指将需要处理的所有数据都加载到内部存储器中进行排序2)外部排序数据量过大,无法全部加载到内部中,需要借助外部存储进行排序常见的排序:二、算法的时间复杂度1.度量一个程序(算法)的执行时间有两种方法1)事后统计的方法,这种方法可行,但是有两个问题,一是要想对设计的算法的运行性能进行评测,需要实际运行该程序,;二是所得时间的统计量依赖于计算机的硬件,软件等环境因素,这种方式,要在同一台计算机相同状态下运行,才能比较哪个算法速度更快;2)事..原创 2022-04-08 10:10:44 · 114 阅读 · 0 评论