Chinaunix首页 | 论坛 | 博客
  • 博客访问: 154680
  • 博文数量: 49
  • 博客积分: 45
  • 博客等级: 民兵
  • 技术积分: 545
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-23 13:22
文章分类
文章存档

2017年(5)

2016年(18)

2015年(18)

2014年(8)

我的朋友

分类: 服务器与存储

2016-05-06 13:41:17

首先是160 bit的node id 和 infohash id 。

其次,把这160bit 表示的空间分成160个表(bucket),每个表K 个节点。(当节点个数不多时,未必需要160个表)

表的数学表示方法如下链接可以看到(博客贴图太麻烦)。
%3A%28f2fb4ca28a828cc1ece3368df1a9e377%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2F%2Fp-742376902.html&ie=utf-8&sc_us=5817970001667367562

%3A%28add8f723afca44eb20c21aec132f724a%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2F%2Fp-447470039.html&ie=utf-8&sc_us=14576433273426385911


第三,按照表的表示方法,我们可以把它的拓扑结构画出来,其实是一个二叉查找树。

第四,二叉查找树的所有性质这个算法都可以利用到了。如果有N个节点,最多只需要查找logN次即可找到我们要的数据。

参考链接:
红黑树,二叉查找树:
%3A%28ba40987204c2ae7af1e00ec350af5ac4%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2F%2Fp-1434493663.html&ie=utf-8&sc_us=9878409105384907908

 


阅读(2867) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~