由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请问排过序的list组建一个bst 复杂度是多少?
相关主题
tree traversal nextNode的无递归无stack实现G电面面经:BT的iterator inorder traversal
问一道二叉树遍历的问题? 谢谢!F家phone interview的一道题
一道msft的题FB店面
bloomberg onsite题binary tree, sum of 2 nodes == given number
Google Intern这个题目有什么trick
求个递归复杂度答案用queue 做树的广度优先遍历,空间复杂度是多少?
find kth smallest key in BST with O(lgn)Palantir 电面面经求指教
树 inorder下个节点最好办法是啥BST 找重复节点数
相关话题的讨论汇总
话题: list话题: bst话题: cur话题: node话题: 排过
进入JobHunting版参与讨论
1 (共1页)
K******g
发帖数: 1870
1
请问排过序的list组建一个bst,怎么做呢,复杂度是多少?谢谢
b********h
发帖数: 119
2
bst的inorder traversal就是一个有序的list,但从一个有序list还原到bst不是唯一
的。最简单的可以遍历这个list,把每个元素加到bst的左边(原list按降序排列)或
右边(原list按升序排列)。但这样出来的bst的高度就是list的长度,所以是最差的
bst。好点的做法可以每次取list中间的元素作为root,然后递归的建左子树和右子树
。这两个的复杂度都是O(n)。
D****6
发帖数: 278
3
第二个做法为什么不是nlogn??

【在 b********h 的大作中提到】
: bst的inorder traversal就是一个有序的list,但从一个有序list还原到bst不是唯一
: 的。最简单的可以遍历这个list,把每个元素加到bst的左边(原list按降序排列)或
: 右边(原list按升序排列)。但这样出来的bst的高度就是list的长度,所以是最差的
: bst。好点的做法可以每次取list中间的元素作为root,然后递归的建左子树和右子树
: 。这两个的复杂度都是O(n)。

i*****r
发帖数: 265
4
要是每次取中点的那种就是nlogn啦,说n的都是默认取中点是O(1)的……对于链表明
显不对。dsw好像可以是n的,但是要面试的时候搞出来不容易吧
r****c
发帖数: 2585
5
haha
你应该告诉面试的人
一直放rchild, haha
degenerated bst

【在 K******g 的大作中提到】
: 请问排过序的list组建一个bst,怎么做呢,复杂度是多少?谢谢
h**k
发帖数: 3368
6
可以用递归来实现。对链表O(n)
初始call
build_bst( list_head, list_length);
Node* build_bst( Node* &list_cur, int n )
{
if( n == 0 )
return null;
Node * p = build_bst( list_cur, n/2);
list_cur->left = p;
p = list_cur;
list_cur = list_cur->next;
p->right = build_bst( list_cur, n-1-n/2);
return p;
}


【在 i*****r 的大作中提到】
: 要是每次取中点的那种就是nlogn啦,说n的都是默认取中点是O(1)的……对于链表明
: 显不对。dsw好像可以是n的,但是要面试的时候搞出来不容易吧

1 (共1页)
进入JobHunting版参与讨论
相关主题
BST 找重复节点数Google Intern
关于BST traverse的复杂度求个递归复杂度答案
问道题,binary tree里有一个有indegree 2find kth smallest key in BST with O(lgn)
请教各位大牛,C#不能用指针的问题树 inorder下个节点最好办法是啥
tree traversal nextNode的无递归无stack实现G电面面经:BT的iterator inorder traversal
问一道二叉树遍历的问题? 谢谢!F家phone interview的一道题
一道msft的题FB店面
bloomberg onsite题binary tree, sum of 2 nodes == given number
相关话题的讨论汇总
话题: list话题: bst话题: cur话题: node话题: 排过