实现了一个压缩算法,在数据高度压缩的前提下,还可以快速查找 key

阅读更多关于《实现了一个压缩算法,在数据高度压缩的前提下,还可以快速查找 key》

最近写了一个算法,可用于 (key,value) 存储,key 当然是 string 类型。

用一个 2.3G 的 url 集合做测试,如果不计 value 占用的空间,key 集合的存储空间可以被压缩70倍!压缩后整个数据结构仅占31M内存!压缩率比 bzip2 还要高。 继续阅读

原地排序与链表翻转

阅读更多关于《原地排序与链表翻转》

有个长度为 n 的 (key,val) 数组 a,其中 key 是 int 类型,并且其值在 [0, n) 之间(前闭后开,包括 0 不包括 n),该数组按 key 是乱序的,但没有重复 key。

题目要求:对 a 原地按 key 排序,可以使用常数个临时变量,不允许使用其它额外空间,时间复杂度必须是O(n) 继续阅读

C++ 中让对象的拷贝成为 显式 的

阅读更多关于《C++ 中让对象的拷贝成为 显式 的》

C++中对象的拷贝一般使用拷贝构造函数,从而对象的拷贝大多是隐式的,使用拷贝构造函数的隐式拷贝很方便,但是编译器无法识别不必要的拷贝,虽然我们人类可以识别这些不必要的拷贝,比如在写函数原型时,忘了加&,就会引发一个这样的非必要拷贝。 继续阅读

C++11: 使用 lambda 创建模板类 的 对象

阅读更多关于《C++11: 使用 lambda 创建模板类 的 对象》

C++ 中 lambda 可以直接传递给模板函数如 std::sort, 但无法传给模板类如 std::map,但是,使用一点小技巧,可以使用 lambda 创建模板类的对象,省了很多麻烦的 coding。这里给出一个示例: 继续阅读

Recursive Lambda in C++

阅读更多关于《Recursive Lambda in C++》

C++ 标准委员会真是太死板了,既然给 C++ 增加了 lambda,就真的按部就班地套用 lambda 的标准定义,也不加个 lambda的自引用机制。找了半天,除了那些学院派的足以把99%的人搞晕的 Fix Point + Y combinator,一个最实用的解决方案就是把 lambda bind 到 std::function<…>. 继续阅读

一个很难的字符串问题

阅读更多关于《一个很难的字符串问题》

有 n 个 RegEx (正则表达式),标号从 0 到 n-1,n 可能很大 (比如说100万)。

问题:给定一个字符串,返回能 match 这个字符串的所有正则表达式标号。 继续阅读

m 分查找

阅读更多关于《m 分查找》

一个比较产生两个决策结果,二-决策的计算机硬件实现更高效。

我们可以想象给一个 array, 一个 key, 在某台 god machine 上有一个操作:cmp-multi  array, key, n, m

继续阅读

Name lookup take place before access control

阅读更多关于《Name lookup take place before access control》

Yes, "1." is a floating point number.

hash_strmap & gold_hash_map update

阅读更多关于《hash_strmap & gold_hash_map update》

hash_strmap

在不增加任何额外成本的情况下,string pool 中每个 string 消耗的内存,平均情况下,减少了一个字节。太不值一提。 继续阅读

How do I disable video thumbnails in Windows 7?

阅读更多关于《How do I disable video thumbnails in Windows 7?》

How do I disable video thumbnails in Windows 7!

禁用 视频 缩略图 windows 7 继续阅读