由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Rebuild BST using pre-order travesal
相关主题
Interview question: Rebuild a tree with DFS output with level问个老题
一道G家题目讨论Amazon的一道题:根节点到叶节点之间最小和,并打印路径
L家这题咋搞,巨变态请问二叉搜索树如何找到两个点的最近祖先?
How to find the kth biggest number in a BST如何随机找二叉树中的任意节点?
BST 找重复节点数问题在哪儿啊 kth Node of BST,大家帮忙
非死不可电面出了新花样大家看看这是哪道题?
数组里找最大集合,该集合排序后是序列,有漂亮解法么?发现一个很恶心的基础问题
这最小公共父母节点有bug吗?Find the node with given value in binary tree in in-order
相关话题的讨论汇总
话题: bst话题: insertnode话题: travesal话题: treenode话题: node
进入JobHunting版参与讨论
1 (共1页)
x****1
发帖数: 118
1
这应该是一道大公司面试常见题吧,网上没有找到满意的答案,所以发个贴讨论一下。
题目的意思是:pre-order travesal 一个 BST,将节点值保存在一个数组中。怎样通
过这个数组重建这棵BST。我能想到的最直接的方法就是一个节点一个节点的插入,复
杂度是nlog(n)。这题有没有O(n)解法?
void makeTree(int[] arr)
{
Node root = null;
for(int i = 0; i insertNode(root, arr[i]);
}
}
void insertNode(Node treeNode, int value)
{
if (treeNode == null)
treeNode = new Node(value);
else if (value < treeNode.value)
insertNode(treeNode.left, value);
else
insertNode(treeNode.right, value);
}
s*****y
发帖数: 897
x****1
发帖数: 118
3
谢谢!

【在 s*****y 的大作中提到】
: http://www.ihas1337code.com/2010/09/saving-binary-search-tree-t
1 (共1页)
进入JobHunting版参与讨论
相关主题
Find the node with given value in binary tree in in-orderBST 找重复节点数
问tree的iterative traversal非死不可电面出了新花样
G家intern电面新鲜面经数组里找最大集合,该集合排序后是序列,有漂亮解法么?
一道在线题这最小公共父母节点有bug吗?
Interview question: Rebuild a tree with DFS output with level问个老题
一道G家题目讨论Amazon的一道题:根节点到叶节点之间最小和,并打印路径
L家这题咋搞,巨变态请问二叉搜索树如何找到两个点的最近祖先?
How to find the kth biggest number in a BST如何随机找二叉树中的任意节点?
相关话题的讨论汇总
话题: bst话题: insertnode话题: travesal话题: treenode话题: node