「アルゴリズムの勉強をした気になれる」だけじゃない、アニメーションで理解できる学習アプリ「アルゴリズム図鑑」

アルゴリズム図鑑

「アルゴリズム」という言葉を聞くだけで拒否反応を示してしまう人もいるかもしれませんが、そんな人でも大丈夫。「アルゴリズム図鑑」は、プログラミングの知識がまったくなくても、アルゴリズムを理解できるように工夫されたアプリです。

アルゴリズム図鑑では、ソートやリスト探索といった基本的なアルゴリズムはもちろん、世界最古のアルゴリズムとして知られる「ユークリッドの互除法」、安全な通信に不可欠な暗号化技術、データ圧縮、さらにはGoogle検索の基礎となるページランクなど、さまざまなアルゴリズムを、シンプルなイラストとアニメーションでやさしく解説しています。これからプログラムを学ぼうとしている人はもちろん、IT業界に関わる人で基礎知識を得たいという人にぴったりです。

アニメーションでアルゴリズムを理解できる

アルゴリズム図鑑で「ユークリッド互除法」を学ぶ

学習(Study)モード

アルゴリズム図鑑は、アルゴリズムをアニメーションで学習できるアプリです。扱っているアルゴリズムは30種類以上(データ構造を含む)。起動画面でアルゴリズムの名前を選ぶと、学習(Study)モードで1ステップずつアルゴリズムの手順をトレースしていきます。

アルゴリズム図鑑アルゴリズム図鑑アルゴリズム図鑑

迷路の最短経路を求めるA*(エースター)アルゴリズムの解説

すべてのステップには、シンプルなイラストが表示されます。説明は平易な文章で書かれており、プログラミングの知識がまったくなくてもアルゴリズムの概念をすんなり理解できるのが、本アプリの特徴です。分からなくなったときには、前後のステップへ自由に行き来でき、納得のいくまで参照することができます。

アルゴリズム図鑑アルゴリズム図鑑アルゴリズム図鑑

30種類以上のアルゴリズムとデータ構造を解説

アルゴリズム図鑑で学べる内容は以下のとおりです。

  • ソート
    • バブルソート
    • 選択ソート
    • 挿入ソート
    • ヒープソート
    • マージソート
    • クイックソート
  • クラスタリング
    • k-means法
  • リスト探索
    • 線形探索
    • 2分探索
  • グラフ探索
    • 幅優先探索
    • 深さ優先探索
    • ベルマンフォード法
    • ダイクストラ法
    • A*
  • 数学
    • ユークリッド互除法
    • 素数判定法
  • データ圧縮
    • ランレングス符号
    • ハフマン符号
  • セキュリティ
    • セキュリティの基礎
    • 暗号の基礎
    • ハッシュ関数
    • 共通鍵暗号方式
    • 公開鍵暗号方式
    • ハイブリッド暗号方式
    • Diffie-Hellman鍵交換法
    • メッセージ認証コード
    • デジタル署名
    • デジタル証明書
  • データ構造
    • リスト
    • 配列
    • スタック
    • キュー
    • ハッシュテーブル
    • ヒープ
    • 2分探索木
  • WEB
    • ページランク
  • 再帰
    • ハノイの塔

試せる「実験モード」

アルゴリズム図鑑

実験(Test)モード

アルゴリズムによっては、1つの例だけでは分かりにくいものもたくさんあります。そこで理解を深めるための「実験モード」が用意されています。解説とは異なる条件でサンプルを表示し、ステップごとにトレースしていきます。説明文が表示されないので、解説を思い出しながら視覚的にアルゴリズムを理解することができます。学習内容によっては、パターンをシャッフルしたり、手順を操作したりすることも可能。解説とセットで利用するのがおすすめです。

アルゴリズム図鑑のシャッフル機能

実験(Test)モードのシャッフル機能:さまざまなパターンを確かめられる

アプリは基本無料、書籍版もあり

アルゴリズム図鑑 絵で見てわかる26のアルゴリズム

アルゴリズム図鑑はApp Storeの「Best of 2016 今年のベスト」にも選ばれたアプリ。現在はアプリをもとにした上記書籍も販売されていますが、アニメーションでアルゴリズムを理解できるのはアプリならでは。書籍では説明を読んで理解するしかありませんが、アプリなら説明とアニメーション、そして実験モードがあり、繰り返し見るのにぴったりです。

すべての項目を学習するには「全アルゴリズムの購入」が必要です。とはいえ無料でも半分以上のコンテンツが解放されています。まずはインストールして、自分の目で確かめてください。