関連サイト
本書の関連ページが用意されています。
内容紹介
エンジニアの基礎体力を身につける
本書はPythonを用い、ITエンジニアが身につけておくべき王道のアルゴリズムを手を動かしながら学べる入門書です。
教育機関で16年教鞭をとり、公式アプリ2000万DL超の開発実績を持つ廣瀬豪氏が、教育者・プログラマーとしての経験を生かし、データ構造とアルゴリズムの学習が「一生モノの財産になる」という視点で解説します。スタック、キュー、リスト、木、グラフなどデータ構造の基本から、サーチ、ソート、ハッシュといった王道アルゴリズムを厳選しつつ、ユークリッドの互除法、文字列探索、最短経路問題、フラクタル図形の描画、マンデルブロー集合などワンランク上の知識・技術まで網羅します。
サンプルプログラムは手入力しやすい短めのコードを108個用意し、すべての行に1行ずつコメントを付けて読解しやすいように工夫しています。また、ゲームクリエイターという肩書を持つ著者ならではの教材として、「アルゴリズムの見える化」という類書にはない楽しい要素を盛り込んでいる点もポイントです。
資格試験、就職試験に挑む方、大学や専門学校で情報処理を学ぶ方など、プログラミングの力を伸ばしたいすべての方におすすめです。
書誌情報
- 著者: 廣瀬豪
- 発行日: 2021-03-19 (紙書籍版発行日: 2021-03-19)
- 最終更新日: 2021-03-19
- バージョン: 1.0.0
- ページ数: 321ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
・ITエンジニア志望の学生、社会人 ・開発業務でアルゴリズムの勉強が必要と感じている方 ・入社試験、国家資格の勉強が必要な方 ・大学4年間で学べるデータ構造とアルゴリズムについて学び直したい方
著者について
廣瀬豪
早稲田大学理工学部卒。ワールドワイドソフトウェア有限会社取締役。ナムコでプランナー、任天堂とコナミの合弁会社でプログラマーとディレクターを務めた後に独立。ガラケー、スマートフォン、家庭用ゲーム機向けに100タイトル以上の公式アプリを開発し、総ダウンロード数は2000万DLを超える。会社経営のかたわら、教育機関でプログラミングやゲーム開発を指導したり、本の執筆を行っている。主な著書に『いちばんやさしい Java 入門教室』『Pythonゲーム開発入門講座』『Pythonゲーム開発入門講座 実践編』がある。
目次
はじめに
動作環境について&サンプルプログラムについて
目次
Chapter 1 プログラミングの基礎知識
- Lesson 1-1 入力と出力
- Lesson 1-2 変数
- Lesson 1-3 条件分岐
- Lesson 1-4 繰り返し
- Lesson 1-5 関数
- Lesson 1-6 配列
- Chapter 1 練習問題
- Extra Lesson 1-1 乱数を扱う
Chapter 2 プログラミングの力を養う
- Lesson 2-1 平均値を求める
- Lesson 2-2 1からnまで足し合わせる
- Lesson 2-3 九九の式を出力する
- Lesson 2-4 素数を求める
- Lesson 2-5 nの階乗(n!)を求める
- Chapter 2 練習問題
- Extra Lesson 2-1 エラトステネスの篩
- Extra Lesson 2-2 n進法を理解する
Chapter 3 データ構造を学ぶ
- Lesson 3-1 スタック
- Lesson 3-2 キュー
- Lesson 3-3 リスト
- Lesson 3-4 木
- Lesson 3-5 グラフ
- Chapter 3 練習問題
- Extra Lesson 3-1 スタックとキューを扱うPythonのモジュール
- Extra Lesson 3-2 データを保存する
Chapter 4 サーチ
- Lesson 4-1 線形探索
- Lesson 4-2 二分探索
- Lesson 4-3 木探索
- Lesson 4-4 計算量について知る
- Chapter 4 練習問題
- Extra Lesson 4-1 ランダウの記号
- Extra Lesson 4-2 数当てゲーム
- Extra Lesson 4-3 ビット演算を学ぶ
Chapter 5 ソート
- Lesson 5-1 選択ソート
- Lesson 5-2 バブルソート
- Lesson 5-3 挿入ソート
- Lesson 5-4 クイックソート
- Lesson 5-5 マージソート
- Lesson 5-6 ヒープソート
- Chapter 5 練習問題
- Extra Lesson 5-1 クイックソートの再帰の過程を出力する
- Extra Lesson 5-2 再帰関数を用いたマージソート
- Extra Lesson 5-3 Pythonのソート命令とheapqモジュールの使い方
- Extra Lesson 5-4 ソートの計算量と計算時間
Chapter 6 ハッシュ
- Lesson 6-1 ハッシュとは
- Lesson 6-2 ハッシュ関数
- Lesson 6-3 ハッシュテーブル
- Lesson 6-4 衝突の回避
- Chapter 6 練習問題
- Extra Lesson 6-1 暗号学的ハッシュ関数
Chapter 7 さまざまなアルゴリズムを学ぶ
- Lesson 7-1 ユークリッドの互除法
- Lesson 7-2 文字列探索
- Lesson 7-3 最短経路問題
- Chapter 7 練習問題
- Extra Lesson 7-1 アルゴリズムを理解するヒント(処理の過程の出力)
Chapter 8 アルゴリズムを見える化する
- Lesson 8-1 n次関数の曲線を描く
- Lesson 8-2 フラクタル図形を描く
- Lesson 8-3 迷路を解く過程を描く
- Chapter 8 練習問題
- Extra Lesson 8-1 アルゴリズムを使い分ける
- Extra Lesson 8-2 マンデルブロー集合を描こう