代码改变世界

前缀树与后缀树的应用

2016-08-15 22:00 by shuaihanhungry, 1467 阅读, 0 推荐, 收藏, 编辑
摘要:Trie树的应用 Trie树还能解决下述问题(节选自此文: "海量数据处理面试题集锦与Bit map详解" ): 3、有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M。返回频数最高的100个词。 9、1000万字符串,其中有些是重复的,需要把重复的全部去掉,保 阅读全文

海量数据处理问题

2016-08-15 15:38 by shuaihanhungry, 157 阅读, 0 推荐, 收藏, 编辑
摘要:何谓海量数据处理? 所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次性装入内存。 那解决办法呢?针对时间,我们可以采用巧妙的算法搭配合适的数据结构,如Bloom filter/Hash/bit 阅读全文

二维动态规划——Palindrome

2016-08-15 10:39 by shuaihanhungry, 734 阅读, 0 推荐, 收藏, 编辑
摘要:"Palindrome" Description A palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. Yo 阅读全文

二维动态规划——Interleaving String

2016-08-13 21:59 by shuaihanhungry, 360 阅读, 0 推荐, 收藏, 编辑
摘要:"97. Interleaving String" Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example, Given: s1 = "aabcc", s2 = "dbbca" 阅读全文

C++中的Traits技法

2016-08-12 16:37 by shuaihanhungry, 474 阅读, 1 推荐, 收藏, 编辑
摘要:Traits广泛应用于标准程序库。 Traits classes使得“类型相关信息”在编译期可用。 认真读完下面的示例,你应该就懂了Traits技法,其实并不难。 include using namespace std; //1,确认若干你希望将来可取得的类型相关信息 struct TypeOneT 阅读全文

Linux中的zero-copy技术

2016-08-11 21:08 by shuaihanhungry, 1620 阅读, 0 推荐, 收藏, 编辑
摘要:本文是对参考文章重要部分的摘录,同时进行简单地总结。 零拷贝技术的相关背景知识 传统的 Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输,这样做最大的好处是可以减少实际的物理磁盘 I/O 阅读全文

Linux内存管理之slab分配器

2016-08-11 20:57 by shuaihanhungry, 1197 阅读, 0 推荐, 收藏, 编辑
摘要:slab分配器是什么? 参考:http://blog.csdn.net/vanbreaker/article/details/7664296 slab分配器是Linux内存管理中非常重要和复杂的一部分,其工作是针对一些经常分配并释放的对象,如进程描述符等,这些对象的大小一般比较小,如果直接采用伙伴系 阅读全文

MySQL索引

2016-08-11 10:16 by shuaihanhungry, 265 阅读, 0 推荐, 收藏, 编辑
摘要:所有的MySQL列类型都可以被索引,使用索引可以提高select操作性能,但是每个额外索引都要占用额外的磁盘空间,并降低写操作的性能。 MySQL有常见有四种索引,PRIMARY KEY(主键索引)、UNIQUE(唯一索引)、INDEX(普通索引)、FULLTEXT(全文索引)。它们均在在B+树中存 阅读全文

《深度探索C++对象模型》笔记——Data语意学

2016-08-10 20:46 by shuaihanhungry, 334 阅读, 0 推荐, 收藏, 编辑
摘要:Data Member的绑定 inline member functin躯体之内的一个data member绑定操作会在整个class声明完成之后才发生。 argument list中的名称还是会在它们第一次遭遇时被适当地决议。 为避免错误,早期出现三种防御性代码风格,把data members放在 阅读全文

《深度探索C++对象模型》笔记——Function语意学

2016-08-10 16:03 by shuaihanhungry, 631 阅读, 0 推荐, 收藏, 编辑
摘要:member的各种调用方式 C++支持三种类型的member functions:static、nonstatic和virtual。 nonstatic member functions会被编译器转换为对等的nonmember function。安插一个额外的参数this指针以改写函数的signat 阅读全文