百度面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。
IP 是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的 IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即 为所求。
百度面试题2、搜...
分类:
编程语言 时间:
2015-04-29 19:53:53
阅读次数:
192
题意:给定一组Integers,找到其中两个数使其和等于给定的一个特定的数。返回两数的序号,保证有且仅有一组解。思路1:O(N^2) 的做法,循环两次进行遍历,直接粗暴,但是TLE。尝试了一下利用中的find函数,还是TLE,所以这个find应该是O(N)的。思路2:Hash_map,利用STL中的...
分类:
其他好文 时间:
2015-04-26 18:14:19
阅读次数:
109
这里主要讲几个重要的STL在C#中的应用:vector, map, hash_map, queue, set, stack, list.vector: 在C#中换成了listhttp://www.cnblogs.com/vhtt/archive/2009/12/05/1617835.html
分类:
编程语言 时间:
2015-04-24 22:30:16
阅读次数:
210
这里列几个常见问题,应该对你理解和使用hash_map比较有帮助。4.1 hash_map和map的区别在哪里?构造函数。hash_map需要hash函数,等于函数;map只需要比较函数(小于函数).存储结构。hash_map采用hash表存储,map一般采用红黑树(RB Tree)实现。因此其me...
分类:
其他好文 时间:
2015-04-23 12:27:02
阅读次数:
127
map VS hash_map
1)map存储的时候为排好序的,所以输出时候也是排序的。而hash_map不是的。
2)map具有稳定性,底层存储为树,这种算法差不多相当与list线性容器的折半查找的效率一样,都是O (log2N)。
hash_map使用hash表来排列配对,hash表是使用关键字来计算表位置。当这个表的大小合适,并且计算算法合适的情况下,hash表的算法复...
分类:
其他好文 时间:
2015-04-23 00:05:51
阅读次数:
152
1、从set/map谈到hashtable/hash_map/hash_set 稍后本文第二部分中将多次提到hash_map/hash_set,下面稍稍介绍下这些容器,以作为基础准备。一般来说,STL容器分两种: 序列式容器(vector/list/deque/stack/queue/heap), ...
分类:
编程语言 时间:
2015-04-19 14:35:15
阅读次数:
231
以下全部copy于:http://blog.chinaunix.net/uid-26548237-id-3800125.html在网上看到有关STL中hash_map的文章,以及一些其他关于STL map和hash_map的资料,总结笔记如下: 1、STL的map底层是用红黑树实现的,查找时间复杂....
分类:
其他好文 时间:
2015-04-06 21:34:03
阅读次数:
287
算法的思路是:从头到尾遍历文件,从文件中读取遍历到的每一个单词。把遍历到的单词放到hash_map中,并统计这个单词出现的次数。遍历hash_map,将遍历到的单词的出现次数放到优先级队列中。当优先级队列的元素个数超过k个时就把元素级别最低的那个元素从队列中取出,这样始终保持队列的元素是k个。遍历完...
分类:
其他好文 时间:
2015-04-03 13:05:36
阅读次数:
146
LRU主要的耗时操作就是查找,因此,我们可以使用hash_map来代替map,因此时间复杂度可以从O(logN)降低到O(1)#include #include #include #include using namespace std;class LRUCache{public: LRUCa...
分类:
编程语言 时间:
2015-03-30 10:51:49
阅读次数:
149
windows 与 linux 的头文件区别:#if defined(WIN32) || defined(WIN64) #include using namespace stdext;#else #include using namespace __gnu_cxx;#endif编译出现警告...
分类:
编程语言 时间:
2015-03-20 15:53:29
阅读次数:
263