对于关键码序列18,30,35,10,46,38,5,40进行堆排序(假定堆的根结点为最小关键码),在初始建堆过程中需进行的关键码交换次数为______。

admin2013-02-03  30

问题 对于关键码序列18,30,35,10,46,38,5,40进行堆排序(假定堆的根结点为最小关键码),在初始建堆过程中需进行的关键码交换次数为______。

选项

答案3

解析 根据采用筛分的方法建堆的方法如下,首先将所有要排序的关键码放在一棵完全二叉树的各结点上,然后从i=[n/2]的结点Ki开始,逐步把以K[n/2]-1、K[n/2]-2...Kn为根的子树排为堆,直到以K1为根的子树排成堆,就完成了建堆过程。按照上述过程写出完全二叉树,排序后发现需进行的关键码交换次数为3次。
转载请注明原文地址:https://kaotiyun.com/show/ZTqZ777K
0

最新回复(0)