深さ優先探索版とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 深さ優先探索版の意味・解説 

深さ優先探索版

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/24 15:50 UTC 版)

トポロジカルソート」の記事における「深さ優先探索版」の解説

トポロジカルソート別のアルゴリズム深さ優先探索ベースにしている。このアルゴリズムではグラフの各ノードについて、トポロジカルソート始めてからすで訪れたノード到達するまで深さ優先探索を行う。また、L への追加先頭に行うことに注意。 L ← トポロジカルソートされた結果の入る空の連結リストfor each ノード n do visit(n)function visit(Node n) if n をまだ訪れてなければ then n を訪問済みとして印を付けfor each n の出力辺 e とその先ノード m do visit(m) n を L の先頭追加 上のアルゴリズムノードnがリストLに追加されるのは、ノードnが依存している他のノードグラフ中でnから到達可能な全てのノード)を訪れた後であることに注意。このアルゴリズムでは、ノードnが追加されるときnが依存するすべてのノードはすでにリストLに追加されていることが保証されている。そのようなノードノードnからvisit()再帰到達するか、あるいはnを訪れるより前にすでに到達されているはずである。辺とノード一度しか訪問されないのでこのアルゴリズム線形時間しか必要としない上の擬似コードグラフ循環がある場合にそれをエラーとして検出することはできない。この深さ優先探索ベースアルゴリズムは『アルゴリズムイントロダクション』で解説されている。Tarjan (1976) が最初に発表したものと思われる閉路検出するには、下記擬似コード行える。 L ← トポロジカルソートされた結果の入る空の連結リストfor each ノード n do if n に印が付いていない then visit(n)function visit(Node n) if n に「一時的」の印が付いている then 閉路があり DAG でないので中断 else if n に印が付いていない then n に「一時的」の印を付けfor each n の出力辺 e とその先ノード m do visit(m) n に「恒久的」の印を付ける n を L の先頭追加

※この「深さ優先探索版」の解説は、「トポロジカルソート」の解説の一部です。
「深さ優先探索版」を含む「トポロジカルソート」の記事については、「トポロジカルソート」の概要を参照ください。

ウィキペディア小見出し辞書の「深さ優先探索版」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


このページでは「ウィキペディア小見出し辞書」から深さ優先探索版を検索した結果を表示しています。
Weblioに収録されているすべての辞書から深さ優先探索版を検索する場合は、下記のリンクをクリックしてください。
 全ての辞書から深さ優先探索版を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「深さ優先探索版」の関連用語

深さ優先探索版のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



深さ優先探索版のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのトポロジカルソート (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS