【发布时间】:2014-10-16 21:08:15
【问题描述】:
美好的一天!
我有一个关于二叉搜索树插入方法的时间复杂度的问题。我阅读了一些关于此的答案,但有些答案彼此不同。二叉搜索树插入方法的时间复杂度在平均情况下是 O(log n),在最坏情况下是 O(n)?还是平均情况为 O(n log n) 而最坏情况为 O(n^2)?什么时候平均为O(n log n),最坏情况为O(n^2)?
【问题讨论】:
-
对于基本的二叉树,如果树是平衡的,则插入是 O(log n),如果树是最大不平衡的(即链表)则降级为 O(n)
-
对于
1插入操作,平均情况是O(lgn),最坏情况是O(n)。对于n插入操作,平均情况是O(nlgn),最坏情况是O(n^2)。但通常人们指的是 1 次插入操作的复杂性。
标签: java algorithm insert binary-search-tree