アルゴリズムとは、問題解決の為に必要不可欠な知恵であり技術です。
それをソフトウェア開発の上で、コードに実装することで、ソフトウェアによる問題解決が出来るのです。
いやはや、同じ処理でも見方を変えて、アルゴリズムを改良すると、処理速度の向上という、とんでもない恩恵が受けられるのですね。
O(n)がO(logn)へと変わるように劇的に効果が表れるのです。
う~ん、まだ考案も発見されてもいないアルゴリズムがあるはずです。
考えることの素晴らしさ。
問題を細分化し、アルゴリズムを見直すことは重要だと痛感させられました。
今や、CPUのマルチコア化や高速化で、例え遅いコードを書いたとしても、体感速度は余り変わらないと思います。
それ故、AI(Aetficial Intelligence)やクラウドといった環境の変化に合わせて必要なアルゴリズムは開発されていると思いますが、未だCPUの速度が22kHzという30年前よりも、新しいアルゴリズムの考案がなされる機会が減っているのではないかと推測します。
考えることの素晴らしさ。
是非、これを忘れないようにしています。