计算堆中的空闲空间?跟踪最后一次插入?
如何跟踪插入到堆中的位置:我认为使用检查每个子树高度的函数会将算法从 O(log N) 降级为 O(N)。
那么您是否在每个节点中保留一个变量,或者在具有最后一个插入点的堆中保留一个变量(如何定义?)。
How do you keep track of where to insert into a heap: i think using a function that checks the height of each subtree will degrade the algorithm to O(N) from O(log N).
so do you keep a variable in each node or a varibale in the heap that has the last insert spot(defined how?).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
堆是“几乎满”的二叉树。因此,您只有一个选择来插入新元素,不需要高度检查 - 但需要一个指向下一个元素应插入的位置的指针。
这当然足以确保 O(logn) 的高度
the heap is "almost full" binary tree. so you have only one choice where you should insert the new element, no height check is needed - but a pointer to the location the next element should be inserted to.
this of course is enough to ensure a height of O(logn)