基础算法知识
文章平均质量分 62
honor571
这个作者很懒,什么都没留下…
展开
-
什么是倒排索引?
索引 是用来更快的找出需要的信息。我们一般理解的索引都是正向索引,如数据库表文档id字段1字段2字段4字段4文档1单词e单词b单词e单词g文档2单词c单词c单词d单词a文档3单词a单词a单词c单词f在这里 文档id是主键如果我们想查找 '单词a原创 2012-03-05 21:54:25 · 1162 阅读 · 0 评论 -
高级排序算法--希尔排序
希尔排序希尔排序是插入排序的优化版。回忆一下插入排序,假如插入排序执行到一半的时候,这时数组左边是已经排好序的,而右边是还没有排序的。如果有一个很小的数据项恰好在右边的位置,这时所有左边已排好序的数组都得往右移,腾出空位让这个小的数据项插入。希尔排序是在插入算法的基础上再次降低交换的次数,以此获取性能的提升。public static void sort(int[] lis原创 2012-03-25 20:58:33 · 720 阅读 · 0 评论 -
KMP算法学习
先贴上一点代码,等脑子清醒点再好好理解// 求next数组 public static int[] getNext(String pattern) { int len = pattern.length(); char[] pattern_ary = pattern.toCharArray(); int i = 0; int[] next = new in原创 2012-03-06 23:31:59 · 323 阅读 · 0 评论 -
基础排序算法
冒泡排序最简单,效率最差,实际工作中不推荐使用private static void sort(int[] list) { int swap_count = 0; for(int i = 0, len = list.length; i < len; i++){ for(int j = i + 1; j < len; j++){ if(list[i] > list[j原创 2012-03-15 21:21:35 · 506 阅读 · 1 评论 -
高级排序算法--快速排序
算法思想 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有原创 2012-04-04 13:41:48 · 415 阅读 · 0 评论