並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 6 件 / 6件

新着順 人気順

ダイクストラの検索結果1 - 6 件 / 6件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

ダイクストラに関するエントリは6件あります。 プログラミングアルゴリズムグラフ などが関連タグです。 人気エントリには 『最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ - Qiita』などがあります。
  • 最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ - Qiita

    基本的アルゴリズム(幅優先探索など)から応用(経路復元、拡張ダイクストラなど)まで、最短経路問題に関するアルゴリズムを総特集しました。 基本的なグラフ理論の用語については、次を参考にしてください。 グラフ理論 用語集 queueなどのデータ構造の用語については、次のスライドの後半を参考にしてください。 C++ STL講習会 by @e869120 最短経路問題とは 一般的に、次のような問題とされます。 $V$ 頂点と $E$ 辺からなるグラフが与えられる。頂点 $u$ と 頂点 $v$ を結ぶパスのうち、重みの総和が最も小さいものはどれか。 始点を固定して他のすべての頂点との対について最短経路問題を解く場合や、任意の2頂点の対について解く場合などが実際には多いです。 実社会とも強く密着した問題のため、古くからたくさん効率的な解法が考えられてきました。 今回はそれらを紹介しつつ、細かいテクニ

      最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ - Qiita
    • 【競技プログラミング】ダイクストラ法の計算量はなぜO(E)なのか

      この記事の目的ダイクストラ法の計算量は、O(ElogV)である。 仮に、エッジの長さが0か1ならばO(E)、つまりエッジの数に比例することになる。 「どうしてそうなるのか全く理解出来ない」と誰でも思うだろう。 優先度キューを使ってBFSで探索していけば、毎回エッジの分だけ分岐があるんだから なんらかの計算量はその分岐がどんどん積み重なっていき、 指数オーダーになってしかるべきだろう。 ふつうの人はそう考える。 どういうメカニズムで探索が省略されているのかなんとなく木を書き出して考えてみても、 なんとなくわかった気になったあとでやっぱりわからんとなる。 それが、ダイクストラ法を題材にしたちょっとした応用問題が出た時に手も足も出なくなる原因である。 グラフがぽいっと渡されて、はいs-t最短距離を計算してくださいと言われたら、 準備していたライブラリに食わせて終わりだが、 よく考えるとグラフ探索

        【競技プログラミング】ダイクストラ法の計算量はなぜO(E)なのか
      • Haskell で、優先度付きキューを使ったダイクストラ法

        Haskellのカレンダー | Advent Calendar 2022 - Qiita に参加させていただきます! 突然ですが Haskell でダイクストラ法を実装します。 ダイクストラ法は重み付きグラフで最短経路問題を解くアルゴリズムのひとつです。ダイクストラ法 - Wikipedia に詳しい解説があります。 ダイクストラ法は、重み付きグラフにおいて、その重みに負の値がない・・・つまり重みが正であることを前提にしています。この構造上の仮定によって、貪欲的手法を取ることができるのがその特徴で、結果ベルマン・フォード法などの汎用的なアルゴリズムよりも計算量的に有利になります。 ダイクストラ法では、始点から各頂点への到達コストを最初に \infty と置いて、そこから緩和操作によって徐々にそれらを最適コストまで収束させていくわけですが、このとき グラフの頂点集合からその時点で最小のコスト

          Haskell で、優先度付きキューを使ったダイクストラ法
        • エドガー・ダイクストラ

          Inferenceより。 クシシュトフ・アプト 結局、ナイメーヘンからアイントホーフェンに向かう列車は遅れて到着しました。さらに悪いことに、私は大学の建物の中にあるオフィスを見つけることができませんでした。結局、着いた時には、約束の時間に予定より30分以上遅れていました。教授は、私の謝罪を完全に無視し、会議に1時間も掛かってしまいました。私がエドガー・ウィベ・ダイクストラに会ったのはこの時が初めてでした。 1975年に会った時、ダイクストラは45歳でした。コンピュータ・サイエンスで最も権威のあるACMチューリング賞を授与されたのは、3年前のことでした。彼のほぼ20年後輩の私は、この分野についてほとんど知らず、数週間前にフローチャートが何であるかを知ったばかりでした。私は、共産主義のポーランドから来たばかりのポスドクで、数理論理学のバックグラウンドを持ち、西側にとどまる計画を持っていました。

          • ダイクストラ法のよくあるミスと落し方 - あなたは嘘つきですかと聞かれたら「YES」と答えるブログ

            ダイクストラ法、正しく書けてますか? ダイクストラは少しのミスですぐ計算量が壊れたりするのですが、テストケースによっては意外に落ちにくく間違いに気づかないこともあります。 この記事では、よくあるミスとその撃墜ケースを紹介していきます。 この記事はどちらかと言うと問題準備をする方に読んでほしい記事です。 writerをする際は、ここで紹介する撃墜ケースをテストケースに入れるようにすると良いと思います。 SではなくTを始点にするという小手先技が考えられるので、逆向きバージョンも入れておくと尚良いでしょう。 ジェネレーターも置いておきます。 コード中の定数を書き換えたり入力で取れるようにしたり、出力形式を変えたりして使ってください。 念の為生成されたテストケースにもちゃんとvalidatorをかけて下さい。 目次 既に見た頂点のcontinue忘れ: 最大ヒープを使う: 負辺のあるグラフで使う:

              ダイクストラ法のよくあるミスと落し方 - あなたは嘘つきですかと聞かれたら「YES」と答えるブログ
            • .NET 6に入ったPriorityQueueの紹介と、ダイクストラ法を書いてみる | Yucchiy's Note

              December 22, 2021.NET 6に入ったPriorityQueueの紹介と、ダイクストラ法を書いてみる この記事は、C# Advent Calendar 2021の22日目の記事です。 昨日はWiZLiteさんによる自作UIフレームワークExprazorの紹介と仮想DOMの実装方法 - Qiitaでした。 .NET 6 Preview 2に PriorityQueueの実装が追加されました。いままでC#には標準で優先度付きキューの実装はなかったのですが、.NET 6から標準でこのデータ構造がサポートされました。 Announcing .NET 6 Preview 2 | .NET Blog Add PriorityQueue to System.Collections.Generic (#43957) by pgolebiowski · Pull Request #46009

                .NET 6に入ったPriorityQueueの紹介と、ダイクストラ法を書いてみる | Yucchiy's Note
              1

              新着記事