八大排序
文章平均质量分 70
子鱼_sunmac
早上叫醒你的不是闹钟,是梦想!
展开
-
八大排序算法之冒泡排序算法(JAVA)
冒泡排序(Bubble Sort)(1)基本思想冒泡排序的基本思想就是:从无序序列头部开始,进行两两比较,根据大小交换位置,直到最后将最大(小)的数据元素交换到了无序队列的队尾,从而成为有序序列的一部分;下一次继续这个过程,直到所有数据元素都排好序。算法的核心在于每次通过两两比较交换位置,选出剩余无序序列里最大(小)的数据元素放到队尾。(2)运行过程1、比较相邻的元素。如果第一个比第二个大(小),...原创 2018-02-27 00:33:04 · 250 阅读 · 0 评论 -
八大排序算法之快速排序算法(JAVA)
快速排序(quickSort)基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。**:对于基准元素的选取,也可以采用随机数选取的方式**:如果要按照元素在位置上的中间来选取基准元素,还可以将中间位置上的元素与第一个元素进行对换步骤:将两个指...原创 2018-02-27 00:38:34 · 264 阅读 · 0 评论 -
八大排序算法之希尔排序算法(JAVA)
希尔排序(Shell Sort)基本思想:将无序数组分割为若干个子序列(相隔特定增量的子序列),对各个子序列进行插入排序;然后再选择一个更小的增量,再将数组分割为对应增量的子序列进行排序......最后选择增量为1,即使用直接插入排序,使最终数组成为有序。增量的选择:在每趟的排序过程都有一个增量,至少满足一个规则 增量关系 d[1] > d[2] > d[3] >..> d...原创 2018-03-06 22:51:50 · 316 阅读 · 0 评论 -
八大排序算法之堆排序算法(JAVA)
堆排序(Heap Sort)堆:首先堆是一种数据结构,是一棵完全二叉树并且满足所有非叶子结点的值均不大于或均不小于其左、右孩子结点的值。分为小根堆和大根堆。基本思想:1、将待排序的序列构造成一个大根堆(或小根堆)。2、此时,整个序列的最大值就是堆顶的根结点。将它移走(就是将其与堆数组的末尾元素交换,此时末尾元素就是最大值)。3、然后将剩余的n-1个序列重新构造成一个堆,这样就会得到n个元素中的此大...原创 2018-03-07 19:03:46 · 305 阅读 · 0 评论 -
八大排序算法之选择排序算法(JAVA)
选择排序(SelectionSort)简单选择排序的基本思想:给定数组:int[] a={里面n个数据};第1趟排序,在待排序数据a[1]~a[n]中选出最小的数据,将它与a[1]交换;第2趟,在待排序数据a[2]~a[n]中选出最小的数据,将它与a[2]交换;以此类推,第i趟在待排序数据a[i]~a[n]中选出最小的数据,将它与a[i]交换,直到全部排序完成。源代码:package com.su...原创 2018-02-28 17:22:29 · 262 阅读 · 1 评论 -
八大排序算法之归并排序算法(JAVA)
归并排序(Merge Sort)归并操作的工作原理如下:效率为O(n log n)第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置第三步:比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置重复步骤3直到某一指针超出序列尾将另一序列剩下的所有元素直接复制到合并序列尾(1)算法思想 ...原创 2018-02-28 17:29:32 · 412 阅读 · 0 评论 -
八大排序算法之基数排序算法(JAVA)
基数排序(radixSort)桶排序:就是把数据分组,放在一个个的桶中,然后对每个桶里面的在进行排序。例如要对大小为[1..1000]范围内的n个整数A[1..n]排序首先,可以把桶设为大小为10的范围,具体而言,设集合B[1]存储[1..10]的整数,集合B[2]存储 (10..20]的整数,……集合B[i]存储( (i-1)*10, i*10]的整数,i = 1,2,..1...原创 2018-03-01 22:17:15 · 324 阅读 · 0 评论 -
八大排序算法之插入排序算法(JAVA)
插入排序(Insertion Sort)算法思想:将数组的第一个元素作为已排好序的子序列,每次将一个待排序列的元素,按其大小插入到前面已经排好序的子序列中的适当位置,直到全部元素插入完成为止。算法步骤:设数组为a[0…n-1]。1. 初始设,a[0]为一个有序子序列,待排子序列为a[1..n-1]。令i=12. 将a[i]并入当前的有序子序列a[0…i-1]中形成a[0…i]的...原创 2018-03-05 18:12:10 · 267 阅读 · 0 评论