
算法
文章平均质量分 81
fengqiaojiangshui
这个作者很懒,什么都没留下…
展开
-
Trie树详解及其应用
一、知识简介 最近在看字符串算法了,其中字典树、AC自动机和后缀树的应用是最广泛的了,下面将会重点介绍下这几个算法的应用。 字典树(Trie)可以保存一些字符串->值的对应关系。基本上,它跟Java的HashMap功能相同,都是key-value映射,只不过Trie的key只能是字符串。 Trie 的强大之处就在于它的时间复杂度。它的插入和查询时间复杂度都为转载 2015-05-05 22:05:29 · 381 阅读 · 0 评论 -
位图法浅析
1、原理位图是通过将数组下标与应用中的一些值关联映射,数组中该下标所指定的位置上的元素可以用来标识应用中值的情况(是否存在或者数目 或者计数等),位图数组中每个元素在内存中占用1位,所以可以节省存储空间。位图是一种非常简洁快速的数据结构,它能同时使存储空间和速度最优化。如可用一个10位长的字符串来表示一个所有元素都小于10的简单的非负整数集合,例如,可以用如下字符串表示集合{1,2,4,5原创 2015-04-14 21:34:40 · 6698 阅读 · 0 评论 -
位图法
一、定义位图法就是bitmap的缩写。所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。在STL中有一个bitset容器,引用bitset介绍:A bitset is a special container class that is designed to store bits (elements with原创 2015-04-14 21:01:55 · 370 阅读 · 0 评论 -
位图法应用
位图法是《编程珠玑》第一章中出现的磁盘排序算法。 题目:一个最多包含n个正整数的文件,每个数都小于n,其中n=10^7,且所有正整数都不重复。求如何将这n个正整数升序排列。约束:最多有1MB的内存空间可用,有充足的磁盘存储空间。 分析:这个题目的最大亮点是只有1MB的内存空间,我们可以通过计算得出,内存只有1MB可以储存的int(4byte)有10^3*10原创 2015-04-14 20:29:18 · 377 阅读 · 0 评论