私は木を横断する際に深さの最初の検索の概念を理解しています。しかし、他のデータ構造(配列、2次元配列など)でdfsを実行する方法が難しいです。これについて考えるにはどうすればよいでしょうか?DFSは非ツリーに対してどのように機能しますか?
-1
A
答えて
0
深度先読み(DFS)は、通常、ツリー上に表示されます。今、木をどのように実装するかはあなたの呼び出しです。
0
:あなたは助けることができるいくつかの実装があり、ここで、理解するための最良の方法は、1を実装することであるアレイ、リンクリスト、隣接行列、などを使用して実装することができますDFSは、それを適用するすべての構造に仮想ツリーを作成します。このツリーは構造のspanning treeとして知られています。グラフ、二重グラフ、さらには配列やその他の構造のために存在し、DFSが訪問することができます。もちろん
その木の上ではありません多くのエッジが存在します。無向グラフや構造では、それらは常に「後端」(子ノードから先祖ノードに向かう)ですが、エッジが特定の方向を持つことができるストゥルカットでは、前方エッジである可能性があります(未訪問の子孫ノード)またはクロスエッジ(異なるサブツリーと交差する)
関連する問題
- 1. 木のようにDFSツリー
- 2. 相対インポートはどのように機能しますか?
- 3. 継承はどのように属性に対して機能しますか?
- 4. Umbraco 7 - カスタムメニューのアイテムとツリー、ナビゲーションはどのように機能しますか?
- 5. logstash kv {}機能はどのように機能しますか?
- 6. WatchKit:ディクテーション機能はどのように機能しますか?
- 7. 機能はどのように機能しますか?
- 8. AddImplicitRequiredAttributeForValueTypesが実際にどのように機能し、どのように機能していますか?ここ
- 9. .warへの相対パスはどのように機能しますか?
- 10. この機能割り当てはどのように機能しますか?
- 11. クイックソートは、すべて同じ要素の配列に対してどのように機能しますか?
- 12. SOMはどのように機能していますか?
- 13. sqlローダースクリプトはどのように機能していますか?
- 14. FactoryGirlで多対多関連はどのように機能しますか?
- 15. Sinatraで相対URLはどのように機能しますか?
- 16. メモリマップファイルは、メモリより大きなファイルに対してどのように機能しますか?
- 17. 非同期メソッドはC#でどのように機能しますか?
- 18. 非同期プログラミングは、シングルスレッドプログラミングモデルでどのように機能しますか?
- 19. #delayはVerilog非ブロックステートメントでどのように機能しますか?
- 20. 非同期GET要求はどのように機能しますか?
- 21. "kill"はどのように機能しますか?そして、特に、ブロックされたプロセスの "殺し"はどのように機能しますか?
- 22. TFSの「機能」ペインをどのように非表示にしますか?
- 23. React Native:どのように非同期機能を有効にしますか?
- 24. len関数は実際にファイルに対してどのように機能しますか?
- 25. Neo4j OGMはノード/リレーションシップに対してどのように確実に機能しますか?
- 26. $ watchのコール機能は一度にどのように機能しますか?
- 27. OpenLayers.Control.Scale.template - それはどのように機能し、全く機能しますか?
- 28. 参照渡しはどのように機能しますか?
- 29. array_udiff()、array_uintersect()などはどのように機能しますか?
- 30. バイナリ検索ツリーは、ポインタなしでJavaではどのように機能しますか?
アレイ自体をツリーとして視覚化してみてください。 – CyprUS