查找算法 2-3树和左倾红黑树
一、2-3 树 1.1. 2-3 树介绍 1.2. 2-3 树插入元素 1.3. 2-3 树删除元素 二、 左倾红黑树 2.1. 左倾红黑树介绍 2.2. 节点旋转和颜色转换 2.3. 添加元素实现 2.4. 添加元素算法分析 2.5. 删...
一、2-3 树 1.1. 2-3 树介绍 1.2. 2-3 树插入元素 1.3. 2-3 树删除元素 二、 左倾红黑树 2.1. 左倾红黑树介绍 2.2. 节点旋转和颜色转换 2.3. 添加元素实现 2.4. 添加元素算法分析 2.5. 删...
一、AVL树介绍 二、AVL树基本结构 三、AVL树添加元素 3.1. 左子树插左儿子:单右旋 3.2. 右子树插右儿子:单左旋 3.3. 左子树插右儿子:先左后右旋 3.4. 右子树插左儿子:先右后左旋 3.5. 具体实现 3.6. 时间...
一、添加元素 二、查找最大值或最小值的元素 三、查找指定元素 四、查找指定元素的父亲 五、删除元素 六、中序遍历(实现排序) 七、完整代码 八、总结 二叉查找树,又叫二叉排序树,二叉搜索树,是一种有特定规则的二叉树,定义如下: 它是一棵二叉...
一、线性查找 二、散列查找 三、哈希表:线性探测法 四、哈希表:拉链法 五、哈希函数 六、实现拉链哈希表 6.1. 初始化哈希表 6.2. 计算哈希值和数组下标 6.2. 添加键值对 6.3. 获取键值对 6.4. 删除键值对 6.4. 遍...
在日常生活中,我们在寻找梦想。寻找,是我们的动力。 我们会在图书馆里面,找到人文相关的书架,然后按照索引去找书。拿到书时,我们很自然地通过目录去查找相应的章节。 在计算机的世界中,我们也想寻找。 计算机中,我们将数据存放在列表里,我们只解决...
一、算法介绍 二、算法实现 三、算法改进 3.1 改进:小规模数组使用直接插入排序 3.2 改进:三向切分 3.3 改进:伪尾递归优化 四、补充:非递归写法 五、补充:内置库使用快速排序的原因 快速排序是一种分治策略的排序算法,是由英国计算...
一、优先队列 1.1. 最大堆特征 1.2. 上浮操作 1.3. 下沉操作 1.4. 时间复杂度分析 1.5. 最大堆实现 三、普通堆排序 三、自底向上堆排序 堆排序( Heap Sort )由威尔士-加拿大计算机科学家 J. W. J. ...
一、算法介绍 1.1. 自顶向下归并排序 1.2. 自底向上归并排序 二、算法实现 三、算法改进 归并排序是一种分治策略的排序算法。它是一种比较特殊的排序算法,通过递归地先使每个子序列有序,再将两个有序的序列进行合并成一个有序的序列。 归并...
一、算法介绍 二、算法实现 1959 年一个叫 Donald L. Shell (March 1, 1924 – November 2, 2015) 的美国人在 Communications of the ACM 国际计算机学会月刊 发布了...
一、算法介绍 二、算法实现 三、算法改进 选择排序,一般我们指的是简单选择排序,也可以叫直接选择排序,它不像冒泡排序一样相邻地交换元素,而是通过选择最小的元素,每轮迭代只需交换一次。虽然交换次数比冒泡少很多,但效率和冒泡排序一样的糟糕。 选...