[信息] (转)单片机中大数据量处理:哈希表与跳表

[复制链接]
1587|2
 楼主| renzheshengui 发表于 2018-8-16 09:30 | 显示全部楼层 |阅读模式

本文博客链接:http://blog.csdn.net/jdh99


哈希表说明:

需要对500个点的数据进行查询,增加,删除操作.500个点不需要顺序排列.



思路:用数组+单链表构造哈希表进行处理.

比如建一个100个大小的数组.每个数组可以带单链表

1357639891_3274.jpg

如果所示,将每一个ID对100进行取余,存入数组中对应的单链表中.如果是500个点,单个链表最大长度为5,也就是说查询次数最大为5.



跳表说明:

需要对500个点的数据进行查询,增加,删除操作.每个数据需要按照先后顺序排列,在这里采用跳表的方式处理.

1357640247_4904.jpg

这里采用3层结构,第一层为全部节点,最多500个点.第二层数量设定为第一层1/10,则为50个,第3层设为第二层的1/10,则为5个.对于单个需要查询的点,如果是平均分布,查询次数为5 + 10 + 10 = 25次.


wowu 发表于 2018-8-16 09:52 | 显示全部楼层
哈希表是什么 跳表又是什么呢
 楼主| renzheshengui 发表于 2018-8-17 09:25 | 显示全部楼层
wowu 发表于 2018-8-16 09:52
哈希表是什么 跳表又是什么呢

跳表
结合链表和二分法的特点,将链表进行加工,创造一个二者的结合体:
1.链表从头节点到尾节点是有序的
2.可以进行跳跃查找(形如二分法)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

4353

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部