ホーム

情報学系

Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量 増井 敏克

購入する

この記事をシェア

Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量 増井 敏克

情報学系の編入試験では、アルゴリズムの動作原理と計算量の理解が頻繁に問われます。特にソートやサーチといった基本的なアルゴリズムについて、なぜそのやり方なのか、どれくらい効率的なのかといった点で混乱する受験生が多いです。本書はPythonの実装例を示しながら、伝統的なアルゴリズムの考え方と計算量を体系的に解説しており、編入試験の出題パターンに直結する内容を扱っています。

この本の位置づけ

本書は、プログラミング経験が1年程度あり、基本的な文法は理解している受験生向けです。アルゴリズムの理論的な背景から具体的なコード実装まで、段階的に学べるレベル設定になっています。

アルゴリズムの参考書には、数学的な厳密性を優先するものと、実装重視のものがありますが、本書は両者のバランスを取っています。計算量の記法(O記法)の説明からバブルソート、マージソートといった個別アルゴリズムの解説まで、編入試験で実際に出題される論点を網羅しており、試験対策としての実用性が高いです。

いつどのタイミングの編入受験生におすすめか

本書の学習は、編入受験を決めた時点から3〜4ヶ月前に導入するのが目安です。プログラミングの基礎文法をひと通り終えたら、次のステップとしてアルゴリズムの体系的な理解に進むタイミングで活用してください。

もし導入が遅れて試験2ヶ月前になってしまった場合、本書全体を学習する時間がなくなり、過去問で出題されたアルゴリズムだけに絞った対策になってしまう可能性があります。逆に導入が早すぎた場合は、学習内容が記憶に残りにくくなるため、試験1年前から始める場合は他の教科とのバランスを取りながら進めることをお勧めします。

ターゲット大学と対策できるテーマ

過去問の出題傾向を分析し、本書の内容が実際の出題範囲と重なる大学・学部を抽出しました。「頻出テーマ」はその学部の過去問で繰り返し問われている論点のうち、本書で扱っているものです。

東京農工大学工学部

数学

頻出テーマ時間計算量、ダイクストラ法、ビット演算、フィボナッチ、ユークリッドの互除法、スタック

本書の該当ページ時間計算量(p.94)、ダイクストラ法(p.219)、ビット演算(p.77)、フィボナッチ(p.86)

筑波大学情報学群

数学情報

頻出テーマビット演算、時間計算量、フィボナッチ数列、幅優先探索、リスト、二分探索

本書の該当ページビット演算(p.77)、時間計算量(p.94)、フィボナッチ数列(p.86)、幅優先探索(p.124)

宮崎大学工学部

数学

頻出テーマピボット、バブルソート、ハノイの塔、配列、連結リスト、クイックソート

本書の該当ページピボット(p.197)、バブルソート(p.175)、ハノイの塔(p.145)、配列(p.21)

熊本大学工学部

情報数学

頻出テーマ素数、マージソート、プログラミング、実行結果、クイックソート、配列

本書の該当ページ素数(p.79)、マージソート(p.192)、プログラミング(p.2)、実行結果(p.30)

大阪大学基礎工学部

英語

頻出テーマ時間計算、フィボナッチ数、選択ソート、深さ優先探索、配列、計算量

本書の該当ページ時間計算(p.94)、フィボナッチ数(p.86)、選択ソート(p.166)、深さ優先探索(p.124)

大阪公立大学工学部

情報

頻出テーマ時間計算量、移動回数、ヒープ、木構造、ハノイの塔、計算量

本書の該当ページ時間計算量(p.94)、移動回数(p.134)、ヒープ(p.184)、木構造(p.124)

東洋大学情報連携学部

情報

頻出テーマPython、選択ソート、マージソート、プログラミング、クイックソート、計算量

本書の該当ページPython(p.19)、選択ソート(p.166)、マージソート(p.192)、プログラミング(p.2)

神戸大学工学部

情報数学

頻出テーマ時間計算量、フィボナッチ数列、バブルソート、計算量、最小値

本書の該当ページ時間計算量(p.94)、フィボナッチ数列(p.86)、バブルソート(p.175)、計算量(p.94)

茨城大学工学部

情報

頻出テーマプログラミング、配列、10進数

本書の該当ページプログラミング(p.2)、配列(p.21)、10進数(p.70)

筑波大学理工学群

数学

頻出テーマ時間計算、フィボナッチ数列、最小値

本書の該当ページ時間計算(p.94)、フィボナッチ数列(p.86)、最小値(p.166)

佐賀大学理工学部

数学

頻出テーマユークリッドの互除法、リスト、プログラミング

本書の該当ページユークリッドの互除法(p.246)、リスト(p.20)、プログラミング(p.2)

京都工芸繊維大学工芸科学部

情報

頻出テーマ文字コード、二分探索、配列

本書の該当ページ文字コード(p.12)、二分探索(p.119)、配列(p.21)

※志望校の最新の募集要項と過去問は必ずご自身でご確認ください。

使い方

まず全体を通読し、p.94の「良いアルゴリズムとは?」で計算量の考え方を理解してから、個別アルゴリズムの章に進むことをお勧めします。バブルソート(p.175)、選択ソート、挿入ソート、マージソートなどの各アルゴリズムについて、コード例を読みながら実際に手で実行トレースをしてください。

その後、過去問でこれらのアルゴリズムが出題されたときに、本書で学んだ内容と照らし合わせる往復学習が有効です。特に計算量の比較や、なぜそのアルゴリズムを使うのかという理由付けが問われる問題で、本書の理解が活きてきます。リスト(p.20)や動的計画法の章は、データ構造の理解が必要になるため、対象大学の過去問でこの分野の出題が確認できたら、その都度該当ページに戻って確認する使い方も効果的です。

編入試験でよく問われる論点から入るなら、次の順で読むのが効率的です。

  1. p.2 プログラミング言語の選択
  2. p.20 リスト
  3. p.32 リスト内包表記
  4. p.94 良いアルゴリズムとは?
  5. p.124 幅優先探索
  6. p.154 ミニマックス法による評価
  7. p.175 バブルソート
  8. p.205 図書館ソート

注意点

本書は出版から数年経過しているため、新しいプログラミングの言語仕様やライブラリの最新版とは完全には一致しない可能性があります。ただし、アルゴリズムの本質的な考え方は不変であるため、試験対策としての価値は損なわれません。

もう一つの注意点として、本書はアルゴリズムの理解に主眼を置いているため、オブジェクト指向やクラス設計といった実務的なプログラミング技法は限定的な扱いです。対象大学がオブジェクト指向の問題を頻出させている場合は、本書と別に関連資料で補強してください。また、フローチャートやプログラムの実行結果を読み取る問題が出題される場合、本書のコード例だけでは不足することがあるため、過去問演習で不足分を補う準備をしておくことをお勧めします。

参考書レビュー一覧に戻る

運営: 大学編入専門の予備校 オンライン編入学院
本記事には、無断利用を検知するための識別を含みます。コンテンツの利用について
無料受験相談に申し込む