黑馬博學(xué)谷年度鉆石會(huì)員C/C++
紅黑樹(shù)
自平衡二叉查找樹(shù) => 修改、插入、刪除之后可以自己變成平衡的 => java.util.TreeSet
(java.util.TreeMap
) & java.util.concurrent.ConcurrentSkipListSet
=> put
& remove
平衡二叉樹(shù)很難做成線程安全的,在旋轉(zhuǎn)、修改的過(guò)程中多個(gè)線程并發(fā)訪問(wèn)會(huì)有問(wèn)題
二叉樹(shù)前序遍歷(根節(jié)點(diǎn) => 左節(jié)點(diǎn) => 右節(jié)點(diǎn))
遞歸
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;
? ?}}
標(biāo)簽: