序文
アルゴリズムはコンピュータ・サイエンスの核心であり、現代の情報化時代に不可欠なものである。毎日何十億ものインターネット検索リクエストに答えるために使用される検索エンジンに力を与え、インターネット上で通信する際にプライバシーを提供している。アルゴリズムは、カスタマイズされた広告からオンライン価格提示に至るまで、数え切れないほどの分野でコンシューマの目に触れる機会が増えており、ニュースメディアはアルゴリズムとは何か、アルゴリズムに何ができるのかについての議論で溢れている。
STEM(科学、新技術、工学、数学)の大きな成長は、世界経済における持続的成長と革新の新しい波を後押ししている。しかし、医学、工学、そして政府の進歩に必要なアルゴリズムを発見し、適用できるコンピュータ科学者が不足している。私たちは、それぞれの分野や専門領域内の問題にアルゴリズムを適用する方法を知っている人々の数を増やす必要がある。
アルゴリズムを始めるのに、コンピューターサイエンスの4年制の学位は必要ない。残念ながら、このトピックに関するほとんどのオンライン教材や教科書は、数学的証明やコンピュータ・サイエンスの概念に重点を置いて、学部生向けに作られている。アルゴリズムの教科書は、無数のバリエーションと高度に特殊化されたケースを含む、非常に多くの異なるアルゴリズムのリファレンスであるため、威圧的である可能性がある。読者がこれらの本の最初の章を読み終えるのが難しいと感じることはよくあることだ。このような本を使うのは、英語のスペルを上達させるために辞書を全部読み込むようなものだ。その代わりに、英語の中で最もスペルを間違えやすい100の単語を要約し、その単語を支配する規則(と例外)を説明した特殊化された参考書があれば、もっと良いだろう。同様に、仕事でアルゴリズムを使う様々な経歴や経験を持つ人々には、より焦点を絞った、彼らのニーズに合わせてデザインされた参考書が必要だ。
Learning Algorithmsは、あなたのコードの効率を向上させるためにすぐに使える、様々なアルゴリズムを親しみやすく紹介している。すべてのアルゴリズムは、データサイエンスからバイオインフォマティクス、エンジニアリングまで幅広い分野で使用されている、最も人気がありユーザフレンドリーなプログラミング言語の1つであるPythonで紹介されている。本文では、各アルゴリズムを丁寧に説明し、読者が本質的な概念を把握できるよう、多数の画像を用いている。コードはオープンソースで、本書のリポジトリから自由に入手できる。
アルゴリズムを学ぶ』では、コンピュータ・サイエンスで使われる基本的なアルゴリズムとデータ型を学び、より効率的なプログラミングができるようになる。プログラミング・スキルを必要とする技術系の仕事を探しているなら、この本を読めば次のコーディング面接を突破できるかもしれない。アルゴリズムを学ぶ旅を続けるきっかけになれば幸いだ。
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access