私はいくつかの個人的な調査を行っていますが、(おそらく非常に大きな)データツリー内のデータを効率的に変更する必要があることに気付きました。データは単純なデータ、整数または場合によっては小さなオブジェクトで構成されます。ツリーを解析している間、すべての同様のオブジェクトを変更する必要があります(ただし、サブツリー内のオブジェクトのみ)。これは説明が少しわかりにくいので、例として画像を追加しました。
上の画像では、文字はデータの値を表し(同一の文字は同一のデータを表します)、括弧内の数字は一意の値であるため、参照できます。
したがって、ツリーを解析していて、現在ノード2にいるとします。「a」の値を変更して「g」に変更する必要があると判断しましたが、現在のノードとすべての子のみを変更したいと思います。 。(したがって、2と9は「g」に変更され、1と7は「a」のままになります)。すべての子を再帰的に検索して手動で変更することはできますが、ツリーが非常に大きくなる可能性があります。aのすべての値を変更したい場合は、データをダブルポインターとして格納し、ポインターが指す値を変更するだけで済みます。だから私の質問は、おそらく一定の時間で、私が望む方法でデータを変更するための既知の方法はありますか?