数据结构
文章平均质量分 78
蔡观洋
这个作者很懒,什么都没留下…
展开
-
等概率抽样--蓄水池抽样
原文地址:http://blog.csdn.net/zhongkeli/article/details/7000512如何等概率的从N个元素中选取出K个元素?这个问题就是一个蓄水池抽样(Reservoir Sampling),算法可以如下描述: Init : a reservoir with the size: k转载 2012-09-01 15:43:41 · 630 阅读 · 0 评论 -
hash_map实现原理
http://blog.163.com/liuruigong_lrg/blog/static/27370306200711334341781/详细解说STL hash_map系列 0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改转载 2012-08-31 22:17:37 · 1348 阅读 · 0 评论 -
hash表--d-left-hashing
什么是Hash Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数原创 2012-08-26 16:23:10 · 2190 阅读 · 0 评论 -
不用判断语句,求两个数的最大值
Hash 思想1. 首先引进一种简单的思路: 假设我们对两个无符号整型进行求最大值的操作:#define BIT_SIZE (sizeof(int) * 8)int max_ui32(unsigned int a, unsigned int b){ int hash[2] = {a, b} ; int index =转载 2012-05-21 20:38:21 · 1393 阅读 · 0 评论 -
使用异或交换两个数的原理
大家都知道,假如有a,b两个整型数,我们可以用a^=b;b^=a;a^=b;来交换a,b的值,在这里我说说其中的原理:^ 在 C 里面是按位异或操作符,相同的话异或的结果就是 0,不同的话就是 1。举个例子,比如 a 表示十进制的 5,b 表示十进制的 12,按位异或结果就是:a = 0101 (5 的二进制表示)b = 1100 (12 的二进制表转载 2012-05-21 20:51:55 · 1693 阅读 · 1 评论