2007-11-23から1日間の記事一覧

heapsort

データ構造の説明 ひとつの配列でヒープを表している(classを作って再帰的にとかしてない) a[0..(a.size-1>>1)]までが親 a[i*2+1]が左側の子 a[i*2+2]が右側の子 常に親>子の関係が成り立っている。 a=(0..30).map{rand(100)} def a.heapsort &block n = s…

mergesort

a=[52, 0, 1, 92, 93, 83, 29, 99, 48, 13, 24, 28, 68, 17, 19, 82, 67, 14, 22, 85] def a.merge_sort(&cond) cond = proc{|x,y| x

sortしてみた

(実際に投稿したのは24日です><) 最近、読んでいる「再帰の技法」という本の中にいろいろなソートアルゴリズムが出てきたので、 それをrubyで書いてみた。 理由 C->rubyという変換をすれば、以下のことがわかる気がしたので。 C-の文法になれることができ…