Dijkstra 法がなぜ並列処理に向かないか?

玉入れとリレー

文系 Hadooper でも分かる Dijkstra アルゴリズム

今日の Hadoop ソースコードリーディングで Dijkstra アルゴリズムの知名度が低かったので, 解説を書いてみたぜ. このアルゴリズムを一言で説明すると? グラフ上のある始点からあるノードへの最短経路とその距離を求めるアルゴリズム. 用語が分かんないんだ…

0 と 1 を次々返す方法

http://d.hatena.ne.jp/a2c/20100902/1283411959こんな記事があったので, ちょっとやってみた.とっても素直. x = 0 if x else 1 x = False if x else True x = not x ちょっと読みづらい. x ^= 1 x = x == False とりあえずこんなとこでしょうか. おまけ リ…

Twitter 代わりに

今朝, どうも Twitter が死んでるようなので久々にこっちに書いてみる. (と書いていた今 Twitter が復活したんだが...)「もしかして広島の原爆がらみでアクセスが集中したんだろうか?」とか「Twitter が止まっている話題ってどこで話せばいいんだろ?」とか考…

Online Round1 通ったよ

今年から参加した Google Code Jam. Quolification Round は問題 C の large が時間切れになった以外は問題無く通った. 昨日の Sub-Round A, 今日の Sub-Round C とエントリしてなんとか通った. 全体的な反省としては, 競技者としてまだ未熟だなぁというあた…

色んな言語でウィンドウを出すだけのプログラムを書く

伝統的なプログラミングの入門書は, "hello world" という文字列をコンソールに出力させるプログラムを最初の一歩としている. しかし「これだけ GUI プログラムが溢れている中で CUI で第一歩を踏み出してどうする? そんなのよっぽどの物好きしか二歩目を踏…

Python の黒魔術

このスライドにインスパイアされて書きました. このブログに議事録があります. 俺はここ半年くらい Python にはまり, 色々細かいところまで調べて勉強していました. その結果, このスライドに載っている Ruby コードを黒魔術と感じない身体になってしまいま…

Emacs 基礎キーバインディング最速マスター

Emacs の最低限の操作方法を習得することを目標とする記事です. この記事は Twitter のこのポストをきっかけに思い立った勢いで書いたものです. なので初心者向けを意識してとりあえず基本編だけですが, 発展編はまた思い付いたらたぶん書きます. 0. まず初…

イテレートの書き方

上で議論したように, リストの操作を簡単に書くのは各言語, 特に LL と呼ばれる言語たちでサポートされてきています. C の直系と言える Java でも拡張 for 文が導入されましたし. 一旦それに慣れてしまうと, もう C の for 文には戻れません(苦笑)そこで, 同…

python の内包表記で list の flatten を書く

(以下, Python 2.6.4 でやってます.)python には内包表記という filter, map, reduce の代替ができるような表記方法があります. 詳しくは検索してもらうとして, 今回のネタはその内包表記で flatten という関数を書こうというものです.flatten というのは, …

CocoaEmacs on Snow Leopard の世話

バックスラッシュを入力 さて, 無事 CocoaEmacs も動くようになったが, またしても問題が……. バックスラッシュが JIS キーボードで入力できない……. C で改行コードが出力できない……. 今までは "option + \" で入力できていたのが, option が Meta キーにバイ…

CocoaEmacs に muse 入れたよ!

さて以前の日記で CocoaEmacs のビルドが無事に終わった訳だが, 文章を書くとなると Emacs muse が欲しくなります. 説明しておくと, Emacs muse というのは wiki に似た記法で文章を記述でき, Emacs 上では文章が整形されて表示されます. また, html, xhtml,…

Snow Leopard に CocoaEmacs インストールできました.

これまでの流れ 以前 CocoaEmacs をインストールしようとして失敗し, 一先ず Aquamacs Emacs を入れることで凌いでいました. しかし, emacs muse をインストールする段になって, path にスペースが含まれてしまっている("Aquamacs" と "Emacs" の間)ことでイ…

Snow Leopard で使える Emacs 探し

Snow Leopard にしてから Carbon Emacs が使えず困っている. 起動してもすぐに終了するし, Rosetta を使って起動してもしばらくすると落ちてしまう. 俺はほとんどの文章の下書きを Emacs 上でやっていたが, Emacs が無い生活をしてみて「Emacs って身体の一…

iPhone アプリのインストールで引っ掛かったこと

iPod touch も買ったし, Mac mini も新調して, Snow Leopard も入れたし, 上がったテンションの勢いで iPhone アプリの開発をしようと思いました.しかしその勢いを削ぐかのように, 初めての実機へのインストールは手順が分かりづらかったです. そこで躓いた…

インストールッ!!

遂にインストールを断行しました. SafariStand を使いたいがために, Safari は 32bit 起動だけど, そこから初めての雪豹からはてダ書いてます. さてさて, これからやらなきゃいけない作業が色々〜.

やっと到着!!

6月に Mac mini を新しく買った際に, 980円で手に入れたアップグレード版の Snow Leopard が遂に家に来ました!8/28 に着くのかと思っていたら, その日届いたメールには「8/28 発送 9/2 配送予定」との文字が……orz mixi, Twitter, ブログその他で起こる喜びの…

TopCoder 始めました

この記事や同僚の話などで存在は知っていた TopCoder. 今日, 思い立って登録してアルゴリズム部門のところを2問ほど解いてみた. 問題の色としては Project Euler に近かったりもするので, 楽しめそうだ. まだ良く分かってないところとしては, 以下の感じ. ja…

21問目

を真の約数( の約数のうち より真に小さいもの)の合計と定義する. もし かつ であり の場合, と を友愛数と呼ぶ.例えば, 220 の真の約数は 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110 なので . 284 の真の約数は 1, 2, 4, 71, 142 なので .10000 未満の全ての…

19問目

以下のような情報があります. また, 各自で調査しても良いでしょう. 1900年1月1日は月曜日. 小の月は9月, 4月, 6月, 11月. 残りは2月を除いて大の月. 2月は通常は28日だが, 閏年では29日. 閏年は, 4年に1度あり, 100年に1度は閏年でなくなり, さらに400年に1…

17問目

数字の1から5までを単語で書くと one, two, three, four, five となり, 全部で3+3+5+4+4=19文字使っています. では, 1から1000(one thousand)までを単語で書くと何文字使うでしょうか?メモ: ハイフンや空白は数に数えません. 例えば, 342 (three hundred and…

14問目

正の整数の数列が以下の反復規則で定められている. . 上記のルールを使って13から始めると, 次の数列が得られる. . この数列には(13から1まで)10個の数字が含まれている. これはまだ未解決問題(Collatz 問題)なのだが, どの数字から始めても1に辿り着くと考…

プロジェクト・オイラー 14, 17, 19, 21問目

やっべぇ, 最近問題を解いてもいなかったし, ブログも書いてなかった(-_-; ついつい仕事にかまけて, エントリを書く気力がありませんでした…….

ついに買いました!

ボーナスを待って, 新しい Mac mini を買いました. さて, 昔の環境を移行したり新たにアプリを入れたりする作業をしましたが, 次やるときに迷わないように備忘録. たいていの設定などは「移行アシスタント」で移行できてるので, 予想してたより楽に移行でき…

63問目

5桁の数 は5乗数でもある. 同様に, 9桁の数 も9乗数である.桁の数でもあり, 乗数でもある正の整数はいくつあるか? http://projecteuler.net/index.php?section=problems&id=63 これは数学で考察を進めるだけで解けました. より, を計算して, 終了.

48問目

である. の下10桁を求めよ. http://projecteuler.net/index.php?section=problems&id=48 実装自体は簡単だと高を括って powMod 関数を作ってみたが, 桁あふれに上手く対処できず, 結局 gmp さんの力を借りることにしました. #include <stdio.h> #include <stdlib.h> #include "p</stdlib.h></stdio.h>…

18問目

下図の三角形に並べられた数字の一番上からスタートして, 1つ下の行の隣接する数字に移動していったとき, 通った数の合計の最大値は23. つまり, . (訳注. 実は, というルートでも良い.)では, 次の三角形に並べられた数字の一番上から一番下までの合計の最大…

12問目

三角数からなる数列は, 自然数を次々と足していくことで得られる. 7番目の三角数は になる. 数列の最初の10項は, となる.三角数の最初の7項について約数を列挙すると, となる. これから, 28 が約数の数が5を越える最小の三角数だと分かる.では, 約数の数が 5…

ぷろじぇくと・おいらー 12, 18, 48, 63問目

プロジェクト・オイラーの問題を解き進めてはいたのですが, ブログに書くのをちょっとサボってました(^-^; まとめてエントリに書きます.ちなみに, この4問を解いたことで計25問解いたことになり, 無事 Level1 になれました. パチパチパチ〜.

Safari 4 正式版出た出た

↓この頃から待ち焦がれていた, Safari 4 正式版をインストールしました. http://d.hatena.ne.jp/cocoatomo/20090225/1235576351 http://d.hatena.ne.jp/cocoatomo/20090224/1235491357前みたいに, Ajax 的なブログパーツがあったりするとスクロールが固まっ…