怎么在堆里找某个数

来源:3-4 堆有什么特点,和二叉树有什么关系

一身喧哗

2024-08-04

老师,怎么在堆中查找某个数呢?比如

const heap = [-1, 10, 14, 25, 33, 81, 82, 99]
num = 33

如果从根开始找的话,10小于33,就要继续找左右结点,但是左右结点的大小关系不明,难道左右都要遍历吗?
还有就是,14和25是兄弟节点,他们各自的子节点有什么关系吗?

写回答

1回答

双越

2024-12-26

第一,堆一般不适合从 root 查找某个值。如果你非要去查找,那可以直接用数组的便利,复杂度也就是 O(n) 不算高

第二,无论任何节点,他们的关系都符合这个公式

https://img1.sycdn.imooc.com/szimg/676d078c093da3c011960276.jpg

0
0

2周刷完100道前端优质面试真题 双越最新力作

『前端面试真题100道』视频详解

1509 学习 · 642 问题

查看课程