二分木をトラバースするときに、現在のノードの上にあるノードを取得することは可能ですか?という質問を受けました。二重連結リストとして。
1 に答える
2
二重リンクとしてビルドする場合は、はい、「親」プロパティに移動します。抽象的な例:
struct node {
struct node *parent; // << this is the parent, just access it
struct node *rchild;
struct node *lchild;
int val;
}
それ以外の場合は、子ノードにアクセスするたびに前のノードをキャッシュする必要があります。
二重リンクリストは、バイナリツリーと同じではないことに注意してください(リストでは、各項目に 1 つの子があります)。
于 2012-05-05T09:51:57.407 に答える