![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
像风如你~
悲伤玉米排骨汤
展开
-
排序算法之快速排序
快速排序什么是快速排序快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,比另一部分的关键字大,则可分别对这两部分记录继续进行排序,以达到整个序列有序。时间复杂度:O(nlgn)空间复杂度:O(1)稳定性:不稳定图解快速排序单路快速排序代码public void sort(int[] arr) { quickSort(0, arr.length - 1); } private void qu原创 2022-02-16 19:32:02 · 466 阅读 · 0 评论 -
排序算法之希尔排序
希尔排序什么是希尔排序1959年Shell发明,第一个突破O(n^2)的排序算法,是简单插入排序的改进版。它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。时间复杂度:O(n^1.3)空间复杂度:O(1)稳定性:不稳定希尔排序代码public void sort(int[] arr) { int len = arr.length; //O(n^1.3) for (int gap = len / 2; gap原创 2022-02-14 21:12:59 · 309 阅读 · 0 评论 -
排序算法之归并排序
归并排序什么是归并排序归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2路归并。时间复杂度:O(nlgn)空间复杂度:O(n)稳定性:稳定图解归并排序分治法图解“分”过程图解“治”过程归并排序代码public void sort(int[] arr) { mer原创 2022-02-14 20:13:01 · 364 阅读 · 0 评论 -
排序算法之插入排序
插入排序什么是插入排序插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。时间复杂度:O(n^2)空间复杂度:O(1)稳定性:稳定插入排序代码public void sort(int arr[]) { for (int i = 1; i < arr.length; i++) { int e = arr[i];原创 2022-02-13 22:28:12 · 255 阅读 · 0 评论 -
排序算法之冒泡排序
冒泡排序什么是冒泡排序冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。时间复杂度:O(n^2)空间复杂度:O(1)稳定性:稳定冒泡算法代码public void sort(int arr[]) { for (int i = 0; i < arr.length - 1原创 2022-02-13 22:17:11 · 287 阅读 · 0 评论 -
排序算法之选择排序
选择排序什么是选择排序选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。时间复杂度:O(n^2)空间复杂度:O(1)稳定性:不稳定选择排序代码public void sort(int[] arr) { for (int i = 0; i < arr.length -原创 2022-02-13 22:06:10 · 82 阅读 · 0 评论 -
Java数据结构与算法笔记_day07(排序算法)
排序算法什么是排序算法?就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。选择排序、冒泡排序、插入排序、希尔排序、归并排序、堆排序、快速排序非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。计数排序、桶排序、基数排序排序的相关概念稳定:如果a原本在b前原创 2022-01-23 18:10:41 · 614 阅读 · 0 评论