アルゴリズム図鑑 増補改訂版 絵で見てわかる 33 のアルゴリズム
アルゴリズムズカン ゾウホカイテイバン エデミテワカルサンジュウサンノアルゴリズム
- 著者:
- 石田 保輝 / 宮崎 修一(イシダ モリテル / ミヤザキ シュウイチ)
- 出版社:
- 翔泳社
- 出版日:
- 2023年02月21日
- ISBN:
- 9784798172439
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
本書は、アルゴリズムを独学する人のために誕生しました。はじめて学ぶときにはイメージしやすく、復習するときには思い出しやすくなるよう、基本的な 33 のアルゴリズム+7 つのデータ構造をすべてイラストにしています。ソートやグラフ探索などの「動き」を図で追うことで、考え方や仕組みを理解する手助けをします。よいプログラムを書くために知っておかなきゃいけないアルゴリズムの世界を、楽しく学びましょう。
技書の森解説
アルゴリズムの学習で最初につまずくのは、配列やグラフが 1 ステップごとにどう変わるかを頭の中で追い切れないことです。『アルゴリズム図鑑 増補改訂版』 (石田保輝 / 宮崎修一 著、翔泳社、2023 年 2 月刊) は、副題「絵で見てわかる 33 のアルゴリズム」のとおり、基本的な 33 のアルゴリズムと 7 つのデータ構造をすべてイラストにし、フルカラーの誌面で「動き」を図で追えるようにした独学者向けの入門書です。版元は、各アルゴリズムの考え方や計算効率、問題点も扱うこと、そして刊行時点で全世界 250 万人が学んだアプリを書籍化したものであることを紹介文で挙げています。openBD の書誌には英題 ALGORITHMS:EXPLAINED AND ILLUSTRATED も登録されています。
序章と第 1〜8 章の構成、データ構造からソート / 暗号 / 圧縮まで
構成は序章と第 1 章から第 8 章です。序章でアルゴリズムとは何か、計算時間の測り方を押さえ、第 1 章のデータ構造ではリスト、配列、スタック、キュー、ハッシュテーブル、ヒープ、2 分探索木の 7 つを扱います。第 2 章はバブルソート、選択ソート、挿入ソート、ヒープソート、マージソート、クイックソートのソート、第 3 章は線形探索と 2 分探索 による配列の探索です。第 4 章のグラフアルゴリズムは幅優先探索と深さ優先探索、ベルマン-フォード法、ダイクストラ法、A*、クラスカル法、プリム法、マッチングアルゴリズムまで進みます。第 5 章はセキュリティのアルゴリズムとして暗号の基本、ハッシュ関数、共通鍵暗号方式、公開鍵暗号方式、ハイブリッド暗号方式、ディフィ-ヘルマン鍵交換法、メッセージ認証コード、デジタル署名、デジタル証明書を並べ、第 6 章のクラスタリングは k-means 法、第 7 章のデータ圧縮はランレングス符号、一意復号可能符号、瞬時符号、ハフマン符号を扱います。第 8 章はユークリッドの互除法、素数判定法、文字列照合、クヌース-モーリス-プラット法、ページランク、ハノイの塔をまとめています。
増補改訂版で加筆された 7 つのアルゴリズムと 2 つの性質
版元が旧版との主な違いとして挙げるのは、7 つのアルゴリズムと 2 つの性質の解説の加筆です。具体的にはクラスカル法、プリム法、マッチングアルゴリズム、ランレングス符号、一意復号可能符号、瞬時符号、ハフマン符号、文字列照合、クヌース-モーリス-プラット法の 9 項目です。加筆分の技術的な位置づけを補うと、クラスカル法とプリム法はグラフの最小全域木を求める代表的な手法で、ネットワーク設計などに使われます。ランレングス符号とハフマン符号はデータ圧縮の基礎で、一意復号可能符号と瞬時符号は「符号を切れ目なく並べても元に戻せるか」「先読みなしに復号できるか」という符号の性質にあたります。文字列照合とクヌース-モーリス-プラット法は、テキスト検索がなぜ素朴な比較より速くできるのかを示す題材です。これらは版元が旧版に無かった加筆分として挙げる項目なので、旧版を持っている人が買い直す価値は、最小全域木とマッチング、圧縮符号、文字列照合の各項目をどれだけ必要としているかで判断できます。
絵で動きを追う学習法が効く理由と計算量の見方
アルゴリズムはデータの状態が時間とともに遷移する手続きなので、最終結果だけを見ても仕組みは分かりません。ソートなら配列の途中状態、グラフ探索なら訪問済みの頂点と待ち行列の中身が 1 手ごとにどう変わるかを見ることで、「なぜこの順序で処理すると正しいのか」が腑に落ちます。本書がすべての項目をイラストにしているのは、この中間状態を紙面上に固定して見せるためで、序章の計算時間の測り方と組み合わせると、計算量 の違いが手数の違いとして直感につながります。版元が「どんな言語でプログラムを書くにしても不可欠」と述べるとおり、アルゴリズムの考え方は特定の言語に縛られないので、これから言語を学ぶ人でも、別の言語に移った人でも同じ知識が使えます。
独学者に向く一冊と、証明や実装力を主目的にする人への注意
前提知識はほとんど要りません。版元は「アルゴリズムを独学する人のために作りました」としており、はじめて学ぶときの理解と復習時の想起の両方を狙った作りです。一方で、解説の主役はイラストなので、正当性の証明を追いたい人、特定の言語で実装コードを書き込みながら競技プログラミングの力をつけたい人は、本書で全体像をつかんだ後に演習中心の教科書へ進む二段構えが必要です。他のアルゴリズム書との使い分けは アルゴリズム本ガイド も参考になります。
プログラミングを始めたばかりで教科書のアルゴリズムの章で止まってしまった人、業務でハッシュや公開鍵暗号やページランクといった言葉を使うのに仕組みを説明できない人、子どもや後輩に見せながら一緒に学びたい人には、フルカラーの図で 33 のアルゴリズムを一望できる本書は投じた金額の回収が早い一冊です。旧版で学んだ人も、加筆された 9 項目が必要なら増補改訂版に乗り換える理由があります。
言及した記事 (4 件)
この本に興味がある方におすすめ
関連する本
関連記事
技術書の知識を定着させる間隔反復法 - 読んだのに忘れる問題を解決する
技術書を読んでも内容を忘れてしまう原因を認知科学の観点から分析し、間隔反復法を使って知識を長期記憶に定着させる具体的な方法を紹介します。
Web デザイン本ガイド - HTML/CSS、Figma、Photoshop を学ぶ順番
Web デザインを独学する本の選び方を「コーディング、ツール、デザイン原則」の 3 本柱で整理。HTML/CSS の入門書、Figma と Photoshop の教本、レイアウトと配色の定番書を、2026 年 8 月時点の収載書から学ぶ順番つきで解説します。
技術書を読む順番の戦略 - 複数冊を組み合わせて理解を加速させる
技術書を 1 冊ずつ読むのではなく、複数冊を戦略的に組み合わせることで、1 冊では届かない理解の深さと広さに達する方法を解説します。