lesson 0. 数据结构
- 列表
- 堆栈
- 树
- 散列
散列:
?随机数生成算法中哪一个算法最好
- 散列函数
- 冲突 ####冲突的解决办法:
- 链接法
- 线性查探
- 二次查探
- 双重散列
- 布隆过滤器
- simhash
第二课
- 基本原理
- 实现与测试
a : 存储关键字个数 b : 数组长度 c : 已经翻转的元素数量 d :一个关键字翻转的元素个数
占空比:
实际翻转的个数:
随机数发生器 更容易产生相关的随机数 而且是正相关
数组长度 : L 存储元素 : N 翻转个数 : I 碰撞概率 : p 翻转的元素个数 : F $ p = (F/L)^ I $ 等式:1 $ p=(1- F/N/I )^I $
$p=(1- \frac{L}{NI} e^{ln(p)/I} )^I $
测试一: 2.1627440063152108e-15 0.10405075991724134 测试二: 3.5506068076608453e-15 0.08787481623866988
汉明距离<=1的情况 simhash 值 64 bit 1亿
特定 hash值 前 32位 hash_pre 和 后 32位 hash_suf
精确匹配 | 精确匹配
索引1: 对前32位索引 索引2: 对后32位索引
减少汉明距离计算量
- 数据结构 : B 树 (二分树 红黑树) 2。 排序 : 比较排序: 冒泡排序 快速排 归并排序 计数排序 基数排序 桶排序 稳定排序
3。 hash
4。 图算法
6。 动态规划 贪心算法 吴亮 王颖 最优化方法 李忠凯
下周内容:
二叉树 红黑树 B树
索引 聚集索引 非聚集索引 (数据库)
位图索引