[アルゴリズム] マージソートのプログラミング(PHP編)

hand-2007352_1280
LINEで送る
Share on GREE
Share on LinkedIn

マージソートは、配列操作のオンパレードなので、C言語やShellをコーディングするのが、非常に難しそうだが、
PHPは、関数パラダイスなので、こうした処理は得意な言語です。
でも、あまりPHPに特価した関数を使うのは好きではないので、できるだけ自分で効率的な関数が書けると、
PHPモジュールのバージョンアップの時に、いきなり関数の仕様が変わったときや、使えなくなった時などには
非常に堅牢なシステムになるはずなので、こうしたレガシーの考え方はシステム開発においては重要だと思われる。
最近のWEBシステム開発ではこうした思考が求められているのではないかな?

ソースコード

実行

解説

PHP使用したの配列操作

小数点数値の四捨五入処理

端数の数値に0.5を足しこんでintで整数化(端数切り捨て)をすれば、四捨五入処理になる。
PHPのintは(int)とカッコで囲むようにしよう。

処理速度

MacBookPro Corei7 3.3GHzにHomebrewでインストールしたPHPで実行したんだが、下記のような計測値となった。
他言語と比較してみるといいかも。

real 0m0.078s
user 0m0.058s
sys 0m0.011s

マージソート記事

解説
JavaScript
PHP

アルゴリズム過去記事

http://wordpress.ideacompo.com/?cat=562&tag=Algorithm

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*