X
この記事の共著者 : Tyrone Showers. 技術者のタイロン・シャワーズは、ワシントン州シアトルを拠点とするITコンサルティング会社「Taliferro Group」の共同経営者です。API設計、eコマース(EC)、業務効率化、ウェブサイト開発を専門とし、経験は35年以上。デブライ工科大学にてコンピューターサイエンスの学士号を取得。
この記事は2,165回アクセスされました。
アルゴリズムは問題解決やタスク遂行のために設計された一連のステップです。プログラムを記述する前には通常、擬似コードや会話言語と1つ以上のプログラミング言語を組み合わせてアルゴリズムを書きます。この記事では、アプリケーションを作るためのアルゴリズムの構築方法を紹介します。
ステップ
-
コードの目的を決める 解きたい問題や遂行したいタスクを具体的に決めましょう。コードを使って実現したい目標を具体的に定めたら、それを達成するためのステップを把握することができます。
-
開始点を決める 開始点と終了点を決めることは、処理ステップを羅列するために不可欠です。開始点を決めるには、以下の質問に回答してみることです。[1]
- どのような入力データを利用できるのか?
- そのデータはどこにあるのか?
- 手元の問題やタスクに適用可能な公式や法則は何か?
- 利用可能なデータを扱うためのルールは何か?
- 各データ同士にはどのような関連性があるのか?
-
アルゴリズムの終了点を決める 開始点と同様に、以下の質問に回答することで、終了点を決めることができます。
- 処理の結果、何が分かるようになるのか?
- 開始から終了までに変化することは何か?
- 何が追加されるのか?または何がなくなるのか?
-
ステップを開始から終了まで羅列する まずは、大まかなステップを考えるところから始めましょう。日常生活を例にとって、夕食にラザニアを食べることを目標に設定するとします。開始点を「レシピを見つけること」、終了点を「午後7時までに出来上がったラザニアが食卓に上っていること」に決めたとします。この場合、開始点から終了点までのステップは以下のようになるかもしれません。
- オンラインでレシピを検索する
- 既にキッチンにある材料を探す
- 店で購入しなければならない材料のリストを作る
- 必要な材料を店で購入する
- 帰宅する
- ラザニアの下ごしらえをする
- ラザニアをオーブンから取り出す
-
各ステップをどのように遂行するかを把握する 前のステップでは、目標を段階的に達成していくための大まかなステップを決めました。続いて、「どの言語を使うのか?」、「どのようなリソースを利用できるのか?」、 「その言語で各ステップを遂行するための最も効率的な方法は何か?」など、各ステップをどのようにコード化するのかを考えます。考えたコードのいくつかをアルゴリズムに組み込みます。処理プロセス全体を詳細に記述できるまで、各ステップを掘り下げてみましょう。
- ラザニアの例では、アルゴリズムの最初のステップは、「オンラインでレシピを検索する」ですが、「検索」には何が必要で、何をする必要があるのかを具体化します。例えば、以下のように具体化することができます。
- パソコンの電源を入れる
- インターネットに接続していることを確認する(接続していない場合は、接続する)
- ウェブブラウザを開く
- 検索ワードを入力する
- レシピのリンクをクリックする
- レシピが自分のニーズに合うかを判断する
- ベジタリアン以外のレシピを除外する
- そのレシピが2人前以上に対応できるかを確認する
- 適切なレシピが見つかるまで、上記のいくつかのステップを繰り返す
- パソコンの電源を入れる
- 利用可能なリソース(例:開発するプログラムを適用するシステムの性能)を考慮しましょう。ラザニアの例では、ラザニアを作る人はインターネット検索やオーブンの操作を行う能力があることを前提としています。
- ラザニアの例では、アルゴリズムの最初のステップは、「オンラインでレシピを検索する」ですが、「検索」には何が必要で、何をする必要があるのかを具体化します。例えば、以下のように具体化することができます。
-
アルゴリズムを評価する アルゴリズムを記述したら、処理プロセスを評価してみましょう。アルゴリズムは特定の事柄を達成するように設計されており、プログラムの記述を開始するにはアルゴリズムが必要です。以下の質問を念頭に置き、必要に応じてそれらの質問に対処しましょう。[2]
- そのアルゴリズムは問題を解くか?あるいはタスクを遂行するか?
- そのアルゴリズムは入力データと出力データを明確に定義しているか?
- 終了点を再定義してより一般化または具体化する必要があるか?
- 単純化できるステップはないか?
- そのアルゴリズムで、最終的に正しい結果が得られることが保証されているか?
広告
ポイント
- 既存のアルゴリズムを調べて、自分でアルゴリズムを書くためのヒントを得ましょう。
- 高速イテレーション(反復処理)を利用しましょう。
- コードを記述する際には効率性を重視しましょう。
- 終了処理の記述を忘れないようにしましょう。さもなければ、コードは正常に動作しません。
広告
出典
このwikiHow記事について
このページは 2,165 回アクセスされました。
この記事は役に立ちましたか?
広告



