
算法
el_vr
这个作者很懒,什么都没留下…
展开
-
堆排序小优化
建堆时不用每次把父子节点交换。只需每次上移子节点,最终节点即为父节点位置。原创 2012-09-17 16:31:42 · 293 阅读 · 0 评论 -
skiplist
http://kenby.iteye.com/blog/1187303转载 2013-06-18 14:36:25 · 329 阅读 · 0 评论 -
堆排序
#include void shift(int a[] , int i , int m) { int k , t; t = a[i]; k = 2 * i + 1; while (k < m) { if ((k < m - 1) && (a[k] < a[k+1])) k ++; if (t < a[k]) {a[i] = a[k];转载 2014-02-21 09:32:12 · 388 阅读 · 0 评论 -
lower_bound
#include using namespace std; template size_t find_lower_bound(size_t i, size_t j, T* data, const T& key, bool (*les)(const T&, const T&)) { if (les(key, data[i])) { return i; } while (i原创 2014-06-29 22:47:49 · 461 阅读 · 0 评论 -
将数字序列化到内存
void test_memcpy() { uint32 a = 1235439534; char buf[1024]; memset(buf, 0 , sizeof(buf)); memcpy(buf, &a, sizeof(a)); cout << buf << endl; uint32 b = 0; memcpy(&b, buf, sizeof(b)); cou原创 2014-06-18 16:19:29 · 547 阅读 · 0 评论 -
LSM-Tree 相关
海量存储系列之八 http://qing.blog.sina.com.cn/1765738567/693f0847330008ii.html转载 2014-10-22 15:47:51 · 363 阅读 · 0 评论 -
为什么一般hashtable的桶数会取一个素数
http://blog.sina.com.cn/s/blog_8e9c63c70101g3ep.html 我个人认为更普遍意义的理解,如果不取素数的话是会有一定危险的,危险出现在当假设所选非素数m=x*y,如果需要hash的key正好跟这个约数x存在关系就惨了,最坏情况假设都为x的倍数,那么可以想象hash的结果为:1~y,而不是1~m。但是如果选桶的大小为素数是不会有这个问转载 2015-02-06 10:52:07 · 1670 阅读 · 0 评论