Java数据结构
文章平均质量分 59
奔跑的青年
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二分查找容易忽略的一个bug
对于二分查找算法,相信大家肯定不会陌生。算法从一个排好序的数组中找指定的元素,如果找到了返回该元素在数组中的索引,否则返回-1。下面给出了解法。[cpp] view plaincopyprint?//a为排好序的数组,n为数组的大小,x为指定元素 int binarySearch(int a[], int n, int x) {转载 2014-10-07 07:21:46 · 674 阅读 · 0 评论 -
二分查找算法分析精确解析
二分查找算法的思想很简单,《编程珠玑》中的描述: 在一个包含t的数组内,二分查找通过对范围的跟综来解决问题。开始时,范围就是整个数组。通过将范围中间的元素与t比较并丢弃一半范围,范围就被缩小。这个过程一直持续,直到在t被发现,或者那个能够包含t的范围已成为空。 Donald Knuth在他的《Sorting and Searching》一书中指出,尽管第一个二分查找算法早在1转载 2014-10-07 07:21:54 · 673 阅读 · 0 评论 -
字符串压缩的一些算法
应用中,经常需要将字符串压缩成一个整数,即字符串散列。比如下面这些问题:(摘自JULY的博客 http://blog.youkuaiyun.com/v_july_v/ )(1)搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。请找出最热门的10个检索串。(2)有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M。返回转载 2014-10-07 07:25:44 · 2357 阅读 · 0 评论 -
7种排序算法实现及分析
所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下: 输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。 输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。 排序的时间开销可用算法执行中的数据比较次数与数据移动次数来衡量。基本的排序算法有如下几种:交转载 2014-10-07 07:23:17 · 650 阅读 · 0 评论
分享