首页 > 试题广场 >

将关键字9, 19, 12, 21, 28, 25, 31,

[单选题]
将关键字9, 19, 12, 21, 28, 25, 31, 27, 43, 17, 44依次插入到初始为空的小根堆H中,得到的H是( )
  • 9, 12, 17, 19, 21, 25, 27, 28, 31, 43, 44
  • 9, 17, 21, 25, 12, 19, 31, 43, 27, 28, 44
  • 9, 12, 17, 21, 19, 25, 31, 27, 43, 28, 44
  • 9, 17, 12, 21, 19, 25, 31, 27, 43, 28, 44
解析有问题,首先要明确几点 1. 小顶堆的结构是一个完全二叉树,满足任意节点的值均小于左右孩子的值 2. 如果插入的节点值大于父节点,则直接插入,先插入左子节点,后插入右子节点 3. 如果当前要插入的节点比父节点的值要小,比如说父节点的值是12,要插入的节点值是9,父节点的左孩子是空的,那么这时候触发“上浮”条件,把12放到左子节点的位置,把9放到父节点的位置,相当于完成了一次父子交换。如此反复上浮,直到满足小顶条件 那么正确的插入过程应该是: ​ ​1. 插入9作为根节点 ​2. 插入19作为9的左子节点 ​3. 插入12作为9的右子节点 ​4. 插入21作为19的左子节点 ​5. 插入28作为19的右子节点 ​6. 插入25作为12的左子节点 ​7. 插入31作为12的右子节点 ​8. 插入27作为21的左子节点 ​9. 插入43作为21的右子节点 ​10. 发现17比父节点28更小,交换17与28,17作为28的父节点;又发现17比父节点19更小,交换19与17,17作为19的父节点 ​10. 插入44作为19的右子节点 ​ ​所有插入完毕,顺序即为答案
发表于 2025-08-19 21:18:47 回复(0)