アルゴリズムとプログラミング

アルゴリズムとプログラミング

アルゴリズムとプログラミングとは

アルゴリズムとプログラミングは、やりたいことを、コンピュータが実行できる手順に落とす方法を学ぶ分野です。

データをどう並べるかで、できる操作と速さが変わります。まず入れ物(データ構造)を知り、そのうえで手順(アルゴリズム)を学ぶ、という順で積み上げます。

このカテゴリーで学べること

  • データ構造: 配列・リスト・スタック・キュー・木構造
  • アルゴリズム: 探索・整列・再帰と計算量
  • プログラミング: 変数と制御構造、スコープ、例外処理
  • プログラム言語: 言語の分類と特徴
  • その他の言語: マークアップ言語やデータ記述の形式

この中の分野(学習順)

  1. データ構造(全5記事)
  2. アルゴリズム(全6記事)
  3. プログラミング(全6記事)
  4. プログラム言語(全3記事)
  5. その他の言語(全4記事)

おすすめの読み進め方

  1. まずは「データ構造」で、入れ物の種類と向き不向きを知る
  2. 次に「アルゴリズム」で、探索と整列を手順として追えるようにする
  3. 「プログラミング」で、実際のコードの読み方を身につける
  4. 最後に「プログラム言語」「その他の言語」で、道具の選び方を知る

学習のポイント

擬似言語は、目で追うだけでなく手を動かして値の変化を書き出すと、急に読めるようになります。

計算量は「入力が増えたとき何倍になるか」の話です。式の暗記ではなく、増え方の形でつかんでください。

データ構造

線形構造

基本情報技術者試験の「線形構造」を初心者向けに解説。配列とリストの違いを「マンション」と「宝探し」の例えで整理し、ポインタの意味、挿入・削除の速さの理由まで、図解と確認問題つきでまとめました。
データ構造

スタックとキュー

基本情報技術者試験の「スタックとキュー」を初心者向けに解説。LIFOとFIFOの違い、push/popのトレース問題の解き方、関数呼び出しとの関係まで、皿の山とレジの行列の例えで図解と確認問題つきでまとめました。
データ構造

木構造

基本情報技術者試験の「木構造」を初心者向けに解説。根・節点・葉の用語、二分探索木の「左
データ構造

グラフ構造

基本情報技術者試験の「グラフ構造」を初心者向けに解説。ノードとエッジ、有向・無向の違い、隣接行列の読み書きと隣接リストの使い分けまで、路線図の例えで図解と確認問題つきでまとめました。
データ構造

ハッシュ

基本情報技術者試験の「ハッシュ」を初心者向けに解説。ハッシュ関数のmod計算、衝突とチェイン法・オープンアドレス法の違い、探索速度の比較まで、下駄箱の例えで図解と確認問題つきでまとめました。
アルゴリズム

アルゴリズムの基本構造

基本情報技術者試験|アルゴリズムプログラムの流れは、たった3つの形でできています今回から、いよいよ「アルゴリズム」に入ります。 科目Bの主戦場であり、多くの受験者が最初につまずく分野です。 でも、最初に知ってほしい事実があります。プログラム...
アルゴリズム

探索アルゴリズム

基本情報技術者試験の「探索アルゴリズム」を初心者向けに解説。線形探索・二分探索・ハッシュ探索の違いを引き出し・辞書・下駄箱の例えで整理し、比較回数の計算や番兵まで図解と確認問題つきでまとめました。
アルゴリズム

整列アルゴリズム

基本情報技術者試験の「整列アルゴリズム」を初心者向けに解説。バブル・選択・挿入・クイック・マージ・ヒープの6方式をトランプの例えで整理し、計算量の違いまで図解と確認問題つきでまとめました。
アルゴリズム

再帰

基本情報技術者試験の「再帰」を初心者向けに解説。階乗の再帰を「行きと帰り」でトレースする方法、停止条件の重要性、スタックとの関係まで、マトリョーシカの例えで図解と確認問題つきでまとめました。
アルゴリズム

アルゴリズムの表現

基本情報技術者試験の「アルゴリズムの表現」を初心者向けに解説。フローチャートの記号5つ、疑似言語の読み方(←・if・while・for)、科目B形式のトレース練習まで、図解と確認問題つきでまとめました。