Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【基本情報対策】スタック・キュー・木

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

 【基本情報対策】スタック・キュー・木

Avatar for 赤神青空

赤神青空 PRO

October 15, 2026

Video

More Decks by 赤神青空

Other Decks in Programming

Transcript

  1. ▪正解のラベル付きのデータから学ぶのが、教師あり学習 前回のクイズの答えは「A」 前回のクイズ 機械学習の3つの学び⽅のうち、 正解のラベルが付いたデータから 学ぶのは? ⼊⼒と正解(ラベル)の組を⾒て、 正解を当てられるように学ぶのが 教師あり学習 答えは

    A 今ココ おさらい A 教師あり学習 正解のラベル付きのデータから学ぶ B 教師なし学習 ラベルなしで、似たものをまとめる C 強化学習 試⾏と報酬から学ぶ D 転移学習 3つとは別の軸。別の課題で学んだモデルを使い回す 2/16
  2. ▪データ構造の基本と使いどころ 今回の話 ① 配列とリスト 挿⼊‧削除の⼿間の違い ② スタックとキュー 呼び出し‧戻る‧SQS ③ ⽊とヒープ

    フォルダ‧DOM‧優先度 今回いちばん持ち帰ってほしいこと スタックは後⼊れ先出し、キューは先⼊れ先出し 今ココ はじめに 3/16
  3. ▪番号で読むか、ポインタでたどるか 配列と連結リスト 配列 連結リスト [] [] [] [] A B

    C D 番号(添字)で、どの要素もすぐ読める 1つの要素=データ+次へのポインタ(クリーム) A B C D 次の要素の場所(ポインタ)をたどる a[ ] と書けば C C を読むには、A から順にたどる 要素は、連続した場所に並ぶ 要素は、ばらばらの場所にあってよい 番号が0からか1からかは、⾔語や問題⽂で決まる 今ココ 配列とリスト 4/16
  4. ▪配列はずらす、リストは付け替える 途中に入れるときの手間 配列:後ろをずらす リスト:ポインタを付け替える A B D E A B

    C D E ⼊れた所より後ろを、全部1つずつずらす 削除なら、後ろを1つずつ前に詰める ⼊れた要素 今ココ 配列とリスト ずらした要素 A B 外す D C 場所が分かれば、付け替えは2か所だけ 削除なら、ポインタ1つで⾶ばす (⼊れる場所までは、先頭からたどる) 5/16
  5. ▪push で積み、pop スタック で上から取り出す push:上に積む pop:上から取り出す C C B A

    今ココ スタックとキュー ③ C を push ② B を push ① A を push B A 最後に⼊れた C が 最初に出る 後⼊れ先出し LIFO:Last In, First Out 6/16
  6. ▪enqueueキュー で並び、dequeue で先頭から取り出す enqueue:後ろに並ぶ A B 先頭 dequeue:先頭から取り出す C 末尾

    A‧B‧C の順に、末尾に並ぶ A B C 最初に⼊れた A が、最初に出る 先⼊れ先出し FIFO:First In, First Out 今ココ スタックとキュー 7/16
  7. ▪呼び出すたびに積み、終わったら上から外す 関数の呼び出しスタック 関数の呼び出しスタック 再帰が深すぎると 呼び出すたびに、上に積む 終わったら、上から外す 戻る 今ココ スタックとキュー b()

    a() main() a が b を呼ぶ main が a を呼ぶ 最初に動く あふれる f() f() f() f() f() Chrome の JS RangeError Python RecursionError 深さの上限で 先に⽌める エラーで⽌まる 9/16
  8. ▪開いたページを積み、 ブラウザの「戻る」 「戻る」で上から取り出す 開いたページを積む 「戻る」で上から取り出す 記事 記事 ⼀覧 トップ 今ココ

    スタックとキュー ③ 開く ② 開く ① 開く ⼀覧 トップ いちばん上の 「⼀覧」を表⽰ 後⼊れ先出し いま表⽰ 10/16
  9. ▪Amazonメッセージキュー SQS の標準キューと FIFO キュー 送る側 受け取る側 末尾 先頭 標準キュー

    FIFO キュー 送った順 送った順 届く順(例) 届く順 順番が⼊れ替わることがある(ピンク) 送った順のまま届く 同じメッセージが2回以上届くこともある 今ココ スタックとキュー (同じメッセージグループの中で) 11/16
  10. ▪身近な木の例 フォルダの階層とDOMも木 フォルダの階層 HTML の DOM / html home etc

    sora hosts notes.md 今ココ 木とヒープ app head title body h p ブラウザは HTML を読んで、この⽊を作る 13/16
  11. ▪完全2分木で、親と子の間に大小の決まりがあるもの ヒープ 最⼩ヒープ:親 ≦ ⼦ 配列で表す 親が i 番⽬なら、⼦は 2i

    と 2i+ 番⽬ (1から数えたとき) どの親も、⼦より⼩さいか等しい 兄弟の間の⼤⼩は決めない。親 ≧ ⼦ なら最⼤ヒープ 今ココ 木とヒープ 上の段から左に詰めた形(完全2分⽊) なので、すき間なく並ぶ 優先度付きキューの実装に使われる 14/16