红黑树学习
发布日期:2021-05-08 02:44:09 浏览次数:10 分类:精选文章

本文共 892 字,大约阅读时间需要 2 分钟。

查找算法

暴力:遍历for循环

二分:能做二分查找的条件?有序
**哈希(最高效的查找)**O(1)
插值
索引:搜索引擎,Lucene
bfs/dfs图论的遍历
平衡树
B+树
B-Tree
红黑树:高效查找数据的结构
二叉搜索树
时间复杂度就是数的深度

Java的1.8之中的Hashmap:链表+红黑树

HashMap与红黑树的学习,当使用hashmap的时候出现排序的情况。

二叉查找树(红黑树)

在这里插入图片描述

平衡二叉树:
平衡二叉树的折中,最理想的状态
红黑树的底层结构是什么?二叉查找树
链表(暴力查找)->二叉树()–>特殊的二叉树(自平衡二叉查找树)

在这里插入图片描述

注意:两个 黑色可以连接在一起
根节点是黑色(没有父节点)入度为0
红色节点的子节点是黑色,叶子节点都是黑色,出度为0,满足了性质就可以近似平衡。
在这里插入图片描述
迫害的规则
下面是对红黑树的基本内容:下面是代码实现

package redblacktree;/** * @author xinyu * @create 2021-03-0421:07 *这里实现红黑树的代码 */public class red {       //定义红黑节点,这里的红黑节点采用0,1 来表示    private final int R = 0;    private final int B = 1;    //定义根节点    private  Node root = null;    class Node{           int data;        int color = R;        Node left;        Node right;        Node parent;//定义父亲节点        //定义根节点        public Node(int data){               this.data = data;        }    }    //插入红黑书    public void insert(Node root,int data){           if (root.data
上一篇:Mysql的查找
下一篇:javaweb_1

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月10日 13时41分27秒