D:
D:
算法
手撕算法
全部文章
算法
Java基础(1)
手撕算法(1)
操作系统(1)
未归档(1)
归档
标签
去牛客网
登录
/
注册
手撕算法
323 浏览
0 回复
2021-07-11
D:
+关注
手写优先队列,实现 add(),poll(),peek() 。这三个函数是一个怎样的过程
用数组实现最小堆
add(): 首先先判断是否需要扩容,然后把新值放到堆的右下角,然后从下至上依次比较右下元素与其父节点的值大小,右下小则交换,直到右下角大才退出循环。
pop(): 先暂存堆顶元素值,再把右下角值赋给堆顶,再在循环里从上往下比较父节点与其左右子节点大小
举报
收藏
赞
评论加载中...