アルゴリズムとは?

Rubyによるアルゴリズムの学び

問題を解決するまでの1連の手順のこと
アルゴリズムの勉強をする意味は「論理的思考を養う」ことにある。


基本のアルゴリズム

アルゴリズム名	用途	     特徴
線型探索	探索	  容易に探索できる
二分探索	探索     高速に探索できる
選択ソート	ソート	容易にソートできる
バブルソート	ソート	容易にソートできる
クイックソート	ソート	拘束にソートできる。

アルゴリズムの基本構造3パターン
アルゴリズムの基本知識

基本知識	                            プログラミング用語
順番に処理を実行する 	                        順次実行
特定の条件を満たすまで繰り返し実行する	        条件分岐
特定の条件によって実行する処理を振り分ける	反復処理

・順次実行
プログラミングが書かれた順番に上から下へ処理を実行

puts = "処理1"
puts = "処理2"

・条件分岐
特定の条件が満たされた場合に実行する処理と満たされなかったときに実行する処理を分岐させる。

height = 140
if height > 150
  puts "OK"
else
  puts "NG"
end

・反復処理
特定の条件が成立する限り処理を繰り返し実行する処理

num = 1
while num <= 10
 puts num
 num += 1
end

アルゴリズムは基本的にこの3つの動作で表現する、この動作をアルゴリズムの制御構造という。
アルゴリズムを分解していくとこの3つの制御構造によってプログラムは構成されている。
例題などを丸暗記しても意味ないし、ソートをすべて100%学習する必要はないと思う。
ああ、こういった勉強したな、あれ?と思ったら自分で勉強したことを復習すればいいと思う。
ただ例題を知っているのと知らないのでは効率が違うし、わからなくなったらここに帰ってきたい。