Pythonで学ぶアルゴリズムの教科書 一生モノの知識と技術を身につける
廣瀬豪
インプレスPythonを用い、ITエンジニアが身につけたい王道アルゴリズムを手を動かしながら学べる入門書です。資格&就職試験に挑む方、大学や専門学校で情報処理を学ぶ方など、プログラミングの力を伸ばしたいすべての方におすすめです。
【注意】本書のEPUB版は固定レイアウト型になっております。文字の大きさの変更や検索、引用などはお使いいただけません。画面の大きい端末でご利用ください。
書籍情報
著者: 廣瀬豪
発行日: 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 マンデルブロー集合を描こう