2011-10-27 5 views
0

イテレータ構造体とメソッドをC言語(BST用)で定義する必要があります。これまでのところ、イテレータ構造体には現在のノードと親ノードのポインタが必要です。私がそこに持っていなければならないものが他にありますか、それは良いものがありますか? ありがとうBSTのイテレータを定義する

答えて

1

BST要素には自分の親ノードへのポインタがありますか?そうでなければ、親ノードポインタのスタックが必要です。

+0

私は親ノードへのポインタでそれらを実装していませんが、これによって人生が楽になるのであれば可能でしょうか? – drunkmonkey

+0

@Sarconiセルフバランス型のツリーの場合は、親ポインタのスタックを使用します。最大深度と同じ大きさで済みます。各ノードの親ポインタを更新すると、リバランスがより複雑になります。そうでなければ、最悪の場合スタックが非常に大きくなる可能性があるので、各ノードに親ポインタを置くこともできます。どちらのアプローチでもツリーを歩くのは簡単です。 – Dmitri

関連する問題