r****t 发帖数: 10904 | 1 我读到只有 left, right 和值,就像下面这样:
template
struct node {
node *left, *right;
value_type value;
};
为啥 CLRS 里面经常有 y <- p[x] 这样的,我的理解是“把 x 的父指针赋值给 y
”。(在 Tree-Successor 和 Tree-Insert 算法里面都用到了, 12.2, 12.3)
这个是我理解错了,还是 node struct 里面确实应该有父指针? |
Y**B 发帖数: 144 | |
f*******t 发帖数: 7549 | |
r****t 发帖数: 10904 | 4 如果有的话,iteratively traverse tree 都不需要 stack 了,这不行的吧。
【在 Y**B 的大作中提到】 : 可有可无,看你怎么定义。
|
q****x 发帖数: 7404 | 5 为啥不行?
【在 r****t 的大作中提到】 : 如果有的话,iteratively traverse tree 都不需要 stack 了,这不行的吧。
|
c**********e 发帖数: 2007 | 6 Exactly.
【在 Y**B 的大作中提到】 : 可有可无,看你怎么定义。
|
w*******s 发帖数: 96 | 7 Agree. Tree has usually two way to express:
1. left,right child
2. left child, brother, parent etc..
It's up to you how to define it. |
l*********t 发帖数: 371 | 8 这是一个很好的面试题。一般我问这个问题,我都特别看candidate是不是我跟我讨论
澄清treenode什么定义。 在面试的时候,如果问道tree的问题,你主动跟面试官沟通
,这绝对是给你加分的。 |