Algorithm 编写伪代码以查找数组中的最小元素。[核实]
我需要一个解决方案验证。我找不到标签,所以如果有人能帮我的话。问题如下 设A[1..n]是包含n个元素的最大堆。假设没有重复的密钥 编写伪代码以查找A中的最小元素。然后使用O表示法查找RT 我的尝试:Algorithm 编写伪代码以查找数组中的最小元素。[核实],algorithm,max-heap,Algorithm,Max Heap,我需要一个解决方案验证。我找不到标签,所以如果有人能帮我的话。问题如下 设A[1..n]是包含n个元素的最大堆。假设没有重复的密钥 编写伪代码以查找A中的最小元素。然后使用O表示法查找RT 我的尝试: minIndex=1 min=A[1] i=0 while(i <= n) if A[i]<min min=A[i] minIndex = i i+=1 minIndex=1 min=A[1] i=0 虽然(你不需要min和minIndex,但你可以选择一
minIndex=1
min=A[1]
i=0
while(i <= n)
if A[i]<min
min=A[i]
minIndex = i
i+=1
minIndex=1
min=A[1]
i=0
虽然(你不需要min
和minIndex
,但你可以选择一个。(因为A[minIndex]=min
)。此外,通常选择第一个元素作为min并从第二个开始循环,而不是从第二个开始循环。因此A[minIndex]=min
解决了你评论的后半部分?删除min
并更改A[i]太棒了,我现在明白你的意思了。非常感谢。另外,你可以从i=天花(n/2)
开始,因为最小值保证是叶节点之一。这将使运行时间加快一倍,但仍然是O(n)。