– 课程
– 教程
– 面试准备
最后更新:讨论评论
问题 1
假设我们正在使用堆排序对一组包含八个整数的数组进行排序,并且刚刚完成了一些堆化(无论是最大堆化 INLINECODE86219c30 还是最小堆化 INLINECODE83ec539c)操作。现在数组看起来是这样的:16 14 15 10 12 27 28。请问在堆的根节点上已经执行了多少次堆化操作?
- 1
- 2
- 3 或 4
- 5 或 6
问题 2
哪些语言在运行时环境中必须需要进行堆分配?
- 支持递归的语言
- 使用动态作用域的语言
- 使用全局变量的语言
- 允许动态数据结构的语言
问题 3
设 H 为一个由 n 个元素组成的二叉最小堆,并通过数组实现。我们要在 H 中找到最大元素,最优算法的最坏情况时间复杂度是多少?
- Θ(1)
- Θ(logn)
- Θ(n)
- Θ(nlogn)
问题 4
考虑以下元素数组:〈89, 19, 50, 17, 12, 15, 2, 5, 7, 11, 6, 9, 100〉。将其转换为最大堆所需的最少交换次数是多少?
- 4
- 5
- 2
- 3
问题 5
堆查找最小值/最大值需要多少时间?
- O(logN)
- O(N)
- O(1)
- 以上都不是
问题 6
堆数据结构有哪些应用?
- 医疗应用
- 文件压缩
- 股票市场
- 所有这些
问题 7
考虑一个包含 1023 个元素的二叉最小堆的数组表示。要在该堆中找到最大值,所需的最少比较次数是 _ 。
- 510
- 511
- 512
- 255
问题 8
给定一个二叉最大堆。元素在数组中存储为 25, 14, 16, 13, 10, 8, 12。在执行两次删除操作后,数组的内容是什么?
14, 13, 8, 12, 1014, 12, 13, 10, 814, 13, 12, 8, 1014, 13, 12, 10, 8
问题 9
在任意一个包含 n 个元素的堆中,高度为 h 的节点数量是 。
- h
- 2h
- ceil(n/2h)
- ceil(n/2h+1)
问题 10
以下哪个数组表示一个二叉最大堆?
[26, 13, 17, 14, 11, 9, 15][26, 15, 14, 17, 11, 9, 13][26, 15, 17, 14, 11, 9, 13][26, 15, 13, 14, 11, 9, 17]
标签:DSA 测验
还有 30 个问题需要完成。
参与正在进行的讨论