BST时间复杂度:浮点值和int值之间有什么区别吗?

时间:2013-10-28 22:07:51

标签: data-structures tree big-o binary-search-tree time-complexity

给出浮点数的BST和int数的BST。我只是想知道基于不同数据类型的BST之间是否存在插入,删除等的复杂性差异?

2 个答案:

答案 0 :(得分:2)

二叉搜索树的时间复杂度通常用比较次数表示。例如,说插入的运行时为O(log n)意味着只进行O(log n)比较。如果比较本身需要一些额外的时间(例如,如果你正在比较字符串),那么运行时可能会改变以反映出来。

比较float确实比比较int需要更多的时间,但它仍然是一个恒定的工作量(即O(1))。因此,运行时应该仍然是O(log n),尽管由于执行浮点比较所涉及的额外硬件可能会慢一点。

希望这有帮助!

答案 1 :(得分:1)

没有。时间复杂度源自算法本身的结构和特征(如有多少嵌套循环,或递归多少),而不是它操作的数据类型。

BST中的搜索,插入和删除平均为O(log n),最坏情况下为O(n)。

有关BST的更多信息,请参阅Wikipedia