码迷,mamicode.com
首页 >  
搜索关键字:线性时间排序 计数排序 基数排序 桶排序    ( 1173个结果
线性排序算法
桶排序: 1. 原理: 根据数据范围,分成若干个数据段的桶,通过遍历讲数据放到对应的桶中。每个桶里都进行快排或归并。2. 时间复杂度: 最好o(n), 最坏o(nlogn), 平均o(n),一般桶分的越细越多复杂度就会最好。3. 内存消耗: o(n)4. 稳定性: 取决于每个桶的排序方式,快排就不稳 ...
分类:编程语言   时间:2018-11-17 11:01:56    阅读次数:142
Leetcode 442 划水记录05
题目:**给定一个整数数组a,其中1≤a[i]≤n(n为数组长度),其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入:[4,3,2,7,8,2,3,1]输出:[2,3]**看题目条件给的数据大小我就想用计数排序,但是怎么不申请额外空间呢?其实完全可以利用每个元素的高位数据保存信息.但是要确定要保存的信息的范围
分类:其他好文   时间:2018-11-16 21:01:30    阅读次数:216
java数据结构和算法
目录 (1)数据结构与算法概念解析 (2)数据结构之数组 (3)数据结构之栈 (4)数据结构之队列 (5)数据结构之链表 (6)数据结构之二叉树 (7)数据结构之霍夫曼树 (8)数据结构之红黑树(一)——基础分析 (9)数据结构之红黑树(二)——插入操作 (10)数据结构之红黑树(三)——删除操作  ...
分类:编程语言   时间:2018-11-15 21:19:09    阅读次数:166
基数排序
以下三种排序文章内容转自58沈剑原创文章,未做任何改动。 时间复杂度为O(n)的排序,常见的有三种: 基数排序(Radix Sort),适用范围:整数排序 计数排序(Counting Sort),适用范围:待排序的元素在某一个范围[MIN, MAX]之间。 桶排序(Bucket Sort),适用范围 ...
分类:编程语言   时间:2018-11-15 10:24:03    阅读次数:166
计数排序、基数排序及桶排序
计数排序思想: 对每一个元素,确定小于其的元素个数,利用这一信息即可将其放入正确的位置。 计数排序时间复杂度:Θ(n) 计数排序示例: 基数排序思想: 对欲排序数组按最低有效位(即数字的最后一位)进行排序,之后,用同样的方法对次低有效位进行排序,重复该过程直至所有位数都已排好序。 基数排序时间复杂度 ...
分类:编程语言   时间:2018-10-30 22:50:38    阅读次数:233
浅谈排序算法
桶排序(BucketSort) 排序过程: 假如我们现在要排序的一组数为:5,3,5,2,8. 这组数都在0 10的范围之内。这个时候,我们可以拿11个桶,标号为0,1,2,3......10。也就是定义长度为11的数组。现在我们来遍历这些数字,第一个数字为5,那么给第五号桶中插一个小红旗,第二个数 ...
分类:编程语言   时间:2018-10-22 20:22:26    阅读次数:167
排序算法下——桶排序、计数排序和基数排序
桶排序、计数排序和基数排序这三种算法的时间复杂度都为 $O(n)$,因此,它们也被叫作线性排序(Linear Sort)。之所以能做到线性,是因为这三个算法是 非基于比较 的排序算法,都不涉及元素之间的比较操作。 1. 桶排序(Bucket Sort)? 1.1. 桶排序原理 桶排序 ,顾名思义,要 ...
分类:编程语言   时间:2018-10-20 11:51:39    阅读次数:171
个人理解排序算法的重要性
这几天再看排序,有提到排序稳定性的问题。排序分为稳定(冒泡排序、插入排序、归并排序、基数排序)和不稳定(选择排序、快速排序、希尔排序、堆排序)。 看见过一个面试题问过排序算法稳定性的应用,当时不怎么理解,现在整理出来一些思绪。 给出一组数据(比如学生信息),每个数据都有不同的属性(成绩A,成绩B,等 ...
分类:编程语言   时间:2018-10-15 23:26:11    阅读次数:370
164. Maximum Gap
一、题目 1、审题 2、分析 给出一个无序的整形数组,求其有序时相邻元素的最大差值为多大。 二、解答 1、思路: 方法一、 桶排序。 ①、首先找出数组中最大元素、最小元素: max 、min; ②、去除 max、min 时数组剩下 N - 2 个元素,取 N - 1 个桶进行存放,则一个桶内存放元素 ...
分类:其他好文   时间:2018-10-15 14:47:28    阅读次数:180
9、【经典算法】基数排序
一、基数排序介绍 基数排序(Radix Sort)是桶排序的扩展,它的基本思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较。具体做法是:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成 ...
分类:编程语言   时间:2018-10-15 12:22:19    阅读次数:206
1173条   上一页 1 ... 26 27 28 29 30 ... 118 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!