二分探索木で重複を処理するエレガントな方法は何ですか? 各キーにいくつかの異なる値が関連付けられていると仮定しましょう。私がする必要があるのは、すべての値を順番に繰り返すことです。したがって、キー 1 で 2 つの値 A と B があり、キー 2 で 1 つの値 C がある場合、次のような呼び出しで (1,A)、(1,B)、(2,C) のペアを取得したいと思います。 TreeIterator.next();
私は考えることができます:
- 各ノードにはキーと、同じキーを持つ値が入る値の配列があります
- 各ノードには
visited
フラグがあります
他の提案はありますか?一般的なガイドラインとして、Tree の実装はできるだけ抽象的にしたいと考えています。