文章目录查找搜索引擎线性查找(顺序查找)二分查找排序桶排序(计数排序)选择排序(交换排序上改进)冒泡排序快速排序(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
桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点: 在额外空间充足的情况下,尽量增大桶的数量 使用的映射函数能够将输入的 N 个数据均匀的分配到 K 个桶中 同时,对于桶中元素的排序,选择何种比较排序算法对于性能的影响... ...
分类:
编程语言 时间:
2019-12-02 23:47:02
阅读次数:
118
基数排序 基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 1. 基数排序 vs 计数排序 vs 桶排序 基数排序有两种方法: 这三种排序算法都利用了桶的... ...
分类:
编程语言 时间:
2019-12-02 23:13:05
阅读次数:
77
希尔排序 # 希尔排序 # 希尔排序是对插入排序的升级改造 # 它的大致流程是 # 1、将长度为n的序列 分为d = n//2组 # 2、使每一组变的有序 # 3、将序列分为 d1 = d // 2 组 # 4、将每一组变的有序 # 5、直到最后 d 小于等于 0 def inster_sort_g ...
分类:
编程语言 时间:
2019-12-01 14:07:24
阅读次数:
89
1. 具体题目 给定一个字符串,请将字符串里的字符按照出现的频率降序排列。 示例 1: 输入: "tree" 输出: "eert" 解释: 'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。 2.思路分析 桶排序,思路同 lee ...
分类:
编程语言 时间:
2019-12-01 11:54:26
阅读次数:
92
数据的排序是在解决实际问题时经常用到的步骤,也是数据结构的考点之一,下面介绍10种经典的排序方法。 首先,排序方法可以大体分为插入排序、选择排序、交换排序、归并排序和桶排序四大类,其中,插入排序又分为直接插入排序、二分插入排序和希尔排序,选择排序分为直接选择排序和堆排序,交换排序分为冒泡排序和快速排 ...
分类:
编程语言 时间:
2019-11-23 21:55:58
阅读次数:
69
十大经典排序算法(python实现)(原创) 使用场景: 1,空间复杂度 越低越好、n值较大: 堆排序 O(nlog2n) O(1) 2,无空间复杂度要求、n值较大: 桶排序 O(n+k) O(n+k) 经典排序算法图解: 经典排序算法的复杂度: 大类一(比较排序法): 1、冒泡排序(Bubble ...
分类:
编程语言 时间:
2019-11-20 21:35:50
阅读次数:
65
一、桶排序算法的引入。 之前我们已经说过了计数排序的算法。 这个时候我们如果有这样的一个待排序数据序列: int x[14]={-10, 2, 3, 7, 20, 23, 25, 40, 41, 43,60, 80, 90, 100}; 我们如果按照计数排序的算法,那么待排序数据的范围是:-10 到 ...
分类:
编程语言 时间:
2019-11-19 00:54:33
阅读次数:
72
```c /* Author: Zoro Date: 2019/11/10 Function: Valid Anagram Title: leetcode 242 anagram.c think: 桶排序思想 */ #include #include #include bool isAnagram(... ...
分类:
其他好文 时间:
2019-11-11 12:39:55
阅读次数:
99