基数排序属于稳定排序,时间复杂度为O(logRB),桶排序为基数排序的扩展 思路:将整位数切割成不同的数字,然后按每个位数分别比较 过程:设置10个桶子分别从0到9,将每个元素的个位数取出,与桶的数字相对于就放入,然后按照桶顺序依次取出数据,放入原来的数组,接着按照这个步骤取十位数,没有的补0,后面 ...
分类:
编程语言 时间:
2019-12-29 13:16:46
阅读次数:
72
题意 从数组中找出两个不同的整数,使得他们的和恰好为要求得到的数。输出他们的下标。 思路 想法1:最直观的思路——二重循环遍历,时间复杂度$O(n^2)$。太暴力了,考虑优化。 想法2:如果序列是有序的话,可固定 然后从数组中二分查找 。时间复杂度$O(n logn)$。 想法3:利用桶排序的思想, ...
分类:
其他好文 时间:
2019-12-26 21:18:46
阅读次数:
67
希尔排序 希尔排序是一个叫希尔的数学家提出的一种优化版本的插入排序。 首先取一个整数d1=n//2,将元素分为d1个组,每组相邻元素之间的距离为d1,在各组内进行直接插入排序。 取第二个整数d2=d1//2,重复上述分组排序过程,直到di=1,即所有元素在同一组内进行直接插入排序。 希尔排序是使整体 ...
分类:
编程语言 时间:
2019-12-25 15:53:09
阅读次数:
72
参考资源:https://blog.csdn.net/weixin_41190227/article/details/86600821 参考资源:https://www.cnblogs.com/Glory-D/p/7884525.html 总的来说,排序算法共有十大类,即冒泡排序、选择排序、插入排序 ...
分类:
编程语言 时间:
2019-12-23 22:07:31
阅读次数:
118
基数排序 "原理" 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度 ...
分类:
编程语言 时间:
2019-12-19 22:56:52
阅读次数:
114
文章目录查找搜索引擎线性查找(顺序查找)二分查找排序桶排序(计数排序)选择排序(交换排序上改进)冒泡排序快速排序(Quick Sort)插入一个数据到有序数列中 查找 搜索引擎 matching & ranking 索引技术 AltaVista:foward index 文档到关键词 / inver ...
分类:
编程语言 时间:
2019-12-17 20:29:26
阅读次数:
136
P1598 垂直柱状图 题目描述写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过100个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。 输入格式四行字符,由大写字母组成,每行不超过100个字符 输出格式由若干行组成,前几行由空格和星号 ...
分类:
其他好文 时间:
2019-12-12 13:30:28
阅读次数:
100
1. 基数排序 算法核心思想 基数排序(radix sort)是一种只适用于数字或字母类型的排序方法,它检查数字或字母的每一位,将之分类,按照位数的特定顺序,来将元素排列。以数字为例,将所有元素按照个位数字分类,分类好后,将个位数字大小排列组合起来,再按照十位数字分类,再按照数字大小排列组合起来,一 ...
分类:
编程语言 时间:
2019-12-09 21:32:36
阅读次数:
116
原文:https://www.cnblogs.com/xiaohuiduan/p/11188304.html 十大排序算法 基本排序算法: 选择排序 插入排序 冒泡排序 高效排序算法: 梳排序 希尔排序 快速排序 堆排序 牺牲空间节约时间的高效排序: 归并排序 基数排序 基数排序 下面我将以我自己的 ...
分类:
编程语言 时间:
2019-12-03 23:49:03
阅读次数:
141
桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点: 在额外空间充足的情况下,尽量增大桶的数量 使用的映射函数能够将输入的 N 个数据均匀的分配到 K 个桶中 同时,对于桶中元素的排序,选择何种比较排序算法对于性能的影响... ...
分类:
编程语言 时间:
2019-12-02 23:47:02
阅读次数:
118