黑马博学谷年度钻石会员C/C++
红黑树
自平衡二叉查找树 => 修改、插入、删除之后可以自己变成平衡的 => java.util.TreeSet
(java.util.TreeMap
) & java.util.concurrent.ConcurrentSkipListSet
=> put
& remove
平衡二叉树很难做成线程安全的,在旋转、修改的过程中多个线程并发访问会有问题
二叉树前序遍历(根节点 => 左节点 => 右节点)
递归
class OrderTraversal {
public List<Integer> preorderTraversalRecursion(TreeNode root) {
List<Integer> result = new ArrayList<>();
result.add(root.val);
if (root.left != null) {
result.addAll(preorderTraversalRecursion(root.left));
}
if (root.right != null) {
result.addAll(preorderTraversalRecursion(root.right));
}
return result;
}}