初心者向けのアルゴリズムの書き方

彼のオフィスで遅くまで働く

画像クレジット: vgajic / E + / GettyImages

新しいアルゴリズムを考案することは、新しいプログラマーにとっては恐ろしいように思えるかもしれませんが、それは他の人と同じように実践できるスキルです。 初心者向けのアルゴリズムの問​​題の本を探すか、オンラインまたはオフラインのコンピュータサイエンスのクラスを受講することから始めます。 複雑さと実行時間の見積もり、チェックなど、アルゴリズム設計の基本をマスターする練習をする コンピュータアルゴリズムに問題を引き起こす可能性のあるエッジケースの場合、および問題をより小さなものに分割する 部品。

コンピュータアルゴリズムとは

アルゴリズムは、コンピューターまたは人間が問題を解決するために従う手順です。 筆算は、多くの人が学校で行うことを学ぶサンプルアルゴリズムです。 2つの数値の最大公約数を見つけるために使用されるユークリッドの互除法は、もう1つの一般的な例です。

今日のビデオ

コンピューターのアルゴリズムは、最終的にはコンピューターが理解できるプログラミング言語で書かれていますが、アルゴリズムが 開発されたプログラマーやコンピューター科学者は、最初に非公式に散文として書き、次に正式に「 擬似コード。

擬似コードはプログラミング言語のように見えますが、コンピューターではなく人間が読み取るように設計されているため、厳密な構文規則はありません。

初心者のための簡単なアルゴリズムの例

アルゴリズムの有名な例は、多くの場合、初心者のコンピューター科学者やプログラマーに教えられています。 いくつかの例は、2点間の最短経路を見つけるためにグラフ理論で使用されるダイクストラのアルゴリズムです。 データのリストをソートするために使用されるマージソート。 データの暗号化に使用されるRSAアルゴリズム。 これらの多くは、無料の教科書、ビデオ、コース資料でオンラインで入手できます。

オンライン学習サイトのKhanAcademyには、初心者が試すことができるアルゴリズムの例がたくさんあります。 ハーバード大学、スタンフォード大学、マサチューセッツ工科大学などの主要大学がカリキュラムを作成しています コンピュータサイエンス入門用にオンラインで利用できる一般的なアルゴリズムを使用した資料とコースビデオ クラス。

プログラミングコンテストの問題とその解決方法の説明があるサイトもあり、スキルの開発に関心のある人に役立ちます。

アルゴリズムに関する考慮事項

新しいアルゴリズムを考え出すときは、それが必要だと思うすべての場合にそれが機能することを確認し、それがどれほど効率的であるかを理解しようとします。 通常、プログラマーはアルゴリズムを個別の部分に分割して、各部分がどのように機能し、どのくらいの時間がかかるかを考えることができます。 これはモジュラー設計と呼ばれます。

コードを書き始める前に、いくつかの単純なケースでペンと紙を使って自分でアルゴリズムをテストすることをお勧めします。 効率について考えるときは、平均的なケース、アルゴリズムが遭遇する可能性のある一般的な状況、および最悪の場合のランタイムについて考えてください。 最悪の場合のランタイムは、Big-O表記と呼ばれるもので表されることがよくあります。