首页 > TAG信息列表 > 祖父

红黑树

红黑树特点 每个节点不是黑色就是红色 根节点是黑色 每个叶子节点是黑色,但是Java中使用null代表空节点,所以遍历不到黑色的叶子节点 红色节点的子节点必须是黑色节点,不可以是红色节点 但是黑色节点的子节点可以是黑色节点 从根节点到所有叶节点之间的黑色节点个数是一致的 所有新

红黑树

二叉查找树:树和它的子树满足以下约束:左节点小于父节点,右节点大于父节点 红黑树是非完美平衡二叉查找树,是完美黑色平衡二叉查找树 定义和性质 一种含有红黑结点并能自平衡的二叉查找树。它满足下面五个性质 1.每个结点要么是黑色,要么是红色 2.根结点是黑色 3.每个叶子结点NIL是黑色

Leetcode 1315:祖父节点值为偶数的节点和(超详细的解法!!!)

给你一棵二叉树,请你返回满足以下条件的所有节点的值之和: 该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。) 如果不存在祖父节点值为偶数的节点,那么返回 0 。 示例: 输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5] 输出:18 解释:图

【数据结构】27、红黑树,节点插入,修复平衡操作总结(针对jdk8中hashmap冲突过多链表转红黑树)

  二叉树节点插入 0.如果只有一个节点,那么就直接作为根,涂黑,如果父为黑,或者祖父为空,那么不做操作 1.叔叔节点不为空且为红 那么就修改父,叔叔,祖父节点颜色,最后把当前节点设置为祖父节点,在进行平衡 2.如果父为右节点,并且叔叔节点为空或者为黑,当前节点是右节点,如果父不为空, 那么把父设

死磕 java集合之TreeMap源码分析(二)

插入元素 插入元素,如果元素在树中存在,则替换value;如果元素不存在,则插入到对应的位置,再平衡树。 public V put(K key, V value) { Entry<K,V> t = root; if (t == null) { // 如果没有根节点,直接插入到根节点 compare(key, key); // type (and possibly nul