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

admin2009-02-19  37

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

选项 A、2次
B、3次
C、4次
D、5次

答案2

解析 原始的堆如图1所示:

因为n=8,所以n/2=4,所以从K4=10开始,第一次比较10<40,不用交换:第二次比较35>5,两者相互交换,交换后如图2所示:第三次比较30>10,两者相互交换,交换后如图3所示;第四次比较 18>5,两者相互交换,交换后如图4所示。所以交换的次数为3次。
转载请注明原文地址:https://kaotiyun.com/show/T4cZ777K
0

相关试题推荐
最新回复(0)