数据结构与算法
只包含基础的数据结构、以及围绕对应的数据结构的算法,不包括刷题以及算法技巧。
麦尔文
这个作者很懒,什么都没留下…
展开
-
海量数据存储
1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP转载 2012-09-21 11:53:05 · 1176 阅读 · 0 评论 -
从头到尾彻底解析hash 表算法
说明:本文分为三部分内容,第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。 ------------------------------------ 第一部分:Top K 算法详解 问题描述 百度面试题: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。 假设转载 2012-09-21 12:51:48 · 558 阅读 · 0 评论 -
排序
数据的排序有很多种比如:冒泡、选择、插入、快速、希尔、堆排序、双向冒泡、归并、分配、基数等等,其中目前复杂度为【N×(log2N)】的算法是认为比较好的算法,而上述几种算法中“快速排序”的复杂度是其中符合的算法之一,且对于N值比较大的情况下,大部分人会选择此排序算法。 有关快速排序法在网上有很多讲解,下面转载一些比较好的链接: 一:各个排序算法讲解链接(以下链接主要来自百度百科) 1、冒泡排转载 2012-09-21 11:59:44 · 488 阅读 · 0 评论