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



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

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

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

希望这有帮助!

No.时间复杂度来自算法本身的结构和特征(例如嵌套循环的数量或递归量),而不是它所操作的数据类型。

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

有关BST的更多信息,请参阅维基百科。

最新更新