问题
单项选择题
下列哪一个关键码序列不符合堆的定义
A.A、C、D、G、H、M、P、Q、R、X
B.A、C、M、D、H、P、X、G、Q、R
C.A、D、P、R、C、Q、X、M、H、G
D.A、D、C、G、P、H、M、Q、R、X
答案
参考答案:C
解析: 选项A关键码序列对应的完全二叉树如下:
保证了任一结点的关键码值都小于或等于它的两个子女结点的关键码值,选项A关键码序列符合堆的定义。 选项B关键码序列对应的完全二叉树如下:
保证了任一结点的关键码值都小于或等于它的两个子女结点的关键码值,选项B关键码序列符合堆的定义。 选项C关键码序列对应的完全二叉树如下:
节点K,的关键码值为D大于它的右子女结点的关键码值C,节点K4的关键码值为R大于它的右子女结点的关键码值H。选项c关键码序列不符合堆的定义。 选项D关键码序列对应的完全二叉树如下:
保证了任一结点的关键码值都小于或等于它的两个子女结点的关键码值,选项D关键码序列符合堆的定义。 因此,本题答案为C。