由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - How to turn a binary search tree into a sorted array?
相关主题
How to find the kth biggest number in a BST一道二叉树的老题
L家这题咋搞,巨变态问一个链表的问题
Lowest Common Ancestor of multiple nodes in a binary treeA家一道onsite题
construct a binary tree from in-order and level-order trav如何随机找二叉树中的任意节点?
刷题刷到没自信了请问一个简单的面试题
优步面试,哎。。。请问google电面coding方式
MS面试题谁有较好的iterative后序遍历binary tree的代码?
请教一个BST找Median的题目来个原创面试题,逗大家玩
相关话题的讨论汇总
话题: sorted话题: array话题: binary话题: tree话题: node
进入JobHunting版参与讨论
1 (共1页)
s*****n
发帖数: 956
1
开始问怎么计算这颗树有多少个节点。 这个就是简单递归。
后来问怎么把它存到一个sorted array.
void storeIntoSortedArray(Node* root, int* p)
{
//允许就在里面给 p allocate memory
}
怎么弄啊?有没有遍历一遍就能存好的方法?
P*******b
发帖数: 1001
2
bst不是本身就是in order的吗?

【在 s*****n 的大作中提到】
: 开始问怎么计算这颗树有多少个节点。 这个就是简单递归。
: 后来问怎么把它存到一个sorted array.
: void storeIntoSortedArray(Node* root, int* p)
: {
: //允许就在里面给 p allocate memory
: }
: 怎么弄啊?有没有遍历一遍就能存好的方法?

s*****n
发帖数: 956
3
可能我没表述清楚。bst的每个节点有一个左指针,一个右指针,一个数值。
要求把数值存到一个连续数组p。 不再以指针形式表示。
假设都是整数,那么可能需要先计算数的size,
然后 p = new int[ treeSize ];

【在 P*******b 的大作中提到】
: bst不是本身就是in order的吗?
s*****n
发帖数: 956
4
想了想,是不是要自己搞个stack来push pop?
P*******b
发帖数: 1001
5
困难在哪里?
tree size一定要提前知道吗?
vector不行吗?
大数组不行吗?

【在 s*****n 的大作中提到】
: 可能我没表述清楚。bst的每个节点有一个左指针,一个右指针,一个数值。
: 要求把数值存到一个连续数组p。 不再以指针形式表示。
: 假设都是整数,那么可能需要先计算数的size,
: 然后 p = new int[ treeSize ];

s*****n
发帖数: 956
6
不知道size的话,没法allocate空间吧?有多少个数,就只需要多少memory存。
vector, 大数组应该都浪费空间了。 他的意思是就把数存在 p[] 里面

【在 P*******b 的大作中提到】
: 困难在哪里?
: tree size一定要提前知道吗?
: vector不行吗?
: 大数组不行吗?

P*******b
发帖数: 1001
7
realloc?不知道到底想考啥

【在 s*****n 的大作中提到】
: 不知道size的话,没法allocate空间吧?有多少个数,就只需要多少memory存。
: vector, 大数组应该都浪费空间了。 他的意思是就把数存在 p[] 里面

s*****n
发帖数: 956
8
struct Node {
Node* left;
Node* right;
int value;
};
这个是节点形式。
然后给我一个root节点, 然后让我遍历树,把value存到一个数组里面,要求结果还是
从小到大排列。
就是想考我怎么遍历这个树呀。
p******r
发帖数: 2999
9
in-order trav

【在 s*****n 的大作中提到】
: struct Node {
: Node* left;
: Node* right;
: int value;
: };
: 这个是节点形式。
: 然后给我一个root节点, 然后让我遍历树,把value存到一个数组里面,要求结果还是
: 从小到大排列。
: 就是想考我怎么遍历这个树呀。

s*****n
发帖数: 956
10
也就是还是得先遍历一次,知道大小。给p allocate memory, 然后再in-order遍历的
时候一个个存到p里面是吗?
我一直在想有没有方法一次就弄好罗。

【在 p******r 的大作中提到】
: in-order trav
p******r
发帖数: 2999
11
内存就是白菜,要么一次性申请超大内存,要么动态翻倍申请
你在面试里纠结这种没意义的问题没有任何意义

【在 s*****n 的大作中提到】
: 也就是还是得先遍历一次,知道大小。给p allocate memory, 然后再in-order遍历的
: 时候一个个存到p里面是吗?
: 我一直在想有没有方法一次就弄好罗。

1 (共1页)
进入JobHunting版参与讨论
相关主题
来个原创面试题,逗大家玩刷题刷到没自信了
分享一个面试题,烙印出的,估计栽在这儿了优步面试,哎。。。
请教一道题MS面试题
O(N) sort integer array请教一个BST找Median的题目
How to find the kth biggest number in a BST一道二叉树的老题
L家这题咋搞,巨变态问一个链表的问题
Lowest Common Ancestor of multiple nodes in a binary treeA家一道onsite题
construct a binary tree from in-order and level-order trav如何随机找二叉树中的任意节点?
相关话题的讨论汇总
话题: sorted话题: array话题: binary话题: tree话题: node