HAYDAY!

忘れやすいポンコツ人間。学んだこと、日々感じたこと、備忘録用ブログ

アルゴリズムについて調べると眠れなくなった

こんばんわ!

 

アルゴリズムってたまーに聞くけど、何だろうと思ったことはありませんか?

僕もシステム開発の仕事についていながら、アルゴリズムという言葉の意味をちゃんと説明ができませんでした。

 

アルゴリズムとは??

Wikipediaによると

数学コンピューティング言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したもの

アルゴリズム - Wikipedia

 

例えば、1~100の数字が書かれているランダムに並んだカードがあって、それを大きい順に並べなさいと言われたら、どう並び替えますか?

 

カードを1枚手にもって、束の1番上のカードから順番に1枚ずつ引いて、数字が大きいほうを手に持っているものと入れ替える。

それをずっと繰り返して、最後に手に持ってるカードが一番大きいので最大カードとする。

という1ループを100回繰り返せば、ソートできます!

 

もしくは、

まず、50を基準として、束の1番上のカードから順番に1枚ずつ引いて、50以上と以下で2つに分ける。

2つに分けたものを、それぞれ基準の数字を決めて、さらに2つに分ける。

というのを1枚になるまで繰り返す。

 

など方法がいっぱいありますが、その方法それぞれが「アルゴリズム」と理解しました。

 

並び替えのアルゴリズムだけでもいっぱいあって

このQiitaの記事をぜひみてほしい。

 

qiita.com

 

このアルゴリズムを1つ1つみてると、

「あれがこうきて、それがこうで、、これを繰り返して・・なるほど!」

って感じで、考えて理解するのがめっちゃ面白い!

 

面白いのですが、夜から脳をフル回転させてしまったので、結果的に、眠れなくなっていますw

 

そして、なぜかYoutubeの横に出てきた「アルゴリズム体操」を見てしまって、頭から離れなくなっています・・

 

みなさんもご注意ください><;

 

さいごに、補足情報!

アルゴリズム機械学習を学ぶ上でも必要になってきます。

勉強するには以下のサイトが面白そうです!

visualgo.net

 

以上、おやすみなさい。。