由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - find kth smallest key in BST with O(lgn)
相关主题
再来bitch一下几道关于数据结构的面试题。
题:无限数据流获取第k%的数大概说一下昨天的Google Phone Interview
关于BST traverse的复杂度树 inorder下个节点最好办法是啥
请教一个BST找Median的题目inorder traversal and BST
问一道leetcode题:recover BST攒人品,amazon一面经历
inorder traversal的空间复杂度是O(N) 还是O(logN)?攒人品,Amazon 二面面经
请问排过序的list组建一个bst 复杂度是多少?[合集] 微软面试的一道题
Find the first k smallest numbers in an array.问一道二叉树遍历的问题? 谢谢!
相关话题的讨论汇总
话题: bst话题: lgn话题: kth话题: smallest话题: key
进入JobHunting版参与讨论
1 (共1页)
a********r
发帖数: 217
1
假设BST每个key都是 >=0 的整数,而且不重复,有没有时间复杂度是O(lgn)的算法来
search kth smallest key. inorder traversal似乎不能满足要求。
r*******k
发帖数: 1423
2
bst额外记一个小于等于当前key的点的个数
也就是左子树的节点个数,就可以了吧

【在 a********r 的大作中提到】
: 假设BST每个key都是 >=0 的整数,而且不重复,有没有时间复杂度是O(lgn)的算法来
: search kth smallest key. inorder traversal似乎不能满足要求。

a********r
发帖数: 217
3
但是树已经是建好的,重建的话至少要O (n)
时间。所以说能不能优化, 整数inorder search的时间是关键。

【在 r*******k 的大作中提到】
: bst额外记一个小于等于当前key的点的个数
: 也就是左子树的节点个数,就可以了吧

s**x
发帖数: 7506
4

参见 augmented data structure in algorithm introduction, 楼上已给出答案。
I do not think they ask you not modifying the tree.

【在 a********r 的大作中提到】
: 但是树已经是建好的,重建的话至少要O (n)
: 时间。所以说能不能优化, 整数inorder search的时间是关键。

r*******k
发帖数: 1423
5
不加信息是不可能的啊
如果有n个node,求第n个数,
你不遍历前n-1个数,你怎么知道哪个是第n个?
必然是o(n)啊
想到做lgn,必然不会遍历所有的,
剪枝需要额外的信息

【在 a********r 的大作中提到】
: 但是树已经是建好的,重建的话至少要O (n)
: 时间。所以说能不能优化, 整数inorder search的时间是关键。

l*********b
发帖数: 65
6
我在想能不能通过level order的遍历 然后数数 大概判断一下kth在左还是在右 这样
大概就是logN了 但是仔细想了半天 思路不通。。。 而且恐怕事先不知道有多少个
node且bst不是balanced
。。。个人觉得 可能就还是线性时间复杂度吧- -
r*******k
发帖数: 1423
7
要是balanced或者是满的
倒是可以猜猜
否则,普通的bst,必然是线性的

【在 l*********b 的大作中提到】
: 我在想能不能通过level order的遍历 然后数数 大概判断一下kth在左还是在右 这样
: 大概就是logN了 但是仔细想了半天 思路不通。。。 而且恐怕事先不知道有多少个
: node且bst不是balanced
: 。。。个人觉得 可能就还是线性时间复杂度吧- -

b********r
发帖数: 620
8
对头。如果BST退化成一个单链表,没法再LOGN里面完成。

【在 r*******k 的大作中提到】
: 要是balanced或者是满的
: 倒是可以猜猜
: 否则,普通的bst,必然是线性的

1 (共1页)
进入JobHunting版参与讨论
相关主题
问一道二叉树遍历的问题? 谢谢!问一道leetcode题:recover BST
为何找不到很多apple的面筋inorder traversal的空间复杂度是O(N) 还是O(logN)?
leetcode里面的Recover Binary Search Tree怎么用O(1)space请问排过序的list组建一个bst 复杂度是多少?
这个题目有什么trickFind the first k smallest numbers in an array.
再来bitch一下几道关于数据结构的面试题。
题:无限数据流获取第k%的数大概说一下昨天的Google Phone Interview
关于BST traverse的复杂度树 inorder下个节点最好办法是啥
请教一个BST找Median的题目inorder traversal and BST
相关话题的讨论汇总
话题: bst话题: lgn话题: kth话题: smallest话题: key