- 1
- 0
- 约9.22千字
- 约 86页
- 2019-12-22 发布于湖北
- 举报
分析 在原来的Trie结构中,使用数组索引可以直接定位到要比较的数组元素,非常高效 采用{(i, value)}列表后,我们希望仍然保持数组索引的高效性,即: 不遍历{(i, value)} 列表,也能知道下标为 i 的数组元素是否包含了非空值,若非空,该值在列表中的位置 使用什么数据结构可以快速知道数组中非空元素的分布? 使用一个比特串,标记数组中空元素及非空元素的位置 精选 解决方案 压缩后的trie节点由一个比特串和一个仅包含非空元素的数组组成(非空元素的位置并未保存) 精选 压缩节点的查找 用一个block(假设值为i)查找当前节点的过程: 读入当前节点的bitmap 用 i 作为比特索引,检查bitmap中的第 i 位(最左边i=0): 若该位为“0”,查找结束 若该位为“1”,且bitmap中前 i 位中“1”的个数为c,读数组第c个元素 最多两次访存: 一次访问bitmap,一次访问数组 若压缩节点可以放入一个cache行,只需访存一次 精选 算法开销分析 查找一个常规trie节点的开销:一次访存 查找一个压缩trie节点的开销: 一次访存(压缩节点在一个cache行中) 一次比特位检查(bitmap) 统计bitmap中“1”的个数:使用popcount指令,只需一个指令周期就可以统计32位寄存器中“1”的个数 一次数组访问 注意:最后3个操作不涉及内存
您可能关注的文档
最近下载
- 无人机实时测绘系统.pptx
- 业务拓展平台_得来速场地.pdf VIP
- 2023-2024学年北京师大附属实验中学高一(下)期中数学试卷【答案版】.docx VIP
- QJ57型直流双臂电桥操作规程.doc VIP
- 2024年3月30日全国事业单位联考E类《综合应用能力》真题试卷含答案.pdf VIP
- QJ57p直流电桥操作规程.pdf VIP
- 浙江小学科学知识点(3-6年级)2(良心出品必属精品).doc VIP
- (66页PPT)企业数字化转型内涵意义路径趋势及案例解析.pptx VIP
- 2026年高考历史二轮复习能力提升练(九)世界古代文明的产生、发展与交融.docx VIP
- 猫豆未知成分深度剖析:分离技术与药理活性探究.docx
原创力文档

文档评论(0)