ボクココ

個人開発に関するテックブログ

就活中でもプログラミング!

やっぱ腕は磨き続けないとね。
研究室から借りたアルゴリズムのバイブルを読み始めた。
Railsもいいけど、今は基礎を学んでみようと思ったのです。
アルゴリズムイントロダクション

その中で最初に出てくる挿入ソートとマージソートRubyで実装。
挿入ソートはめっちゃ楽。要は一個ずつどこに入れていけばいいかを考えていけばおk。 大富豪やってる時のソートと同じイメージ。


def insert_sort(a)
for j in 1..a.length-1 do
key=a[j]
i=j-1
while i>=0 && a[i]>key
a[i+1]=a[i]
i=i-1
end
a[i+1]=key
p a
end
end
マージソートは苦労してしまった^^; マージの方法がこの本に全く書いてない。だから自分でどういう風にすればマージできるかを考える必要がある。

def merge_sort(a,p,r)
if p
にしても汚いコードだw 
どこを改善すればよいか教えてくださる方がいれば本当に嬉しいです。 個人的に同じようなifとか連続で出ちゃうとセンスないなぁと思ってしまう。・・・これ書くのに3時間もがいた;
とはいえ、時間をかけて完成した作品はいいものだ。
毎回反省するのは、もっと紙に考えて本質を理解しなきゃいけないってこと。なんとなくコーディングしてたら絶対完成しないね。
それこそがプログラミングですなぁ。