JDK容器 前言 阅读JDK源码有段时间了,准备以博客的形式记录下来,也方便复习时查阅,本文参考JDK1.8源码。 一、Collection Collection是所有容器的基类,定义了一些基础方法。List、Set、M…
分类:树
javascript BinarySearchTree 查找树 - 二叉查找树 (通用版)
* 比较大小的类 ./utils/Comparator.js https://blog.csdn.net/fareast_mzh/article/details/81810822 * BinarySearchTree.j…
lintcode ----在二叉查找树中插入节点
TreeNode* insertNode(TreeNode* root, TreeNode* node) { // write your code here if(root==NULL) //为空则把node赋值给roo…
c++ STL 红黑树实现
红黑树是一种自平衡二叉查找树,它的操作有着良好的最坏情况运行时间,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n是树中元素的数目。 红黑树应用: 1.linux内核中,进…
我的红黑树学习笔记
红黑树 红黑树的规则: 每个节点非黑即红。 根结点是黑色。 叶结点 (NIL) 是黑色。 如果一个结点是红色, 则它的两个子节点都是黑色的。 从根结点出发到所有叶结点的路径上, 均包含相同。 调整策略: 插入调整站到 祖…
查找(AVL平衡二叉树)
【1】为什么需要平衡二叉树? 矛盾是推进事物向前发展的源动力。 那么平衡二叉树是从哪里来?肯定是有矛盾存在的。请看下面的分析: 【2】什么是平衡二叉树? 平衡二叉树的基本认识: 【3】平衡二叉树的构建原理 平衡二叉树的形…
判断是否为平衡二叉树
所谓的平衡二叉树,就是指数中任一结点的左右子树深度相差不超过1。下图就是一个平衡二叉树: 解法1:很容易想到,遍历每一个结点时,调用函数TreeDepth()求得左右子树的深度,如果所有左右子树…
算法之 有序链表和平衡二叉树 有序数组与平衡二叉树
题目描述: Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced…
平衡二叉树的C++模板实现
本文内容为前天写的AVL树模板的C++代码实现。本想把二叉搜索树设计成基类(SearchTree),然后由AVL树和红黑树分别对其继承,因为作为搜索树,它们在查找、插入和删除元素时都用到了相同的节点查找方法,因此这种继承…
平衡二叉树AVL 红黑树 B树 二叉查找树 B+树 B-树
红黑树:https://www.cnblogs.com/CarpenterLee/p/5503882.html 平衡二叉树AVL:http://lib.csdn.net/article/datastructure/920…
C++实现线索二叉树 -- 创建遍历查找等操作
本文代码为C++实现线索二叉树,文中所有代码均经过测试。 #ifndef _THREAD_BIN_TREE_H #define _THREAD_BIN_TREE_H #include <iostream> #…
二叉排序树的查找(插入、删除)
二叉排序树的查找(插入、删除) 近期逐步开始期末复习,在博客上投入的精力将大幅减少大概一月左右! /*二叉树的二叉链表结点结构定义*/ typedef struct BiTNode{ //结点结构 int data; /…