【发布时间】:2023-04-07 09:26:01
【问题描述】:
线程二叉树是有效的,因为它不需要任何递归或堆栈来遍历。我怀疑它使每次插入都需要 O(n) (其中 n 是树中的节点数),因为对于我们插入的每个节点,它都必须再次线程化,不是吗?如果我是对的,那么线程二叉树实际上是无效的,不是吗?
【问题讨论】:
-
没有。您仍然可以递归地遍历树以找到插入点。所以插入仍然是 O(log n),假设你的树保持平衡。
-
附带说明,许多库在提供并发性时会避免使用树。最明显的例子是java的ConcurrentSkipListSet。
标签: data-structures binary-tree time-complexity binary-search-tree inorder