![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
jackwang_dev
这个作者很懒,什么都没留下…
展开
-
排序算法之 计数排序 桶排序 基数排序
1.计数排序:Counting Sort计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出,它的优势在于在对于较小范围内的整数排序。它的复杂度为Ο(n+k)(其中k是待排序数的最大值),快于任何比较排序算法,缺点就是非常消耗空间。很明显,如果而且当O(k)>O(n*log(n))的时候其效率反而不如基于比较的排序,比如堆排序和归并排序和快速排...转载 2018-09-11 16:15:04 · 962 阅读 · 0 评论 -
排序算法之 归并排序
这一篇要总结的是归并排序,这也是七大排序的最后一种排序算法。首先来看一下归并排序(Merge Sort) 的基本原理。它的原理是假设初始序列有n个元素,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个长度为2或1的有序子序列;再两两归并,…… ,如此重复,直至得到一个长度为n的有序序列为止,这种排序方法就称为归并排序。1、归并排序的示意图下面用示意图来说明...转载 2018-09-11 15:05:42 · 157 阅读 · 0 评论 -
排序算法之 直接插入排序和希尔排序
这一篇要总结的是插入排序中的直接插入排序和希尔排序,我们主要从以下几点进行总结。1、直接插入排序及算法实现2、希尔排序及算法实现 1、直接插入排序及算法实现什么是直接插入排序呢?直接插入排序的基本思想是:每次从无序序列中取出第一个元素插入到已经排好序的有序序列中,从而得到一个新的,数量加1的有序序列。1-1、示意图下面是直接插入排序的图解说明。 1-2、代码...转载 2018-09-11 11:21:49 · 441 阅读 · 0 评论 -
排序算法之 直接选择排序和堆排序
这一篇要总结的是选择排序,选择排序分为直接选择排序和堆排序,主要从以下几点进行总结。1、直接选择排序及算法实现2、堆排序及算法实现 1、直接选择排序及算法实现直接选择排序(Straight Select Sort) 是一种简单的排序方法,它的基本思想是:通过length-1 趟元素之间的比较,从length-i+1个元素中选出最小的元素,并和第i个元素交换位置。直接选择排序的最...转载 2018-09-11 11:03:59 · 458 阅读 · 0 评论 -
排序算法之 冒泡排序和快速排序
1、冒泡排序及算法实现什么是冒泡排序呢?冒泡排序是一种简单的排序方法,它的基本思想是:通过相邻两个元素之间的比较和交换,使较大的元素逐渐从前面移向后面(升序),就像水底下的气泡一样逐渐向上冒泡,所以被称为“冒泡”排序。冒泡排序的最坏时间复杂度为O(n2),平均时间复杂度为O(n2)下面以一张图来展示冒泡排序的全过程,其中方括号内为下一轮要排序的元素,方括号后面的第一个元素为本轮排序浮出来的...转载 2018-09-11 10:27:10 · 2848 阅读 · 0 评论 -
算法的时间复杂度、空间复杂度、稳定性
1、算法的概念:算法 (Algorithm),是对特定问题求解步骤的一种描述。解决一个问题往往有不止一种方法,算法也是如此。那么解决特定问题的多个算法之间如何衡量它们的优劣呢?有如下的指标:2、衡量算法的指标:(1)时间复杂度:执行这个算法需要消耗多少时间。(2)空间复杂度:这个算法需要占用多少内存空间。 同一个问题可以用不同的算法解决,而一个算法的优劣将影响到算法乃至程...转载 2018-09-10 16:16:42 · 2753 阅读 · 0 评论 -
LRU Cache算法实现
题目链接:https://leetcode.com/problems/lru-cache/Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and set.get(key) - Get the va...转载 2018-09-11 14:57:11 · 188 阅读 · 0 评论