Data structures 插入时,当最小堆或最大堆已满时会发生什么情况?

Data structures 插入时,当最小堆或最大堆已满时会发生什么情况?,data-structures,Data Structures,假设我们有最小的minu heap=[1,3,5,9,10,13] 堆的大小是有限的,为6!它不能长超过10个 当我们将比任何其他元素都大的元素放入最小堆时会发生什么?(例如,在这种情况下,我们将15个放在我们的堆中) 效率是多少?好吗?K=堆的大小 这取决于“不能超过K”政策的实施方式 最有用的方法是始终保留最好的K元素。 如果是这样,插入一个比Kbest更差的元素自然不会有任何效果 任何插入的时间,无论是否成功,都将像往常一样O(log K)。这是典型的堆行为吗?或者我们正在使用修改堆?@J

假设我们有最小的
minu heap=[1,3,5,9,10,13]


堆的大小是有限的,为6!它不能长超过10个

当我们将比任何其他元素都大的元素放入最小堆时会发生什么?(例如,在这种情况下,我们将15个放在我们的堆中)

效率是多少?好吗?K=堆的大小

这取决于“不能超过
K
”政策的实施方式

最有用的方法是始终保留最好的
K
元素。 如果是这样,插入一个比
K
best更差的元素自然不会有任何效果


任何插入的时间,无论是否成功,都将像往常一样
O(log K)

这是典型的堆行为吗?或者我们正在使用修改堆?@JohnBaek如果您考虑了某些特定的堆实现(例如,某个编程语言的标准库),请在问题中提及这一点。@JohnBaek如果,另一方面,您打算自己实现堆,或者您有一个当超过大小时要做什么的要求,或者你可以自己选择做什么,然后去做。一般来说,不要让读者猜这些事情,一定要在你的问题中提供细节,使之成为一个好问题。我道歉。我刚问了一个关于编码的面试问题。问题是从数组中找到K个最小值。我问它,因为我们可以使用有限的修改堆,所以效率是NLogK。“堆的大小是有限的,为6!”和“它不能增长超过10。”让我感到困惑。那么,什么是6,什么是10?