>>> for i in range(len(a)-1):... for j in range(len(a)-i-1):... if a[j]>a[j+1]:... a[j],a[j+1]=a[j+1],a[j]... 冒泡排序的时间复杂度是O(N^2) 冒泡排序的思想: 每次比较两个相邻的元素, ...
分类:
编程语言 时间:
2017-08-30 17:12:13
阅读次数:
131
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 我一开始自己的思路是利用桶排序法,把每次出现的数标记并增加1,最后遍历一些数组 ...
分类:
编程语言 时间:
2017-08-16 17:15:25
阅读次数:
168
排序:对一序列对象依据某个keyword进行排序; 稳定:假设a原本在b前面。而a=b,排序之后a仍然在b的前面; 比如:插入排序、冒泡排序、归并排序、计数排序、基数排序、桶排序 不稳定:假设a原本在b的前面。而a=b。排序之后a可能会出如今b的后面。 比如:希尔排序、高速排序、选择排序、堆排序 内 ...
分类:
编程语言 时间:
2017-08-12 18:59:37
阅读次数:
130
突然想自己写个桶排序,然后做课后题又发现了计数排序,觉得挺有趣的。不过书上都没有给代码,所以就自己写了一下代码,超级烂0 0下面先简单介绍下这两种排序 桶排序 桶排序,就是根据散列的思想进行数据的排序。假设有M个桶,采用最简单的hash(key)=key,这样无需比较,就可以把数存入相应的桶中。针对 ...
分类:
编程语言 时间:
2017-08-09 10:03:46
阅读次数:
171
1 #include 2 3 int main(void){ 4 int book[1001], i, j, t,n; 5 for (i = 0; i = 0; i--) 13 for (j = 1; j <= book[i]; j++){ 14 printf("%d ", i); 15 } 16 ... ...
分类:
编程语言 时间:
2017-08-09 00:15:17
阅读次数:
137
这是一个有趣的排序方法 我不知道该叫它什么。。桶排序??!!的确有桶排序的部分吧。 姑且叫它——桶升(升级版的桶排序) 这个算法我是从一个标程上看到的 第一次看的时候看不懂。 第二次看才发现它的奇妙 普通的桶排序满足不了a[i]>=1e8以上的情况。 可是这个“桶升”却能满足a[i]^(1/2)<1 ...
分类:
编程语言 时间:
2017-08-05 16:47:07
阅读次数:
152
排行榜是游戏中一个常见的系统,不过要做好并不容易,比如要对全服几W名玩家做实时排行的话,性能需要花心思去优化的问题。 这里设计了一个基于桶排序的面向全服玩家的通用排行榜 一个简单的思路就是按排序的KEY的分值进行分桶,但是一个弊端就是随着游戏生命推进,会出现一个分数段类的玩家大规模集中,导致分桶失去 ...
分类:
编程语言 时间:
2017-08-05 09:58:35
阅读次数:
151
一、桶排序 这是一个非常快的排序算法。桶排序从1956年就开始被使用,该算法的基本思想是由 E.J.Issac 和R.C.Singleton 提出来的。之前我说过,其实这并不是真正的桶排序算法,真正的 桶排序算法要比这个更加复杂。 示例:数组 {5, 3, 5, 2, 8} 进行排序(已知最大数值不 ...
分类:
编程语言 时间:
2017-08-02 13:04:45
阅读次数:
197
今天3题都很丧。 我只会T1,所以我很弱 T1要有桶排序,不然会T,被卡常 做法就是先排序,然后前缀和乱搞 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define ll long long # ...
分类:
其他好文 时间:
2017-07-30 23:35:24
阅读次数:
126