Redian新闻
>
How to turn a binary search tree into a sorted array?
avatar
How to turn a binary search tree into a sorted array?# JobHunting - 待字闺中
k*a
1
昨天买了两瓶酒酿。不想煮圆子也不想煮蛋。还有什么做法吗?
考虑熬粥快熟的时侯倒半瓶进去接着煮到熟。这样可以吗?
谢谢
★ Sent from iPhone App: iReader Mitbbs Lite 7.21
avatar
s*n
2
开始问怎么计算这颗树有多少个节点。 这个就是简单递归。
后来问怎么把它存到一个sorted array.
void storeIntoSortedArray(Node* root, int* p)
{
//允许就在里面给 p allocate memory
}
怎么弄啊?有没有遍历一遍就能存好的方法?
avatar
b*t
3
酒酿炖小鸡汤
http://www.mitbbs.com/article_t/Food/31619655.html
酒糟红烧肉
http://www.mitbbs.com/article_t/Food/31636689.html
酒糟牛扒
http://www.mitbbs.com/article_t/Food/31636639.html
生吃也好吃呀 呵呵

【在 k********a 的大作中提到】
: 昨天买了两瓶酒酿。不想煮圆子也不想煮蛋。还有什么做法吗?
: 考虑熬粥快熟的时侯倒半瓶进去接着煮到熟。这样可以吗?
: 谢谢
: ★ Sent from iPhone App: iReader Mitbbs Lite 7.21

avatar
P*b
4
bst不是本身就是in order的吗?

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

avatar
d*g
5
经常干吃的人飘过~~~~~
avatar
s*n
6
可能我没表述清楚。bst的每个节点有一个左指针,一个右指针,一个数值。
要求把数值存到一个连续数组p。 不再以指针形式表示。
假设都是整数,那么可能需要先计算数的size,
然后 p = new int[ treeSize ];

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

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

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

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

avatar
P*b
10
realloc?不知道到底想考啥

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

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

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

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

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

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

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。