
算法
jiarus
这个作者很懒,什么都没留下…
展开
-
简单的hash算法
/** * 散列 * 将字符串中字符的ASCII码值加起来 * 但是这个算法存在问题 * 如何均匀得分布4个字符长度的字符串在2000的table中, * 一个ASCII字符的值最多是127,因此散列函数只能在0~127*4中分布 * 思路:可以分段存放,0~500,501~1000,1001~1500,1501~2000 *原创 2018-01-08 14:46:08 · 1725 阅读 · 0 评论 -
快排
自己手写了一遍,按自己的理解添加了注解 /** * User: fever * Date: 18-1-9 * Time: 下午1:55 */ public class MyQuickSort { private int arr[] = {112, 2, 7, 9, 20, 3, 48, 6, 57, 88, 60, 42, 83, 73, 85}; /**原创 2018-01-09 16:37:09 · 203 阅读 · 0 评论 -
海量数据找topK
去百度面试问了道题: 海量数据找N个最小的,算法实现,时间复杂度? 方法一:(分治) 分成M份,前提每份都是可以读到内存处理的 把读入内存,使用快排分别找到前N个数 最后相当于有M*N个数 如果M*N不能读入内存那么继续分治处理 M*N可以读入内存那么就可以使用快排处理了 方法二:(去重) 使用hash去重,排除重复数据,然后再分治处理原创 2018-01-09 17:11:37 · 359 阅读 · 0 评论