タグ

ブックマーク / lethe2211.hatenablog.com (2)

  • Pythonでダイクストラアルゴリズムを実装した - フツーって言うなぁ!

    しばらく忙しくて,更新が途絶えてしまいました. 少なくとも今年度中は,2週間に1回更新を続けていきたいです. 題. 競技プログラミングで,ダイクストラアルゴリズムを実装する機会があったので,ソースコードを載せておきます. ダイクストラアルゴリズムとは? ダイクストラアルゴリズム(ダイクストラ法)とは,重み付きグラフの探索アルゴリズムの一種で,すべての辺の重みが非負なグラフの単一始点最短経路問題を解くためのアルゴリズムです. グラフの始点が与えられた時,そこから他の(すべての)頂点までの最短経路と,そこまでの重みの和(最短距離)を求めることができます. ダイクストラ法 - Wikipedia ナイーブなダイクストラアルゴリズムはO(|V|^2)ですが,プライオリティキュー(優先度付きキュー)と呼ばれるデータ構造を用いることで,O(|E|log|V|)程度で最短経路を求められます. 優先度つ

    Pythonでダイクストラアルゴリズムを実装した - フツーって言うなぁ!
  • 言語処理100本ノックを(第5章まで)やってみた - フツーって言うなぁ!

    久しぶりに技術関係のネタ書きます. 「言語処理100ノック」という,自然言語処理関係の問題集があることを知ったので取り組んでみました. これは,東北大学の乾・岡崎研究室でのプログラミング勉強会にて使われている教材だそうです. 「100ノック」の言葉通り,100問の問題からなる問題集をこなすことで,自然言語処理に関する基礎力と,プログラミング言語運用能力が同時に培えるようになっています. こういうものが公開されるとは,「いい時代になったなー」と純粋に思います. www.cl.ecei.tohoku.ac.jp 内容は,自然言語処理だけでなく,データベース,機械学習など,今の言語処理関係の研究に必要なスキルがこれ1つで身につくように設計されています. 対象プログラミング言語はPythonのようですが,基的に他の言語でも問題なく進められるようにはなっていると思います(言語処理に強いプログラ

    言語処理100本ノックを(第5章まで)やってみた - フツーって言うなぁ!
  • 1