CodeGym /Java Blog /ランダム /コーディング スキルのレベルアップ、パート 2. アルゴリズムについて学ぶ場所
John Squirrels
レベル 41
San Francisco

コーディング スキルのレベルアップ、パート 2. アルゴリズムについて学ぶ場所

ランダム グループに公開済み
CodeGym のコースの一部ではない追加のプログラミング関連の主題に関する一連の記事を継続し、それらを学習できる場所に関するリンクと推奨事項を示します。今日はアルゴリズムについて話します。 コーディング スキルのレベルアップ、パート 2. アルゴリズムについて学ぶ場所 - 1

アルゴリズムとは

アルゴリズム自体は、問題を解決するための段階的な受け取りにすぎません。最近のプログラミングで使用されているアルゴリズムの大部分は、すでに発見され、テストされ、証明されています。Java のアルゴリズムは、コレクションに対してさまざまな操作を実行するために使用される静的メソッドです。Java プログラマがデータを保存および整理するためにデータ構造を使用する場合、それらの構造内のデータを操作するためにアルゴリズムが使用されます。したがって、これら 2 つのトピックは相互に関連しており、それらがどのように連携して機能するかを理解することは非常に重要であり、Java コーディングをより効率的に行うことができます。アルゴリズムはあらゆるプログラミング言語に適用でき、経験豊富なプログラマーは通常、少なくともこのトピックの基本を理解し、使用しているプログラミング言語でアルゴリズムをコードに変換する方法を知っていることが期待されます。

アルゴリズムに関する本

  1. ナラシンハ・カルマンチ著『 データ構造とアルゴリズムを簡単に』

    アルゴリズム (およびデータ構造) の初心者に最適な教科書の 1 つ。『Data Structures And Algorithms Made Easy: Data Structures and Algorithmic Puzzles』は、複雑なデータ構造とアルゴリズムに対する解決策を提供する本です。各問題には複数の解決策があり、この本は C/C++ でコーディングされています。面接、試験、キャンパスワークの準備のガイドとしてこれを使用できます。

  2. Aditya Bhargava によるGrokking アルゴリズム

    「Grokking Algorithms」も理解しやすく、完全に図解され、フレンドリーなトーンのガイドで書かれており、プログラマーとして毎日直面する実際的な問題に一般的なアルゴリズムを適用する方法を教えます。並べ替えと検索から始めて、アルゴリズム的に考えるスキルを構築するにつれて、データ圧縮や人工知能などのより複雑な問題に取り組むことになります。各例には、図と完全に注釈が付けられた Python のコード サンプルが含まれています。

  3. Thomas Cormen によって ロック解除されたアルゴリズム。

    アルゴリズムの知識を深めたい初心者やコーディング専門家向けのアルゴリズムの基礎に関する本で、今回は MIT の学生向けの大学の教科書として書かれました。

    「読者は、コンピューター アルゴリズムとは何か、それをどのように記述し、どのように評価するかを学びます。彼らは、コンピュータ内の情報を検索する簡単な方法を発見します。コンピュータ内の情報を所定の順序に並べ替える方法(「ソート」)。「グラフ」と呼ばれる数学的構造を使用してコンピュータでモデル化できる基本的な問題を解決する方法 (道路網、タスク間の依存関係、財務関係のモデル化に役立ちます)。DNA構造などの文字列を問う問題の解き方。暗号化の背後にある基本原則。データ圧縮の基礎。そして、コンピューター上で妥当な時間内に解決する方法を誰も見つけていない問題がいくつかあるということさえ」と本の著者は述べています。

  4. Java のデータ構造とアルゴリズム(Robert Lafore 著)。

    これは特に Java に焦点を当てた教科書です。Robert Lafore は、明確で単純なサンプル プログラムに加えて、Web ブラウザ上で実行可能な小さなデモンストレーション プログラムとしてワークショップを本書に追加しました。プログラムは、データ構造がどのようなもので、どのように動作するかをグラフィック形式で示します。

    各章の最後にあるプログラミング プロジェクトに対する推奨ソリューションは、著名な教育機関の講師に提供されています。この教科書の教育用補足資料は、 pearson.comのインストラクター リソース センターにあります。

  5. 『Hello World: アルゴリズム時代の人間であること』ハンナ・フライ著。

    ハンナ・フライ著「Hello World: Being Human in the Age of Algorithms」は、アルゴリズムを少し異なる視点から考察したかなり興味深い本です。著者は、医療、交通、犯罪、商業における重要な意思決定をすでに自動化しているアルゴリズムの真の能力と限界について説明しています。

アルゴリズムに関するオンラインコース

  1. アルゴリズム、パート Iパート II、プリンストン大学による Coursera 経由。

    プリンストン発の非常に素晴らしい完全無料のコースです。Java 実装のアプリケーションと科学的なパフォーマンス分析に重点を置き、アルゴリズムとデータ構造について、すべての本格的なプログラマーが知っておく必要がある重要な情報をカバーしています。パート I では、基本的なデータ構造、並べ替え、検索アルゴリズムについて説明します。パート II では、グラフおよび文字列処理アルゴリズムに焦点を当てます。このコースでは修了時に証明書は発行されません。

  2. Coursera 経由の UC サンディエゴによる データ構造とアルゴリズムの専門化プログラム。

    カリフォルニア大学サンディエゴ校と国立研究所高等経済学部が提供する、アルゴリズムとデータ構造に関するもう 1 つの評判の高いコース プログラムです。この専門分野は理論と実践を組み合わせたものです。さまざまな計算問題を解決するためのアルゴリズム技術を学び、選択したプログラミング言語で約 100 のアルゴリズム コーディング問題を実装します。

    「アルゴリズムに関する他のオンライン コースは、次の就職面接で直面する可能性のあるプログラミングの課題を豊富に提供するものに匹敵するものはありません。皆さんの準備のために、私たちは、MOOC でよく見られる多肢選択式の質問の代替として、3,000 時間以上をかけて課題を設計しました。申し訳ありませんが、アルゴリズムやその他のコンピューター サイエンスの学習に関しては、多肢選択問題は信じていません。開発および実装するアルゴリズムごとに、その正確さと実行時間をチェックするために複数のテストが設計されました。これらのテストが何であるかさえ知らずにプログラムをデバッグする必要があります。難しく聞こえるかもしれませんが、それがアルゴリズムがどのように機能するかを真に理解し、プログラミング技術を習得する唯一の方法であると私たちは信じています」とコースの作成者は述べています。

  3. Coursera を介したスタンフォード大学によるアルゴリズムの専門化

    そして今回は、評判の高い大学であるスタンフォード大学による、よく知られた無料のアルゴリズムコースの 3 つ目です。このコースは、少なくとも少しのプログラミング経験がある学習者を対象としたアルゴリズムの入門です。学習者は、いくつかの種類の評価を通じてアルゴリズムの基礎を練習して習得します。毎週、最も重要な概念の理解をテストする多肢選択式のクイズがあります。毎週のプログラミング課題もあり、講義で取り上げたアルゴリズムの 1 つを、選択したプログラミング言語で実装します。各コースは多肢選択式の最終試験で終わります。

YouTube チャンネルとプレイリスト

  1. Abdul Bari によるアルゴリズム

    アブドゥル バリ氏によるアルゴリズムに関する短い講義のリスト。彼は複雑なテーマを視聴者に最もシンプルかつわかりやすい方法で説明する人気の YouTuber です。

  2. Mosh チャネルを使用したプログラミングに関するJava のデータ構造とアルゴリズム

    「Programming with Mosh」は、プログラミング初心者に人気の主流 YouTube チャンネルです。Java やその他のプログラミング言語に関するチュートリアルがたくさんあり、データ構造やアルゴリズムに関するチュートリアルも含め、よく構造化され、よく提示されています。本を読んだり、コース料金を払ったりしたくない場合は、これらの主題に慣れる良い方法です。

  3. MIT 6.006 アルゴリズム入門、2011 年秋、MIT OpenCourseWare

    MIT OpenCourseWare はマサチューセッツ工科大学のチャンネルであり、アルゴリズムに関するコースなど、優れた無料のビデオ コースがたくさんあります。コース全体は、約 1 時間のセッション 47 回で構成されます。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION