【发布时间】:2015-05-08 03:41:28
【问题描述】:
找出二叉树(随机或 BST)中哪个 级别 具有 所需的最小 空间量是多少最多个节点?
【问题讨论】:
找出二叉树(随机或 BST)中哪个 级别 具有 所需的最小 空间量是多少最多个节点?
【问题讨论】:
如果允许销毁树,则可以在对树进行 bfs 时将树转换为链表,本质上是用树本身模拟队列!
您可以在此处找到相关信息:Convert a binary tree to linked list, breadth first, constant storage/destructive
这仅需要O(1) 空间,因为您已重复使用树的节点。
【讨论】:
O(1)
以广度优先搜索方法遍历 BT(二叉树)。推送节点并提及它的级别。您将遍历一个级别中的所有节点,然后进入下一个级别。因此,只需保持最大变量并不断更新它。
队列(用于 BST)可能会占用 O(2^(log(n) -1)) 中的空间。
【讨论】: