上一页 1 ··· 3 4 5 6 7
摘要: 平衡二叉搜索树 平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 平衡因子 某结点的左子树与右子树的高度(深度)差即 阅读全文
posted @ 2020-05-27 21:37 jesscia5 阅读(148) 评论(0) 推荐(0)
摘要: 红黑树的性质 性质1:每个节点要么是黑色,要么是红色。 性质2:根节点是黑色。 性质3:每个叶子节点(NIL)是黑色。 性质4:每个红色结点的两个子结点一定都是黑色。 性质5:任意一结点到每个叶子结点的路径都包含数量相同的黑结点。 红黑树的添加 我们可以把红黑树看成是一个四阶b树来理解。对于添加来说 阅读全文
posted @ 2020-05-27 20:46 jesscia5 阅读(138) 评论(0) 推荐(0)
摘要: 模板方法模式: 父类为一个抽象类,然后定义一个模板方法,对于方法中操作不唯一的方法,把此方法写成抽象方法,由不同的子类来继承重写这个抽象方法来实现不同的功能. 阅读全文
posted @ 2020-05-24 21:19 jesscia5 阅读(77) 评论(0) 推荐(0)
摘要: ThreadLcoal:ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 ThreadLocal的set方法: public void set(T value) { Thread t = Thread.curr 阅读全文
posted @ 2020-05-24 15:07 jesscia5 阅读(82) 评论(0) 推荐(0)
摘要: java内存模型 在多线程编程中,每个线程都会有自己的工作内存,在执行的时候,并不是直接从主内存获取变量的值,而是会从主内存中拷贝一份到自己的工作内存中。 volatile的作用 1.保证了数据的可见性 如果没有valatile关键字,那么线程在更新数据的值后,不会立即写到主存中,那么其他线程可能拿 阅读全文
posted @ 2020-05-24 13:56 jesscia5 阅读(167) 评论(0) 推荐(0)
摘要: 二叉搜索树的特点: 二叉搜索树的左节点小于它的父节点,右节点大于父节点 二叉搜索树中的结点: 1 private static class Node<E>{ 2 3 private E element; 4 private Node<E> parent; 5 private Node<E> left 阅读全文
posted @ 2020-05-24 09:59 jesscia5 阅读(142) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7