gpt4 book ai didi

algorithm - 构建堆函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:22:05 25 4
gpt4 key购买 nike

在我的大学笔记中,Build Heap的伪代码几乎是这样写的(唯一不同的是括号我有括号):

enter image description here

而且我在网上搜了一下,有好几家是这样的:

但不应该是那样的吗?

BuildHeap(A) {
heapsize <- length[A]
for i <- floor(length[A]/2) downto 1
Heapify(A,i)
}

为什么他们写 heap_size[A] = length[A]?

最佳答案

如果你有很多堆,A,B,C。只有一个可变堆大小,你将如何记住所有堆的大小? 您将拥有所有堆的属性堆大小。

在许多伪代码中,对象 O 的属性写为 Attriubute[O]Attribute(O) ,(有时它们也写为 O .属性 ).

第一个示例假设您将特定堆的堆大小存储为堆的属性。

第二个示例可能是将堆大小存储在局部变量中,该变量从堆的长度属性 (Length[A]) 获取值。

这是《算法导论》中关于伪代码的一段文字:

Compound data are typically organized into objects, which are comprised of attributes or fields . A particular field is accessed using the field name followed by the name of its object in square brackets. For example, we treat an array as an object with the attribute length indicating how many elements it contains. To specify the number of elements in an array A, we write length[A]. Although we use square brackets for both array indexing and object attributes, it will usually be clear from the context which interpretation is intended

关于algorithm - 构建堆函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13440368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com