码迷,mamicode.com
首页 >  
搜索关键字:线性时间排序 计数排序 基数排序 桶排序    ( 1173个结果
用C/C++码经典算法
1 排序 桶排序 时间复杂度 O(N+M), N为待排序数的个数,M为桶的个数(即数的范围) 空间复杂度 O(M),M为桶的个数(即数的范围) 优点 · 快速 缺点: · 空间消耗大 · 被排序的数组元素只能是整数 · 这还不是一个真正意义上的桶排序,因为只能对数进行排序,而不涉及数对应的项 代码 ...
分类:编程语言   时间:2019-07-26 09:19:48    阅读次数:100
啊,算法呀!为什么你让我如此着“谜”
我们在面对算法学习的时候,看到那些一串串的数字、一串串代码的时候感觉非常的头疼。 最快最简单的排序——桶排序 在我们生活的这个世界,不难发现,一切都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东东都需要排序 ...
分类:编程语言   时间:2019-07-25 17:34:16    阅读次数:89
sort(桶排序+hash)
题目链接:https://cn.vjudge.net/problem/HDU-1425 注意是多组输入 代码: ...
分类:编程语言   时间:2019-07-20 21:08:08    阅读次数:104
一文弄懂计数排序算法!
这是小川的第 385 次更新,第 413 篇原创 01 计数排序算法概念 计数排序不是一个比较排序算法,该算法于1954年由 Harold H. Seward提出,通过计数将时间复杂度降到了 。 02 基础版算法步骤 第一步 :找出原数组中元素值最大的,记为 。 第二步 :创建一个新数组 ,其长度是 ...
分类:编程语言   时间:2019-07-17 09:36:25    阅读次数:109
用SAM实现后缀排序
因为本人几乎不会后缀数组,所以遇到这种SA的模板题也要拿SAM解决。 还是有一点思维难度的。 首先按照国际惯例,建反串的SAM。 然后对于这个反串,我们考虑两个前缀哪一个字典序小:因为是串是反的,所以要从后往前比较,那么第一个不相同的字符一定是两个前缀在后缀树上的节点的lca的前一位。记其中一个节点 ...
分类:编程语言   时间:2019-07-14 15:14:08    阅读次数:179
排序算法总结
排序算法 大部分算法都是从 无序区 扩展到 有序区 一、算法概述 1. 冒泡排序 O(N2),空间O(1) 每一轮从无序区冒泡出一个最大的数到有序区 2. 选择排序O(N2),空间O(1) 每一轮从无序区选择一个最大的数到有序区 3. 堆排序O(NlogN),空间O(1) 其实就是 选择排序的改进 ...
分类:编程语言   时间:2019-07-14 12:56:49    阅读次数:124
排序算法(快速排序)
关于排序算法,常见的大致有:冒泡排序、插入排序、选择排序、快速排序、归并排序、桶排序、计数排序等。每一种排序算法都有它们各自的优劣和适用场景。一般可以从这么几个角度来衡量排序算法: 1.最好时间复杂度、最坏时间复杂度、平均时间复杂度 2.是否是原地排序算法:原地排序算法,指空间复杂度为O(1) 3. ...
分类:编程语言   时间:2019-07-09 09:40:28    阅读次数:139
基数排序的优雅实现
明天补充 ...
分类:编程语言   时间:2019-07-09 00:19:19    阅读次数:109
算法稳定性
常见排序算法的稳定性 编辑 常见排序算法的稳定性 堆排序、快速排序、希尔排序、直接选择排序是不稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个 ...
分类:编程语言   时间:2019-06-30 23:10:29    阅读次数:222
排序算法之计数排序
一、原理 计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。 步骤: (1)创建关键值(计数列表) (2)遍历序列中的每一个元素,相应的计数器增加1 (3)重新将元素存储列表中 二、实现 假如现在有一个列表 ...
分类:编程语言   时间:2019-06-30 17:27:03    阅读次数:155
1173条   上一页 1 ... 18 19 20 21 22 ... 118 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!