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