
算法与数据结构
grunt1223
这个作者很懒,什么都没留下…
展开
-
存取之美 —— HashMap原理、源码、实践
HashMap是一种十分常用的数据结构,作为一个应用开发人员,对其原理、实现的加深理解有助于更高效地进行数据存取。本文所用的jdk版本为1.5。[size=large][b]使用HashMap[/b][/size]《Effective JAVA》中认为,99%的情况下,当你覆盖了equals方法后,请务必覆盖hashCode方法。默认情况下,这两者会采用Object的“原生”实现方...2009-12-09 09:46:54 · 263 阅读 · 0 评论 -
小谈素数
素数,又称质数、Prime Number,就是只能被1和它自己整除的正整数。素数本身的特殊性质决定了其应用的广泛性,比如作为哈希函数的基数或是加密函数共钥的参数。因此,素数的问题也是平时讨论中比较多的。一个比较常见的问题就是,如何判断一个数(假设为N)是否为素数?本文对常用的几种进行比较:[quote]第一种比较朴素的方法是采用0到N-1的所有整数去尝试整除N,如果其间有任意的数能...2011-01-06 23:02:54 · 214 阅读 · 0 评论 -
也谈素数判断(修订版)
素数,又称质数、Prime Number,就是只能被1和它自己整除的正整数。素数本身的特殊性质决定了其应用的广泛性,比如作为哈希函数的基数或是加密函数共钥的参数。因此,素数的问题也是平时讨论中比较多的。一个比较常见的问题就是,如何判断一个数(假设为N)是否为素数?本文对常用的几种进行比较:[list][*]采用0到N-1的所有整数去尝试整除N,如果其间有任意的数能被N整除,说明N是合数...2011-01-07 10:19:46 · 195 阅读 · 0 评论 -
Java PriorityQueue with fixed size
这个问题来源于StackOverFlow:[url]http://stackoverflow.com/questions/1846225/java-priorityqueue-with-fixed-size[/url]为方便各位阅读,我把楼主的问题贴出来:[quote]Hi folks,I am calculating a large number of possi...2011-02-18 11:08:21 · 158 阅读 · 0 评论 -
K Nearest Neighbor问题的解决——KD-TREE Implementation
[b]命题一:[/b]已知的1000个整数的数组,给定一个整数,要求查证是否在数组中出现?[b]命题二:[/b]已知1000个整数的数组,给定一个整数,要求查找数组中与之最接近的数字?[b]命题三:[/b]已知1000个Point(包含X与Y坐标)结构的数组,给定一个Point,要求查找数组中与之最接近(比如:欧氏距离最短)的点。[b]命题四:[/b]已知1...2011-02-24 12:33:58 · 133 阅读 · 0 评论 -
Locality Sensitive Hash
局部敏感哈希——Locality Sensitive Hash是一种常见的用于处理高维向量的索引办法。与其它基于Tree的数据结构,诸如KD-Tree、SR-Tree相比,它较好地克服了Curse of Dimension,能够将KNN的时间复杂度缩减到sub-linear。LSH多被用于文本、多媒体(图像、音频)的相似性判断。请看下图:[img]http://dl.iteye.com/u...2011-03-01 22:56:33 · 158 阅读 · 0 评论 -
LinkedList陷阱
前几天看到一篇文章,里面特意提到了,读取频繁使用ArrayList,增删频繁使用Linkedlist;并且在一个范例中,特意将ArrayList转化为LinkedList以提高末尾插入的效率。而事实上,问题并非如此简单。ArrayList与LinkedList的异同是我面试较常问的问题。大部分人可能都知道前者基于数组而后者基于链表(能答出双向链表自然更好),并且前者适合读取、后者适合插入删...2011-03-06 20:44:32 · 138 阅读 · 0 评论 -
我的数学之美系列一 真理有时可能变得黯淡 —— RANSAC算法与模型纠错
当程序与数学结合时,才是最美的,记得当初看到Google黑板报《数学之美》时,就有这种感觉。我的技术、文笔或许不如他们,但我只想展现我自己的数学之美 :lol: 给定两个点p1与p2的坐标,确定这两点所构成的直线,要求对于输入的任意点p3,都可以判断它是否在该直线上。初中解析几何知识告诉我们,判断一个点在直线上,只需其与直线上任意两点点斜率都相同即可。实际操作当中,往往会先根据已知的两点算...2011-03-14 13:00:29 · 131 阅读 · 0 评论 -
我的数学之美系列二 —— simhash与重复信息识别
在工作学习中,我往往感叹数学奇迹般的解决一些貌似不可能完成的任务,并且十分希望将这种喜悦分享给大家,就好比说:“老婆,出来看上帝”……随着信息爆炸时代的来临,互联网上充斥着着大量的近重复信息,有效地识别它们是一个很有意义的课题。例如,对于搜索引擎的爬虫系统来说,收录重复的网页是毫无意义的,只会造成存储和计算资源的浪费;同时,展示重复的信息对于用户来说也并不是最好的体验。造成网页近重复的可能...2011-03-16 18:09:14 · 433 阅读 · 0 评论