![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
文章平均质量分 89
goodluckwj
努力就会有回报
展开
-
数组中的逆序对 [Leetcode 剑指offer 归并排序]
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000题解: 最简单的方法是两次for循环,依次判断即可,不过这样的时间复杂度为O(N^2),使用这种做法也是比较low的。 ...原创 2020-08-14 13:14:08 · 250 阅读 · 0 评论 -
图解排序算法之快速排序——三数取中法
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列作者:dreamcatcher-cx出处:<http://www.cnblogs.com/chengxiao...转载 2019-12-31 11:18:40 · 2291 阅读 · 2 评论 -
排序之快速排序 java实现
高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比...转载 2018-08-22 23:46:49 · 212 阅读 · 0 评论 -
排序之堆排序
作者:dreamcatcher-cx出处:图解排序算法(三)之堆排序 - dreamcatcher-cx原帖在上,作者写的不错,就来转载一下。堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时.转载 2018-08-22 22:10:05 · 162 阅读 · 0 评论 -
排序之归并排序 【java实现】
作者: dreamcatcher-cx出处: <http://www.cnblogs.com/chengxiao/>转载一下基本思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各...转载 2018-08-26 22:04:36 · 227 阅读 · 0 评论 -
数组中的第K个最大元素 【LeetCode 排序】
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。题解:可以直接Array...原创 2018-09-20 19:54:04 · 2883 阅读 · 0 评论