算法
f7anty
这个作者很懒,什么都没留下…
展开
-
冒泡排序的三种实现
冒泡排序是非常容易理解和实现,,以从小到大排序举例: 设数组长度为N。 1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。 2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。 3.N=N-1,如果N不为0就重复前面二步,否则排序完成。 按照定义很容易写出代码: [cpp]转载 2015-07-30 20:00:46 · 455 阅读 · 0 评论 -
快速排序 快速搞定
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速转载 2015-07-31 11:52:55 · 357 阅读 · 0 评论 -
热词统计发现算法3则
转载于http://qing.blog.sina.com.cn/2090594487/7c9bf0b733001jsa.html 以搜索为例,点击类似。所有变换和简化须不影响排序结果。 排位变化 最初的算法参考电影排行榜,统计昨日Top词、前日Top词,然后计算每个词w两天的排位差,排位变化最大的就是最热的词。 排序取出取出排位前 N 的词语集合。 W转载 2015-10-17 09:21:43 · 1242 阅读 · 0 评论 -
【ETL】拉链表算法
拉链表算法 所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。 算法:(拉链表算法其实就是以前遇到过的缓慢变化维的其中一种情况,用存储过程实现的话稍微麻烦点。) 1采集当日全量数据到ND(NewDay)表; 2可从历史表中取出昨日全量数据存储到OD(OldDay)表; 3(ND-OD)就是当日新增和变化的数据,也就是当天的增量,用W_I表示; 4(O转载 2015-10-05 18:07:10 · 1403 阅读 · 0 评论 -
使用RateLimiter完成简单的大流量限流,抢购秒杀限流
转载自https://www.cnblogs.com/yeyinfu/p/7316972.html RateLimiter是guava提供的基于令牌桶算法的实现类,可以非常简单的完成限流特技,并且根据系统的实际情况来调整生成token的速率。 通常可应用于抢购限流防止冲垮系统;限制某接口、服务单位时间内的访问量,譬如一些第三方服务会对用户访问量进行限制;限制网速,单位时间内只允许上传下载多少字...转载 2018-09-18 11:46:19 · 539 阅读 · 0 评论