选择排序-简单选择排序

设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(Ri,Ri+1,…,Rn)中找出排序码最小的记录,与第i个记录交换。执行n-1趟 后就完成了记录序列的排序。 在简单选择排序过程中,所需移动记录的次数比...

插入排序-希尔排序

希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是基于插入排序的以下两点...

插入排序-直接插入排序

每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入...

快速排序

设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速...

冒泡排序

已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。首先比较a[1]与a[2]的值,若a[1]大于a[2]则交换两者的值,否则不变。再比较a[2]与a[3]的值,若a[2]大于a[3]则交换两者的值,否则不变。再比较a[3]与a[4]...

bt协议详解 DHT篇(下)

接上篇。 5 Torrent文件扩展 一个无tracker的torrent文件字典不包含announce关键字,而使用一个nodes关键字来替代。这个关键字对应的内容应该设置为torrent创建者的路由表中K个最接近的nodes。可供选择的,...

bt协议详解 DHT篇(上)

文章主要内容来自于对DHT Protocol的翻译,如果大家感兴趣的话,可以阅读一下英文原版。 为了大家阅读的方便,把文章分成了上下篇,两篇加在一起快1w字了,确实看的比较累。 1 简介 前面讲到BT协议像tcp...

bt协议详解 基础篇(下)

1 简介 bt是BitTorrent协议的简称,bt协议是最流行的p2p下载协议,另外一种比较流行的p2p下载协议叫ed2k,ed2k的全称叫eDonkey2000 network,这里我们只讨论bt协议,ed2k协议以后有机会再和大家分享。 相信...

bt协议详解 基础篇(上)

1 简介 bt是BitTorrent协议的简称,bt协议是最流行的p2p下载协议,另外一种比较流行的p2p下载协议叫ed2k,ed2k的全称叫eDonkey2000 network,这里我们只讨论bt协议,ed2k协议以后有机会再和大家分享。 相信...

DHT协议

BitTorrent 使用"分布式哈希表"(DHT)来为无 tracker 的种子(torrents)存储 peer 之间的联系信息。这样每个 peer 都成了 tracker。这个协议基于 Kademila[1] 网络并且在 UDP 上实现。 请注意本文档中使用的术语...