アルゴリズムとプログラミングの図鑑【第2版】 単行本(ソフトカバー) – 2022/10/26
森 巧尚 (著), まつむらまきお (イラスト)
アルゴリズムと、それを主要言語でどのように書けばよいのかを、図解とイラストを豊富に使って説明した入門書。 図解イラストで楽しくわかる、アルゴリズムのしくみと、主要言語での書き方
アルゴリズムの本って、いろいろあります。
必ずアルゴリズムの意味がわかるようになる、アルゴリズムの入門書
見て、読んで、試してわかる、実感できる入門書です!
「アルゴリズムの意味」をイラストや図でやさしく解説。
「プログラミング言語」のサンプルを体験して納得。
取り上げる言語:JavaScript・PHP・C・Java・Swift・Python・BASIC・Scratch。
「アルゴリズムの意味」をイラストや図でやさしく解説
そのアルゴリズムに関する「プログラミング言語」のサンプルを試し、体験して納得
目次
楽しく学ぶ アルゴリズムとプログラミングの図鑑 読んでみた。
アルゴリズムの基本を解説
第1章:アルゴリズムってなに?
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchの特長を解説
第2章:いろいろなプログラミング言語
アルゴリズムの組み立て方や、書き方、データの使い方について解説
第3章:データ構造とアルゴリズムの基本
合計、平均、最大値・最小値、データの交換
第4章:簡単なアルゴリズム
リニアサーチ(線形探索法)、バイナリサーチ(二分探索法)
第5章:サーチアルゴリズム
バブルソート、選択ソート、挿入ソート、シェルソート、クイックソート
第6章:ソートアルゴリズム
「アルゴリズム」と聞くと難しそうに思われるかも知れません。
「アルゴリズム」とはズバリ、『問題を解決するための考え方』です。
「このアルゴリズムは、どんな考え方で問題を解こうとしているのか?」「この手順は、何をしようとしているのか?」など、「アルゴリズムの意味」に注目して考えていくと、だんだんとアルゴリズムが分かってきます。
日本最大級のまなびのマーケット
ストアカ
ストアカは、教えたい人と学びたい人をリアルにつなぐ、CtoCのまなびのマーケット。
ビジネス・ITスキルから趣味の習い事まで、170以上のジャンルで気軽に参加出来る講座を11,400件以上掲載。登録講師数9,000人を突破。 現在も利用ユーザーが増加しております。
プログラミングなら
ポテパンキャンプ
無料カウンセリング
アルゴリズム的思考力が身につく! プログラミングコンテストAtCoder入門 単行本 – 2022/8/1
大槻 兼資 (著), AtCoder株式会社 (監修)
プログラマに必須のアルゴリズムの知識がAtCoderで楽しく身につく
WebCampPRO
無料体験会実施中
転職を本気で考えている方向けのプログラミングスクール!
転職を保証しているため、未経験からIT業界へ転職を求めている方へおすすめです。
受講完了後、3ヶ月以内に転職・就職できない場合は ”全額返金” しています!
WebCamp
無料体験会実施中
Webスキルを習得!大人気テックスクール
TechAcademy
未経験からプロを育てるオンラインブートキャンプ
最短4週間で未経験からプロを育てるオンライン完結のスクールです。
どこかに通う必要なく、自宅でもプログラミングやアプリ開発を学ぶことができます。
紙とえんぴつで学ぶアルゴリズムとフローチャート 単行本 – 2022/6/24
岩松 洋 (著)
「プログラミングは勉強したのに、自分でプログラム作れない…」
そう悩んでいる人、けっこう多いんです。
アルゴリズムがわかる図鑑 (まなびのずかん) 単行本(ソフトカバー) – 2022/1/7
松浦 健一郎 (著), 司 ゆき (著)
あのややこしそうなアルゴリズムがこんなにわかりやすいなんて!
7大ゲームの作り方を完全マスター! ゲームアルゴリズムまるごと図鑑 単行本(ソフトカバー) – 2022/2/28
廣瀬 豪 (著)
人気の7大ゲームの開発方法を、一冊でまるごと解説!
JavaScriptによるアルゴリズム入門 オンデマンド (ペーパーバック) – 2022/2/18
山本 修身 (著)
本書はアルゴリズムの基礎的な内容をJavaScriptを用いて解説したものです。
問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本 単行本(ソフトカバー) – 2021/12/25
米田 優峻 (著)
フルカラーでわかりやすい! 基礎から学べる1冊
アルゴリズムは、プログラミングを用いて問題を解決していくには欠かせない大切な道具です。
図解まるわかり アルゴリズムのしくみ 単行本(ソフトカバー) – 2021/12/13
増井 敏克 (著)
アルゴリズムの基礎から特徴、
活用方法まですべて図解
確かな知識がつく「使える教科書」
パブロフくんと学ぶはじめてのプログラミング〈第2版〉 単行本 – 2021/10/27
よせだあつこ (著)
プログラミングで重要なことは?
日本語だからスイスイ作れる プログラミング入門教室 単行本(ソフトカバー) – 2021/8/24
クジラ飛行机 (著)
アルゴリズムの時代 機械が決定する世界をどう生きるか 単行本 – 2021/8/24
ハンナ・フライ (著), 森嶋 マリ (翻訳)
Pythonで学ぶアルゴリズムの教科書 一生モノの知識と技術を身につける 単行本(ソフトカバー) – 2021/3/19
廣瀬豪 (著)
体験してわかるプログラミング教育 ~うちの子の「考える力」が伸びるワケ 単行本(ソフトカバー) – 2021/6/2
淺井 登 (著)
ひと目でわかる プログラミングのしくみとはたらき図鑑 (イラスト授業シリーズ) 単行本 – 2021/1/19
渡邉 昌宏 (監修), 山崎 正浩 (翻訳)
アルゴリズム ビジュアル大事典 ~図解でよくわかるアルゴリズムとデータ構造~ 単行本(ソフトカバー) – 2020/3/23
渡部有隆 (著), ニコライ・ミレンコフ (著)
プログラミングの本とか読んでると、説明や解説で、アルゴリズムが、どうたらかんたらとか、説明が出てきます。
アルゴリズムって何?
自分は、高校生の頃、YAMAHAのシンセサイザーDX7 シリーズで、音色とかを加工したり、作る時に、取り扱い説明書に、アルゴリズムとかの解説とかあったのを思いだしました。
YAMAHA ヤマハ DX7 デジタルシンセサイザー
人によってはアルゴリズムってナニ?って思うかもです。
アルゴリズムとか難しいイメージもあります。
図で解説されてる、アルゴリズムの本を読んでも理解ができないとかあります。
アルゴリズム(英: algorithm )とは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。算法と訳されることもある。
https://ja.wikipedia.org/wiki/アルゴリズム
プログラミング言語大全 (日本語) 単行本(ソフトカバー) – 2020/4/18
自分のための言語を探そう?
100以上のプログラミング言語や処理系、関連言語を幅広く解説。C、Java、Python、PHP、Ruby、JavaScript…主要言語はもちろんマイナー言語まで収録。初心者にも経験者にも楽しい一冊です。
トコトンやさしいアルゴリズムの本 (今日からモノ知りシリーズ) 単行本 – 2018/11/16
内容紹介
2020年から義務教育に「プログラミング」が正規科目として導入される。そのプログラミング(コーディング)したい事柄、コンピュータにやらせたい処理などの考え方とまとめ方で必要なのがアルゴリズム。本書は、アルゴリズムの考え方や仕組みが、自然に身につくやさしい入門書。
アルゴリズムの絵本 第2版 プログラミングが好きになる新しい9つの扉 大型本 – 2019/1/16
内容紹介
プログラミングとアルゴリズムの一番やさしい新定番書!
翔泳社の「絵本シリーズ」は、豊富なイラストと簡潔な解説。
超初心者や手軽に習得したい方に最適な入門書です。
プログラミング言語を習得しても、実際にコードを書いてみようとすると
「どう書いて良いかわからない」と感じる方は多いと思います。
本書はアルゴリズムとプログラムロジックの基本を通じて、
プログラミング(コードを書く)の実際を学んでいただけます。
アルゴリズムは、与えられたさまざまな課題をプログラムで効率良く
処理するためのテクニックの集合体です。これらを通じて、誰でも効率の良い
効果的なコードを作るための第一歩を踏み出すことができます。
・絵を多用し、短い解説で絵本のようにビジュアルに理解することができます。
・2ページを単位とした説明、基礎に絞り込んだ内容でスピーディに習得。
・説明は基本中の基本から。「C言語の基礎」から学べます。
・プログラミングのために必要な知識を広くフォロー、コードの書き方が身につきます。
・環境構築から内容を最新にアップデートし、実際に試して学ぶことができます。
見て試してわかる機械学習アルゴリズムのしくみ 機械学習図鑑 大型本 – 2019/4/17
内容紹介
機械学習アルゴリズムの違いが見てわかる!
「機械学習アルゴリズムは種類が多く、複雑で何をしているのかわかりにくい」と思ったこと、ありませんか?本書は、そのような機械学習アルゴリズムをオールカラーの図を用いながら解説をした機械学習の入門書です。
いままで複雑でわかりにくかった機械学習アルゴリズムが図を通してわかりやすく解説をしています。アルゴリズムごとに項目を立てているので、どのアルゴリズムがどのような仕組みで動いているのか比較をしやすくしています。
これから機械学習を勉強する方だけでなく、実際に機械学習を業務で使用している方にも新しい気付きを得られるのでお勧めの1冊です。
改訂3版 これからはじめるプログラミング 基礎の基礎 単行本(ソフトカバー) – 2018/11/2
内容紹介
いまや必須のスキル=プログラミングの超入門!
定評あるプログラミングの入門書『これからはじめるプログラミング 基礎の基礎』の改訂第3版です。
アイデアはひとつじゃない!―アルゴリズムって、こういうもの (プログラミングを学ぶ前に読む アルゴリズムえほん) 大型本 – 2017/9/1
松田 孝 (監修)
水たまりをどう渡るか、道にいるカエルを踏まないで進む方法など、小学生が実際に出会いそうな問題場面を取り上げ、3姉弟がそれぞれのアルゴリズムによって解決したり、目的をかなえたりする展開になっており、目的に対していろいろなアルゴリズムを考え、どれが一番よい方法かを考えられる。指導者向けの解説ページつき。
アルゴリズムっていうのは、目的をかなえるための方法のこと。アルゴリズムを考えて、それをコンピューターに命令することをプログラミングっていうよ。そう聞くとむずかしそうだけど、じつは、だれでも生活の中でアルゴリズムを考えて、行動しているんだって!この本を読むと、目的にたいしていろいろなアルゴリズムを考え、どれが一番よい方法かを考えるようになる。つまり、プログラミングのきほんの考え方を学ぶことができるんだ。
アルゴリズムえほん(2) プログラミングを学ぶ前に読む ならびかえたり、さがしたり!~よくつかうアルゴリズム~
アルゴリズムえほん(3) プログラミングを学ぶ前に読む フロチャートで、みらいをえがけ!~アルゴリズムのきほんの形~
プログラミングを学ぶ前に読むアルゴリズムえほん〈4〉あそべるアルゴリズム!! 大型本 – 2018/3/1
アルゴリズムを、はじめよう 単行本(ソフトカバー) – 2012/5/14
伊藤 静香 (著)
2012年発売の品でかなり古いです。
本書は、アルゴリズムの入門書の中でも、一番最初に読んでいただきたいアルゴリズム超入門書です!
アルゴリズムの定石と呼ばれるものには様々な種類がありますが、
プログラマ初心者がいきなりたくさんのアルゴリズムを学ぼうとしても、
途中で挫折してしまう人が多いのではないでしょうか。
本書は、アルゴリズムの中でもプログラマが最低限知っておかなくてはならないものだけをぎゅっと絞込み、
ひとつひとつをていねいに解説しているため、無理なく最後まで読み終えることができます。
また、簡単な例でイメージを確認してからフローチャートを少しずつ完成させていく手順で解説しているため、
確実に理解することができます。
アルゴリズムをゼロから学びたい人に必携の1冊です!
https://amzn.to/4cuzOWn
楽しく学ぶ アルゴリズムとプログラミングの図鑑 読んでみた。
アルゴリズムとプログラミングの図鑑【第2版】 単行本(ソフトカバー) – 2022/10/26
森 巧尚 (著), まつむらまきお (イラスト)
アルゴリズムとは、ズバリ、問題を解決するための考え方です。
見て、読んで、試してわかる、実感できる入門書です。
アルゴリズム(英: algorithm)
https://ja.wikipedia.org/wiki/アルゴリズム
アルゴリズムとは、計算問題を解くためのプロセスや、やり方のことだと考えてください。
言い換えると、答えにたどり着くための手順を、ある一定のルールにそって定型化したもの
あるいは、そのプロセス、やり方だと考えてください。
アルゴリズムの本って、売れてる有名な本とか見ても、自分は理解ができないというか、難しいというか、わからないのが多いので、
イメージ。それを、フローチャートにして、
次にプログラムでは、どうか書くかを解説してます。
目次は、第1章から第6章まであり。
プログラミング言語は、
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchの8種類を解説してます。
この8種類は、よく目にするプログラミング言語だろうと思って選んだ言語です。
もしも、あなたが、使っている言語がなかったら、ごめんなさい。と書いてもあります。
アルゴリズムの意味をイラストや図で解説。
プログラミング言語のサンプルを体験して納得できます。
難しそうに思えるアルゴリズムでも意味がわかれば納得ができると思います。
サンプルもダウンロードできます。
みなさんの日常生活の中でも、アルゴリズムはおこなわれています。
目次
第1章:アルゴリズムってなに?
第2章:いろいろなプログラミング言語
第3章:データ構造とアルゴリズムの基本
第4章:簡単なアルゴリズム
第5章:サーチアルゴリズム
第6章:ソートアルゴリズム
第1章:アルゴリズムってなに?
1-1
アルゴリズムの基本を解説。
アルゴリズムとは問題の解き方です。
考え方と手順が、アルゴリズムです。
技術書では、よくアルゴリズムは数式で書かれています。
しかし、アルゴリズムは、日本語でも書けます。
書き方は、数式や文章だけではなく、フローチャートという図式で描く書き方もあります。
1-2
プログラムとアルゴリズムの違い
コンピューターを使う目的とは?問題を解決すること
プログラムとは?
前もって書いたもの
アルゴリズムとは
問題の解き方
アルゴリズムを考えて、プログラムを記述して、コンピューターで実行
プログラミングに関する用語
1-3
アルゴリズムを考えよう
目的、現状、結果
問題は整理して考える
ライブラリとは?先人の知恵
アルゴリズムを自分で作ろう。
1-4
いろいろなアルゴリズム
①ソートアルゴリズム
②サーチアルゴリズム
③経路検索アルゴリズム
④暗号化アルゴリズム
⑤データ圧縮アルゴリズム
⑥レイトレーシングアルゴリズム
第2章:いろいろなプログラミング言語
世の中には、いろいろなプログラミング言語があります。
2-1
いろいろなプログラミング言語
どうして、いろいろな言語があるのでしょうか?
それは、使う目的が違うからです。
そして、言語によって、得意な分野に違いがあります。
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchの特長を解説。
2-2
JavaScriptの解説
Webブラウザ上で動きます。
2-3
PHPの解説
サーバーの上で動きます。
2-4
Cの解説
パソコンや組み込み機器の上で動きます。
2-5
Javaの解説
パソコンやスマートフォンなどの中の仮想マシンの上で動きます。
2-6
Swiftの解説
iPhoneやMacなどの上で動きます。
2-7
Pythonの解説
基本的にUNIXの上で動きます。
2-8
BASICの解説
パソコンやニンテンドー3DSの上で動きます。
2-9
Scratchの解説
パソコンやWebブラウザの上で動きます。
第3章:データ構造とアルゴリズムの基本
アルゴリズムの組み立て方や、書き方、データの使い方について解説します。
3-1
データ構造
コンピューターが扱えるデータは数値です。
それはコンピューターが電子回路で、出来ていることによります。
文字
文字は文字コードという数値に置き換えて扱います。
画像
画像はRGBの光の三原色に分解し、それを数値に置き換えます。
動画
動画は、パラパラマンガのように、連続する画像を高速に切換えることで、動いているように見せています。
音声
音声は波形データを時間で細かく区切って振幅の値を数値として扱います。
このように、コンピューターは、いろいろなモノを数値化してデータとして扱います。
アルゴリズムでは、多くのデータを扱うことが多く
どのように、まとめたら扱いやすくなるか、を考えることが重要です。
データの、まとめ方を、データ構造といいます。
変数について
配列について
リストについて
キューの説明
スタックの説明
ツリーの説明
3-2
フローチャート
アルゴリズムを図式で書く方法
フローは、流れ
チャートは、図という意味で、日本語では、流れ図といいます。
フローチャートで扱う記号
端子
処理
選択(分岐)
反復
定義済み処理
流れ線
3-3
アルゴリズムの基本
3つの基本構造
順次構造
上から順番に実行する
選択構造(条件分岐)
もしも~なら、実行する
反復構造(ループ)
繰り返し、実行する
3-4
アルゴリズムからプログラムへ
問題
コンピューターに「10」という値を保存する。
そして、保存されたのか、その値を画面に表示して確認したい。
どのように、処理していくかイメージで考える。
イメージ
①入れ物に名付けて
②値を入れて
③取り出して表示
フローチャート
次に、イメージしたのを、フローチャートで考える
3つの処理を順番に行っていくので、順次構造で処理します。
フローチャートでは
開始
①変数aを作る
②aに10を代入する
③aの値を表示する
終了
プログラム
これを実際に、プログラミング言語で書くと、どうなるか。
プログラムでは
JavaScriptの言語での場合は
変数名の前にvarと記述し変数を宣言します。
変数の宣言と値の代入は1行でまとめて書けます。
変数の値を表示するには「alert()」を使います。
var a = 10;
alert(a);
Webブラウザでは
10と表示されます。
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
Scratchはビジュアルプログラミング言語なので、文章と写真の画面での操作で説明など載ってます。
第4章:簡単なアルゴリズム
アルゴリズムの中でも、最も簡単なアルゴリズムを見ていきましょう。
4-1
簡単なアルゴリズム
アルゴリズムの基本
合計値、平均値、最大値、最小値、データの交換など。
合計値
多くのデータの合計値を求めるアルゴリズムです。
平均値
多くのデータの平均値を求めるアルゴリズムです。
最大値、最小値
多くのデータの最大値、最小値を求めるアルゴリズムです。
データの交換
2つのデータを入れ替えるアルゴリズムです。
4-2
合計値
買い物の合計の金額を知りたいときなど、
合計値を求めるアルゴリズムを使います。
①目的(データの値を知ること)
②現状(データの個数と、それぞれの値)
③結果(全ての値を足した数値)
アルゴリズムのイメージと手順
合計値とは、配列に入っている値をすべて足した値です。
しかし、1度に全ての値を足すことはできないので配列の値を1つ、1つ順番に足していきます。
①合計の値を入れる変数を用意します。
ここに、配列の全ての値を順番に足していき、合計の値を求める。
②配列の最初から最後まで1つずつ順番にみていきます。
③それまでの合計値に配列の値を足す処理を繰り返します。
これを、イメージしたらフローチャートで表します。
フローチャートが出来たら、これを、プログラミング言語で記述してみる
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
4-3
平均値
テストの平均値を知りたいときなどに、
平均値を求めるアルゴリズムを使います。
平均値とは、、全てのデータを足し合わせてデータ数で割った値です。
アルゴリズムのイメージと手順
平均値は、データの合計値÷データ数。
①配列の合計を、合計値のアルゴリズムで求めます。
②次に、出てきた合計値を個数で割れば平均値が得られます。
これを、イメージしたらフローチャートで表します。
フローチャートが出来たら、これを、プログラミング言語で記述してみる
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
4-4
最大値、最小値
いろいろな店の最小値を知りたいとき、
最大値、最小値を探すアルゴリズムを使います。
アルゴリズムのイメージと手順
最大値を求めることは、とは、多くのデータの中から最も大きい値を探し出すこと。
①見つけた最大値を入れる変数を用意。
②配列の最後まで、繰り返し、
これを、イメージしたらフローチャートで表します。
フローチャートが出来たら、これを、プログラミング言語で記述してみる
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
4-5
データの交換
2つの変数の値を入れ替えたいとき、データを交換するアルゴリズムです。
アルゴリズムのイメージと手順
データを待避させておく場所を作る
これを、イメージしたらフローチャートで表します。
フローチャートが出来たら、これを、プログラミング言語で記述してみる
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
5-1
サーチ(検索)アルゴリズムとは
サーチとは、大量のデータの中から目的のデータを見つけることです。
リニアサーチ(線形探索法)、バイナリサーチ(二分探索法)。
リニアサーチ
バイナリサーチ
5-2
リニアサーチ
ひとつ、ひとつ、調べていく検索法
アルゴリズムのイメージ
サーチアルゴリズムの工夫
具体的な手順
イメージしたらフローチャートで表します。
フローチャートが出来たら、これを、プログラミング言語で記述してみる
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
5-3
バイナリサーチ
範囲を半分に絞りながら探していく探索法
アルゴリズムのイメージ
具体的な手順
イメージしたらフローチャートで表します。
フローチャートが出来たら、これを、プログラミング言語で記述してみる
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
バブルソート、選択ソート、挿入ソート、シェルソート、クイックソート。
6-1
ソート(整列)アルゴリズムとは
ソートとは、大量のデータをある順番で整列させて、わかりやすくすることです。
6-2
バブルソート
泡のように浮かび上がらせるソート
アルゴリズムのイメージ
具体的な手順
これを、イメージしたらフローチャートで表します。
フローチャートが出来たら、これを、プログラミング言語で記述してみる
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
6-3
選択ソート(単純選択法)
最小値を探して、先頭から順番に並べていくソート
アルゴリズムのイメージ
具体的な手順
これを、イメージしたらフローチャートで表します。
フローチャートが出来たら、これを、プログラミング言語で記述してみる
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
6-4
挿入ソート(単純挿入法)
データを抜き出して、正しい位置を挿入していくソート
アルゴリズムのイメージ
具体的な手順
これを、イメージしたらフローチャートで表します。
フローチャートが出来たら、これを、プログラミング言語で記述してみる
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
6-5
シェルソート
挿入ソートを改良して作られた高速なアルゴリズム
アルゴリズムのイメージ
具体的な手順
これを、イメージしたらフローチャートで表します。
フローチャートが出来たら、これを、プログラミング言語で記述してみる
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
6-6
クイックソート
大小、2つのグループに分割、分割を繰り返していくソート
アルゴリズムのイメージ
具体的な手順
これを、イメージしたらフローチャートで表します。
フローチャートが出来たら、これを、プログラミング言語で記述してみる
本では、8種類のプログラミング言語
JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchで解説されてます。
わかりやすく解説してますが、1回、読んだだけでは、なかなか理解ができない部分もあると思います。
アルゴリズムとプログラミングの図鑑【第2版】 単行本(ソフトカバー) – 2022/10/26
森 巧尚 (著), まつむらまきお (イラスト)