JavaScriptによるはじめてのアルゴリズム入門

書籍の概要

この本の概要

「アルゴリズム入門」シリーズのJavaScript対応版です。アルゴリズムは,プログラムを効率的かつ正確に実行するための重要な要素です。プログラミング技術を上達させるためには,系統的に異なるさまざまな視点でのアルゴリズム学習が効果的です。本書ではJavaScriptを用いて基本的なアルゴリズムの概念と実装方法を学び,プログラムの流れを制御するための方法を理解していきます。学習には,Webベースの開発環境“p5.jsWebエディタ”を使います。Webブラウザから掲載プログラムを入力して,すぐに動作を確認することができます。

こんな方におすすめ

  • プログラミング学習 初~中級者

本書のサンプル

本書の一部ページを,PDFで確認することができます。

本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。

サンプル画像

目次

第1章 ウォーミング・アップ

  • 1-0 アルゴリズムとは
  • 1-1 漸化式
  • 1-2 写像
  • 1-3 順位付け
  • 1-4 ランダムな順列
  • 1-5 モンテカルロ法
  • 1-6 ユークリッドの互除法
  • 1-7 エラトステネスのふるい

第2章 数値計算

  • 2-0 数値計算とは
  • 2-1 乱数
  • 2-2 数値積分
  • 2-3 テイラー展開
  • 2-4 非線形方程式の解法
  • 2-5 補間
  • 2-6 多桁計算
  • 2-7 長いπ
  • 2-8 連立方程式の解法
  • 2-9 線形計画法
  • 2-10 最小2乗法

第3章 ソートとサーチ

  • 3-0 ソートとサーチとは
  • 3-1 基本ソート
  • 3-2 シェル・ソート
  • 3-3 線形検索(リニアサーチ)と番兵
  • 3-4 2分探索(バイナリサーチ)
  • 3-5 マージ(併合)
  • 3-6 文字列の照合(パターンマッチング)
  • 3-7 文字列の置き換え(リプレイス)
  • 3-8 ハッシュ

第4章 再帰

  • 4-0 再帰とは
  • 4-1 再帰の簡単な例
  • 4-2 再帰解と非再帰解
  • 4-3 順列の生成
  • 4-4 ハノイの塔
  • 4-5 迷路
  • 4-6 クイック・ソート

第5章 データ構造

  • 5-0 データ構造とは
  • 5-1 スタック
  • 5-2 キュー
  • 5-3 データ構造としてのリスト
  • 5-4 Pythonの言語仕様のリスト
  • 5-5 双方向リスト
  • 5-6 逆ポーランド記法
  • 5-7 パージング
  • 5-8 自己再編成探索
  • 5-9 リストを用いたハッシュ

第6章 木(tree)

  • 6-0 木とは
  • 6-1 2分探索木の配列表現
  • 6-2 2分探索木の作成
  • 6-3 2分探索木の再帰的表現
  • 6-4 2分探索木のトラバーサル
  • 6-5 レベルごとのトラバーサル
  • 6-6 ヒープ
  • 6-7 ヒープ・ソート
  • 6-8 式の木
  • 6-9 知的データベース

第7章 グラフ(graph)

  • 7-0 グラフとは
  • 7-1 グラフの探索(深さ優先探索)
  • 7-2 グラフの探索(幅優先探索)
  • 7-3 トポロジカル・ソート
  • 7-4 Eulerの一筆書き
  • 7-5 最短路問題

第8章 グラフィックス

  • 8-0 グラフィックス・ライブラリ(glib.js)の作成
  • 8-1 moveとturn
  • 8-2 2次元座標変換
  • 8-3 ジオメトリック・グラフィックス
  • 8-4 3次元座標変換
  • 8-5 立体モデル
  • 8-6 3次元関数と隠線処理
  • 8-7 リカーシブ・グラフィックスⅠ
  • 8-8 リカーシブ・グラフィックスⅡ
  • 8-9 いろいろなリカーシブ・グラフィックス
  • 8-10 イメージ処理
  • 8-11 アニメーション
  • 8-12 3D描画

第9章 パズル・ゲーム

  • 9-1 魔方陣
  • 9-2 戦略を持つじゃんけん
  • 9-3 バックトラッキング
  • 9-4 ダイナミック・プログラミング
  • 9-5 万年暦で作るカレンダー
  • 9-6 21を言ったら負けゲーム
  • 9-7 迷路の作成と探索
  • 9-8 板パズル
  • 9-9 ブロック崩し
  • 9-10 リバーシー

著者プロフィール

河西朝雄(かさいあさお)

山梨大学工学部電子工学科卒(1974年)。長野県岡谷工業高等学校情報技術科教諭,長野県松本工業高等学校電子工業科教諭を経て,現在は「カサイ.ソフトウエアラボ」代表。

主な著書:「入門ソフトウエアシリーズC言語,MS-DOS,BASIC,構造化BASIC,アセンブリ言語,C++」「やさしいホームページの作り方シリーズHTML,JavaScript,HTML機能引きテクニック編,ホームページのすべてが分かる事典,iモード対応HTMLとCGI」「チュートリアル式言語入門VisualBasic.NET」「はじめてのVisualC#.NET」「C言語用語辞典」ほか(以上ナツメ社)

「構造化BASIC」「Javaによるはじめてのアルゴリズム入門」「VisualBasic6.0入門編/中級テクニック編/上級編」「InternetLanguage改定新版シリーズホームページの作成,JavaScript入門」「NewLanguageシリーズ標準VisualC++プログラミング,標準Javaプログラミング」「VB.NET基礎学習Bible」「原理がわかるプログラムの法則」「プログラムの最初の壁」「河西メソッド:C言語プログラム学習の方程式」「基礎から学べるPHP標準コースウエア」「なぞりがきC言語学習ドリル」「JavaScriptではじめるプログラミング超入門」「改定第5版C言語によるはじめてのアルゴリズム入門」「Pythonによるはじめてのアルゴリズム入門」など(以上技術評論社)