ISBN 9784839977092

アルゴリズムとプログラミングの図鑑【第2版】

アルゴリズムとプログラミングの図鑑【第2版】
出版社
マイナビ出版
刊行
2022-10

概要

図とイラストでアルゴリズムの意味を理解し、8言語サンプルで体験する

想定読者

プログラミング学習を始めたばかりで、アルゴリズムという概念に初めて触れる入門者。「なぜこの手順で動くのか」を視覚的に掴みたい人。

こんな人には向いていない

  • 競技プログラミングや業務レベルの最適化アルゴリズム実装を求める中・上級者には、扱う題材の難易度と深さが物足りない
  • 特定の1言語を深く学びたい人には、8言語横断のサンプル構成が散漫に映る可能性がある
  • アルゴリズム理論の数学的背景(計算量解析・証明)を重視する読者には内容が不十分

読了後にできるようになること

  • バブルソート・選択ソート・挿入ソート・シェルソート・クイックソートの各動作原理を図で説明できる
  • 線形探索と二分探索の違いを計算手順レベルで理解し、Python・JavaScript・C・Java等8言語のサンプルで確認できる
  • 棒倒し法・穴掘り法による迷路自動生成アルゴリズムの仕組みを把握できる
  • 右手法・幅優先探索法など迷路探索アルゴリズムの基本戦略を説明できる
  • 合計・平均・最大最小・データ交換といった基礎アルゴリズムをコードと対応付けて読める
  • 複数のプログラミング言語がどのように同じアルゴリズムを表現するか、横断的に比較できる

本書のキー概念(章解説)

  • 第 1 章 アルゴリズムってなに? — アルゴリズム=問題解決の考え方という軸を最初に定義する章。概念的な地盤を固める
  • 第 2 章 いろいろなプログラミング言語 — 8言語の特徴を俯瞰する章。この章で自分の主言語を確認しておくと以降のサンプルを読みやすい
  • 第 3 章 データ構造とアルゴリズムの基本 — 配列・リストなどの基礎データ構造を押さえる。後続のソート・探索章の前提になる
  • 第 4 章 簡単なアルゴリズム — 合計・平均・最大値・最小値・データ交換。コーディング経験ゼロでも追いやすい最初の実装例
  • 第 5 章 サーチアルゴリズム — 線形探索と二分探索の比較は、計算量の概念を直感的に掴む最良の入り口
  • 第 6 章 ソートアルゴリズム — 5種のソートを図でステップ追跡できる。バブルとクイックの速度差を視覚で実感できる章
  • 第 7 章 付録(迷路アルゴリズム) — 第2版で追加された迷路自動生成・探索アルゴリズム。ゲーム的な文脈でアルゴリズムの実用例を体験できる

ハイライト

  • アルゴリズムと聞くと難しそうに思えますが、ズバリ『問題を解決するための考え方』です。「このアルゴリズムは、どんな考え方で問題を解こうとしているのか?」に注目して考えていくと、だんだんとアルゴリズムがわかってきます。(本書が一貫して掲げる学習アプローチの核心。手順の暗記ではなく意味の理解を優先する方針が端的に表れている)
  • 「理解した意味の通りにアルゴリズムが動くこと」を試して、実感してください。サンプル掲載言語:Python、JavaScript、PHP、C、C#、Java、Swift、VBA(理解と体験を往復する本書の構成上の特長。8言語対応により読者が使い慣れた言語で動作確認できる点が購買判断の根拠になる)

編集メモ

Qiita 上でこのISBNを直接引用する記事は確認できなかった(0件)。楽天ランキング情報も入力になし。入門書カテゴリの補完的選択肢として位置付ける

読む前に押さえておきたいこと

  • 変数・条件分岐・ループの概念(どの言語でも可)。コードを全く書いたことがない状態では第4章以降のサンプルを追うのが難しい
  • 配列(リスト)の概念。索引で要素にアクセスする操作がイメージできると第3章から吸収が速い

学習のコツ

  • 第2章(言語紹介)は自分の主言語だけ読んで先に進んでよい。全言語を均等に読もうとすると序盤で失速する
  • 第5章(サーチ)と第6章(ソート)は図を指で追いながら手書きでトレースすると定着が早い。本書の図解はその想定で作られている
  • 第2版で追加された迷路アルゴリズムは、基礎4〜6章を終えた後に読むと再帰・幅優先探索の意味が体感しやすい
  • 各アルゴリズムの後にある8言語サンプルは、自分の主言語で一度実際に動かしてから別言語と見比べると、言語差の本質が見えてくる
出版社による内容紹介

アルゴリズムと、それを主要言語でどのように書けばよいのかを、図解とイラストを豊富に使って説明した入門書。 本書の特長は、 1. 「アルゴリズムの意味」をイラストや図でやさしく解説 2. そのアルゴリズムに関する「プログラミング言語」のサンプルを試し、体験して納得 の2点です。 「アルゴリズム」と聞くと難しそうに思えますが、ズバリ『問題を解決するための考え方』です。「このアルゴリズムは、どんな考え方で問題を解こうとしているのか?」「この手順は、何をしようとしているのか?」など、「アルゴリズムの意味」に注目して考えていくと、だんだんとアルゴリズムがわかってきます。本書ではイラストや図を使って、入門者でもアルゴリズムのイメージがつかめるよう、解説していきます。 そして、「意味が理解できただけ」では使えるようになりませんので、実際にプログラミング言語によるサンプルプログラムを用意しました。「理解した意味の通りにアルゴリズムが動くこと」を試して、実感してください。 この「第2版」では、「迷路自動生成アルゴリズム」「迷路探索アルゴリズム」を追加して解説。 「アルゴリズム」をちゃんと把握したい人、プログラムの組み立て方をもっと知りたい人に役立つ1冊です。 【サンプル掲載言語】 Python、JavaScript、PHP、C、C#、Java、Swift、VBA 【本書で紹介しているアルゴリズム】 ・簡単なアルゴリズム 合計値、平均値、最大値、最小値、データの交換 ・サーチアルゴリズム リニアサーチ(線形探索法)、バイナリサーチ(二分探索法) ・ソートアルゴリズム バブルソート(単純交換法)、選択ソート(単純選択法)、挿入ソート(単純挿入法)、シェルソート、クイックソート ・迷路自動生成アルゴリズム 棒倒し法、穴掘り法 ・迷路探索アルゴリズム 右手法・左手法、幅優先探索法 第1章 アルゴリズムってなに? 第2章 いろいろなプログラミング言語 第3章 データ構造とアルゴリズムの基本 第4章 簡単なアルゴリズム 第5章 サーチアルゴリズム 第6章 ソートアルゴリズム 付録

この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。

質問に答えるだけで、
あなたに合う専門書が見つかる

IT・デザイン・士業・医療・経理・教育・研究 ほか、あらゆる分野の専門書と 「読む順序」(学習ロードマップ)を収録。何を選べばいいか分からなくても、 いくつかの質問に答えるだけでたどり着けます。