the Homespring proposed language standardによると、上流のサーモンは、魚のチックアップ(セクション6.4.2)の「川システムの順不同検索...鮭と同じ名前の川ノードを見つける」必要があります。問題は、川のノードがn個のツリーに格納されていることです。そのため、このツリーを順番に検索する方法がわかりません。 Google検索では何も関係がなくなり、Wikipediaのページにはどんな種類のトラバーサルも言及されていません。 k-aryツリーを順番にトラバースすることは可能ですか?k-aryツリーを順番にトラバースすることは可能ですか?
2
A
答えて
2
はい、実際にこれを行うことができます!類推によって理由を考えましょう。バイナリツリーでは、ノードは次のようになります。
は +---+
| v |
+---+
/ \
T0 T1
トラバーサルが、その後のように行われるINORDERは次のとおりです。
- は、再帰的にT0のINORDERトラバーサルを行う
- が再帰的に行う訪問のV
- T1のインオーダートラバーサル。
言い換えれば、値を左から右に移動すると想像することができます。掃引は最初にT0に当たってからvをヒットし、T1にヒットします。
+----+----+----+ ... +----+
| v0 | v1 | v2 | ... | vn |
+----+----+----+ ... +----+
/ | | | | \
T0 T1 T2 T3 Tn Tn+1
我々はここで、「左から右にスイープ」のアイデアを使用している場合は、我々はこれを行うだろう:
多分木中のノードが次のようになります
- は、再帰的に行いますT0のインオーダーウォーク
- v0をご覧ください。
- T1のインオーダーウォークを再帰的に行います。
- v1をご覧ください。
- ...
- Tnのinorder walkを再帰的に行います。
- vnをご覧ください。
- Tn + 1のインオーダーウォークを再帰的に行います。ここで
は、このためのいくつかの擬似コードです:
void inorderWalk(Node* v) {
if (v == null) return;
for (int i = 0; i < v.numChildren; i++) {
inorderWalk(v.child[i]);
visit(v.value[i]);
}
inorderWalk(v.child[v.numChildren]);
}
関連する問題
- 1. ignite cacheをインデックス順にトラバースすることは可能ですか?
- 2. Sitecore - コンテンツアイテムをツリーにパーソナライズすることは可能ですか?
- 3. TSQL - ソート順を定義することは可能ですか?
- 4. クライアントがサーバと順番に話すことを許可する
- 5. ツリーのトラバースまたは何ですか?
- 6. インデックスに既存のツリーを追加することは可能ですか
- 7. WebSphere LibertyでJNDIツリーを照会/ブラウズすることは可能ですか?
- 8. PL/SQL解析ツリーをビジュアル化することは可能ですか?
- 9. バイナリ検索ツリーで要素を見つけることは可能ですか?
- 10. グラフをトラバースするVsツリーをトラバースする
- 11. トラバース式ツリー
- 12. jwplayerコントロールバーのアイコン/ボタンの順番を設定することは可能ですか?
- 13. Selenium WebElementsのhtmlコードの順番を確認することは可能ですか
- 14. Jqueryツリーのトラバースが機能しない
- 15. トラバース可能なモナドの構成は常にモナドですか?
- 16. このツリー構造を再帰せずにトラバースする方法#
- 17. Cypherで完全なツリーを順番に抽出する方法
- 18. testでテスト順序を決定することは可能ですか?
- 19. Firebaseノードの子ノードを逆順にたどることは可能ですか?
- 20. XAPファイルからバージョン番号を取得することは可能ですか
- 21. 私はAndroidのデバイス番号を取得することは可能ですか
- 22. アンドロイド携帯でimei番号を変更することは可能ですか?
- 23. Capybaraで番号フィールドを記入することは可能ですか?
- 24. ASTツリーをトラバースする方法
- 25. C/C++のZ3_astツリーをトラバースする
- 26. wijmoツリーをトラバースする方法
- 27. マルチプロセッシングpythonは、プールにジョブを順次送信することが可能です
- 28. orgモードでTODOリストを番号付けることは可能ですか?
- 29. xmlファイルのインポートと解析にDMEEツリーを使用することは可能ですか?
- 30. ツリーをトラバースするのに最も最適なアルゴリズム(アプローチ)は何ですか?
したがって、各ノードに関連付けられている唯一の値がある場合は、その値が複数回訪問していますか? – Ontonator
@Ontonatorそのような場合、「inorder traversals」について話すのはもう少し難しいです。あなたが探しているかもしれないオイラーツアーと呼ばれる関連するトラバーサルオーダーがありますか? – templatetypedef
サーモンは同じ名前のノードの*最初の出現に向かうので、それはそうではないと思うので、検索はプリオーダー検索と同等に終わるでしょう。とにかく、これは私たちが適切な解決策を得るために最も近いと思うので、正しいものとしてマークしました。 – Ontonator