繁体   English   中英

二叉搜索树插入方法的时间复杂度

[英]Time Complexity of a Binary Search Tree Insert method

美好的一天!

我对二进制搜索树插入方法的时间复杂度有疑问。 我读了一些与此有关的答案,但有些彼此不同。 二叉搜索树插入方法的时间复杂度是否为平均情况下的O(log n)和最坏情况下的O(n)? 还是一般情况下为O(n log n),最坏情况下为O(n ^ 2)? 一般情况下什么时候变为O(n log n),最坏情况下什么时候变为O(n ^ 2)?

在平均情况下,一次插入操作的O(log n)为O(log n),因为它包含一个测试(恒定时间)和一个递归调用(具有要访问的树中节点总数的一半),从而使问题的常数变小了时间。 因此,对于n次插入操作,平均大小写为O(nlogn)。 关键是操作需要的时间与树的高度成正比。 平均而言,1次插入操作为O(logn),但在最坏的情况下,高度为O(n)。如果要执行n次操作,则avg为O(nlgn),最差的是O(n ^ 2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM