読者です 読者をやめる 読者になる 読者になる

Bresenham

perlでBresenhamアルゴリズムを書いてみました。 考え方は下記のような感じ。 xが増えたら、だけyが増える 整数単位の話なので、が1以上になったら、yが1増える じゃなくて、で比較すれば、割り算が無くなって便利 use strict; use warnings; bresenham_line…

AnyEvent::Twitter::Streamでベイジアンフィルタの様子を見る

ツイートストリームをベイジアンフィルタでカテゴリ分けしていく様子を見てみました。 カテゴリとしてハッシュタグを利用します。 ハッシュタグが付いているツイートは、フィルタの学習テキストとなります。 ハッシュタグが付いていないツイートは、どのハッ…

ベイジアンフィルタの学習データをデータベースかStorableで管理

WEB+DB PRESS Vol.56作者: 赤松祐希,紀平拓男,牧大輔,西林孝,中島聡,中島拓,角田直行,はまちや2,舘野祐一,きしだなおき,和田裕介,伊藤直也,大沢和宏,塙与志夫,増井俊之,ミック,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2010/04/24メディア: 大…

バブルソート

バブルソートを行なうプログラムをperlで書いてみました。 use strict; use warnings; { my @a = (8,4,3,9,7,6,5,2,1); print "===================\n"; print join(',',sort(@a)) . "\n"; } sub bubble_sort { my @a = @_; my $a_length = @a; for (my $i =…

逆ポーランド記法を使って四則演算を行なう

配列に入っている式から四則演算行なうプログラムをperlで書いてみました。 演算子とカッコの優先度を考慮しながら計算するために、逆ポーランド記法に直して計算するようにしています。 use strict; use warnings; { cal(qw|5 + 4 - 3|); cal(qw|5 + 4 * 3 …

ユークリッドの互除法

ユークリッドの互除法をperlで書いてみました。 use strict; use warnings; { gcd(160,48); } sub gcd { my ($x, $y) = @_; my $c; while ($x > 0 && $y > 0) { if ($y > $x) { $c = $x; $x = $y; $y = $c; } print "$x, $y\n"; $c = $y; $x = $x - $y; $y =…

クイックソート

クイックソートを行なうプログラムをperlで書きました。 use strict; use warnings; { my @a = qw/3 2 0 5 8 3 4 1 3 2/; print join(',',@a) . "\n"; print "===================\n"; print join(',',sort(@a)) . "\n"; } sub pivot { my ($ar, $i, $j) = @…

マージソート

perlのsort関数はマージソートを使っているということなので、 勉強のため、perlでマージソートするプログラムを書きました。 use strict; use warnings; { my @a = (8,4,3,9,7,6,5,2,1); print join(',',@a), "\n"; print "===================\n"; print j…