アルゴリズムとは
アルゴリズムとは
数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。(引用 wikipedia)
代表的なものとしては、ソート(並び替え)を行うために並び替えの手順。
ソートするためのアルゴリズムも1つだけではなく、選択ソート、バブルソート、クイックソートなどいくつも種類がある。
ソートの他には、ファイル圧縮やデータのファイルの暗号化などもアルゴリズムを用いて実現している。
アルゴリズムの評価の軸
- 効率性、速度
- メモリの使用量
- コーディングのしやすさ
フローチャートとは
フローチャートとは
プロセスの各ステップを箱で表し、流れをそれらの箱の間の矢印で表すことで、アルゴリズムやプロセスを表現する図である。
アルゴリズムやプロセスについて、単にその順序だけを示すもの。
(引用 wikipedia)
ソートの並び替えを視覚的に見える化するために表現するための方法。
プログラムの処理とかではなくても、業務やある出来事に対する処理の流れを表現するときにも用いる事がある。
フローチャートの図記号はJIS X 0121(1986)「情報処理用流れ図・プログラム網図・システム資源図記号」で26種類の記号が規格化されている。
今回の目的
プログラムの作成やシステムの開発の過程で、複雑な仕組みを実現するシーンが発生します。
ソートのアルゴリズムを例にして、「並び替え」という実現したいことに対して、やり方はいくつもあるということを考え、アルゴリズムを覚えるというよりも実現したいひとつのことに対して方法はいくつかある、ということを理解することです。
また、フローチャートを用いることで、文字だけ(プログラム)だけだと難解な事象を可視化することで、理解を深めます。
ソートのアルゴリズム
ソートとは
ある特定の規則に従って並び替えること。Excelにもある機能ですね。
小さい順に並び替える事を「昇順」、大きい順に並び替える事を「降順」と言います。
並び替えるという作業は、システム開発をするなかでもデータベースを扱ったりするときにもよく利用する処理です。
ソートアルゴリズムの種類と特徴
速度
実装するときどうする?
プログラミングするときは、このようなソートをわざわざ実装する必要はありません。
各言語で用意されているライブラリやAPIは積極的に利用しましょう。
なぜなら、ソートに限らず、一般的に用意されているライブラリなどは品質が安定しており、同じ結果が求められるのであれば、効率よく実現できる方がよいためです。
自分が実装したらテストもしなくてはならないし、手間が多くなります。
フローチャート基礎
フローチャートで使う主な記号
フローチャート JIS X 0121(1986)26種類の記号
フローチャートを書くツール
※最新の情報の取得・更新に努めておりますが、掲載内容については、その正確性、完全性、有用性、最新性等についていかなる保証もするものではありません。