java技术栈 1 java基础: 1.1 算法 1.1 排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序 1.2 二叉查找树、红黑树、B树、B+树、LSM树(分别有对应的应用,数据库、HBase) 1.3 BitSet解决数据重复和是否存在等问题 1. ...
分类:
编程语言 时间:
2017-08-12 14:02:40
阅读次数:
219
计数排序 原理 计数排序的基本思想是:对于每一个输入元素x。确定小于x的元素个数。根据这些信息,就能准确的将每一个数字放在正确的位置上。 在排序的过程中,除了输入数组A[n]之外。还须要一个记录结果的数组B[n]和一个记录小于x数的个数数组C[num_max]。A与B的数组等长,而C数组的长度则为n ...
分类:
编程语言 时间:
2017-08-10 10:10:44
阅读次数:
153
突然想自己写个桶排序,然后做课后题又发现了计数排序,觉得挺有趣的。不过书上都没有给代码,所以就自己写了一下代码,超级烂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
1 #region table去重复求和 2 var query = dt.Rows.Cast() 3 .OrderByDescending(n => n["OPERATION_TIME"]) 4 .GroupBy( 5 ... ...
分类:
编程语言 时间:
2017-08-08 10:53:15
阅读次数:
259
这是一个有趣的排序方法 我不知道该叫它什么。。桶排序??!!的确有桶排序的部分吧。 姑且叫它——桶升(升级版的桶排序) 这个算法我是从一个标程上看到的 第一次看的时候看不懂。 第二次看才发现它的奇妙 普通的桶排序满足不了a[i]>=1e8以上的情况。 可是这个“桶升”却能满足a[i]^(1/2)<1 ...
分类:
编程语言 时间:
2017-08-05 16:47:07
阅读次数:
152
排行榜是游戏中一个常见的系统,不过要做好并不容易,比如要对全服几W名玩家做实时排行的话,性能需要花心思去优化的问题。 这里设计了一个基于桶排序的面向全服玩家的通用排行榜 一个简单的思路就是按排序的KEY的分值进行分桶,但是一个弊端就是随着游戏生命推进,会出现一个分数段类的玩家大规模集中,导致分桶失去 ...
分类:
编程语言 时间:
2017-08-05 09:58:35
阅读次数:
151
代码: 这个算法更简单了,记住三个字:打擂台。 时间复杂度O(n ** 2) 空间复杂度O(1) 不稳定算法。 记住四个稳定排序算法:直接插入排序、冒泡排序、二路归并排序、基数排序。剩下都是不稳定的。 ...
分类:
编程语言 时间:
2017-08-04 18:18:18
阅读次数:
124
代码: 怎么少了一种?先写这些,以后再修改一下。 ...
分类:
编程语言 时间:
2017-08-04 18:17:45
阅读次数:
122