摘要: Rabin-Karp 字符串搜索算法 是一个相对快速的字符串搜索算法,它所需要的平均搜索时间是O(n).这个算法是建立在使用散列来比较字符串的基础上的。Rabin-Karp算法在字符串匹配中其实也不算是很常用,但它的实用性还是不错的,除非你的运气特别差,最坏情况下可能会需要O((n-m)*m)的运行时间(关于n,m的意义请看上篇)。平均情况下,还是比较好的。朴素的字符串匹配算法为什么慢?因为它太健... 阅读全文
posted @ 2010-04-15 16:25 貔貅 阅读(1003) 评论(0) 推荐(0) 编辑
摘要: 散列函数(或散列算法,英语:Hash Function)是一种从任何一种数据中创建小的数字“指纹”的方法。该函数将数据打乱混合,重新创建一个叫做散列值的指纹。散列值通常用来代表一个短的随机字母和数字组成的字符串。好的散列函数在输入域中很少出现散列冲突。在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。散列函数的性质 所有散列函数都有如下一个基本特性:如果... 阅读全文
posted @ 2010-04-15 16:15 貔貅 阅读(1328) 评论(0) 推荐(0) 编辑