0
如果在二进制堆中已经存在元素,那么查找和元素的时间复杂度是多少? 我认为遍历操作在堆树中是不可能的!T.C找到一个元素,如果它已经存在于二叉堆树中?
如果在二进制堆中已经存在元素,那么查找和元素的时间复杂度是多少? 我认为遍历操作在堆树中是不可能的!T.C找到一个元素,如果它已经存在于二叉堆树中?
在最坏的情况下,一个将结束遍历整个二进制堆来搜索元素,并因此的时间复杂度是O(N),其是线性的元件的数目在二进制堆
二进制堆并不意味着用作搜索数据结构。它们被用于实现优先级队列,他们处理那些经常使用的所有操作得很好不是线性的时间
插入:O(log n)的
删除:O(log n)的
increase_key:O(log n)的
decrease_key:O(log n)的
extract_max或extract_min:O(log n)的
如果你想搜索操作要始终O(log n)的像AVL或红黑树使用平衡搜索树。
@Dante ...希望它会走多久。谢谢。但是我的问题如果一个问题是以一个大的“O”符号给TC,那么答案会是什么? 我同意我不应该遍历堆,但在一些论坛中,我得到的答案是O(n),即遍历时间。我强烈的意思是它不应该被遍历。 – Bishnu