有 n 个结点的二叉链表中,其二叉链表的 n 个结点中共有 2n 个指针域,在这 2n 个指针域中,真正用于指向后件(左子结点或右子结点)的指针...
[本文新址: http://www.ahathinking.com/archives/10.html ] 并查集:(union-find set...
介绍 有时候我们需要设计这样一种数据结构:它能快速在要求位置插入或者删除一段数据。先考虑两种简单的数据结构:数组和链表。数组的优点是能够在O(1...
一、定义位图法就是bitmap的缩写。所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断...
给定单链表,检测是否有环。如果有环,则求出进入环的第一个节点。 判断单向链表是否有环,可以采用快指针与慢指针的方式来解决。即定义一个快指针fas...
二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性: 父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。 每个...
分布式哈希表(DHT: Distributed Hash Table) 我们将散列表放在一个机器的内存里,当散列表比较小时候,没有问题,但如果这...
哈希表是将键映射到数组下标,这样可以根据键值快速定位到数组中的元素。哈希表要注意两点,首先是哈希函数,还有就是散列冲突。 哈希函数 哈希查找第一...
Skip List定义 Skip List 完整实现 下面是跳表的基本操作 节点的创建 列表的初始化列表的初始化需要初始化头部,并使头部每层(根...
文集作者