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