タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

algorithmとrubyに関するthreeMonthsのブックマーク (2)

  • Rubyでソート・アルゴリズムを表現しよう! - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 Rubyでソート・アルゴリズムを表現しよう! : melborne.github.com - アルゴリズムとその実装には往々にして乖離があります アルゴリズムが理解できてもその実装が複雑で 理解に苦しむ ということが少なくありません 原因の1つはプログラミング言語の記述力にあると思います Rubyは極めて記述力が高い言語です 人間の意志をコードで表現する上での制約が極めて少ないのです これが動く疑似コードと言われる所以です ソート・アルゴリズムは配列によるデータ構造を操作します RubyのArrayクラスは強力だから Rubyの記述力を証明するいい題材になります 早速 挿入ソート 選択ソート バブルソート クイックソート マージソートをRubyで表現してみましょ

    Rubyでソート・アルゴリズムを表現しよう! - hp12c
  • Rubyで最短経路を探索しよう! - hp12c

    人生を書き換える者すらいた。: 人材獲得作戦・4 試験問題ほか 次に同じ質問がきたときに 「1時間いらないっしょ、こんなの」 と是非ともほざくために 今から勉強します ダイクストラ法による最短経路探索 図におけるS点からG点に到達するための最短経路を求めたい 各ノードを結ぶエッジを糸としてS点をゆっくりと持ち上げた場合 緊張する糸が変移しながら最終的にS−B−D−Gを結ぶ糸が緊張して これが最短経路と分かる*1 計算機上でこの現象をシミュレートしたものを ダイクストラ法というらしい 今各ノードとそこから伸びるエッジの情報(コストと接続先)を渡して その最短経路および総コストを出力するプログラムを考えてみよう data = { :s => [[5, :a], [4, :b], [2, :c]], :a => [[5, :s], [2, :b], [6, :g]], :b => [[4, :s

    Rubyで最短経路を探索しよう! - hp12c
  • 1