Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
【基本情報対策】スタック・キュー・木
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
赤神青空
PRO
October 15, 2026
Video
Programming
16
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【基本情報対策】スタック・キュー・木
赤神青空
PRO
October 15, 2026
Video
More Decks by 赤神青空
See All by 赤神青空
【AIニュース】Anthropic が Git から Scion に移った理由
akagami
PRO
0
8
【AIニュース】Grok Voice 3.0 とは何か
akagami
PRO
0
10
【基本情報対策】探索・整列と計算量
akagami
PRO
0
9
【AIニュース】GPT-6 の Intelligent UI とは何か
akagami
PRO
0
16
【基本情報対策】AI・機械学習の基礎
akagami
PRO
0
21
【基本情報対策】浮動小数点と誤差
akagami
PRO
0
22
【AIニュース】Claude for Google Workspace とは何か
akagami
PRO
0
28
【基本情報対策】2進数・16進数と基数変換
akagami
PRO
0
30
【AIニュース】Claude Code の mods とは何か
akagami
PRO
0
27
Other Decks in Programming
See All in Programming
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
190
Simple Storage Service(S3) is not simple
iwatsukayura
0
280
The Rails Doctrine Decade
koic
2
570
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
530
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
golang-bob.pdf
iwatsukayura
0
130
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
4
2.9k
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
16k
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
ChromeでローカルLLM
ryu1013
0
140
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
230
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.2k
Exploring anti-patterns in Rails
aemeredith
4
540
We Have a Design System, Now What?
morganepeng
55
8.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
450
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
How to train your dragon (web standard)
notwaldorf
96
6.9k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Making Projects Easy
brettharned
120
6.8k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Transcript
2026年10月 スタック・キュー・木 基本情報技術者試験 対策 #4 赤神青空
▪正解のラベル付きのデータから学ぶのが、教師あり学習 前回のクイズの答えは「A」 前回のクイズ 機械学習の3つの学び⽅のうち、 正解のラベルが付いたデータから 学ぶのは? ⼊⼒と正解(ラベル)の組を⾒て、 正解を当てられるように学ぶのが 教師あり学習 答えは
A 今ココ おさらい A 教師あり学習 正解のラベル付きのデータから学ぶ B 教師なし学習 ラベルなしで、似たものをまとめる C 強化学習 試⾏と報酬から学ぶ D 転移学習 3つとは別の軸。別の課題で学んだモデルを使い回す 2/16
▪データ構造の基本と使いどころ 今回の話 ① 配列とリスト 挿⼊‧削除の⼿間の違い ② スタックとキュー 呼び出し‧戻る‧SQS ③ ⽊とヒープ
フォルダ‧DOM‧優先度 今回いちばん持ち帰ってほしいこと スタックは後⼊れ先出し、キューは先⼊れ先出し 今ココ はじめに 3/16
▪番号で読むか、ポインタでたどるか 配列と連結リスト 配列 連結リスト [] [] [] [] A B
C D 番号(添字)で、どの要素もすぐ読める 1つの要素=データ+次へのポインタ(クリーム) A B C D 次の要素の場所(ポインタ)をたどる a[ ] と書けば C C を読むには、A から順にたどる 要素は、連続した場所に並ぶ 要素は、ばらばらの場所にあってよい 番号が0からか1からかは、⾔語や問題⽂で決まる 今ココ 配列とリスト 4/16
▪配列はずらす、リストは付け替える 途中に入れるときの手間 配列:後ろをずらす リスト:ポインタを付け替える A B D E A B
C D E ⼊れた所より後ろを、全部1つずつずらす 削除なら、後ろを1つずつ前に詰める ⼊れた要素 今ココ 配列とリスト ずらした要素 A B 外す D C 場所が分かれば、付け替えは2か所だけ 削除なら、ポインタ1つで⾶ばす (⼊れる場所までは、先頭からたどる) 5/16
▪push で積み、pop スタック で上から取り出す push:上に積む pop:上から取り出す C C B A
今ココ スタックとキュー ③ C を push ② B を push ① A を push B A 最後に⼊れた C が 最初に出る 後⼊れ先出し LIFO:Last In, First Out 6/16
▪enqueueキュー で並び、dequeue で先頭から取り出す enqueue:後ろに並ぶ A B 先頭 dequeue:先頭から取り出す C 末尾
A‧B‧C の順に、末尾に並ぶ A B C 最初に⼊れた A が、最初に出る 先⼊れ先出し FIFO:First In, First Out 今ココ スタックとキュー 7/16
▪スタックは逆順、キューは入れた順 同じ順に入れても、出る順が違う ⼊れた順 取り出す順 スタック A B C C B
A 逆になる キュー A B C A B C そのまま 今ココ スタックとキュー 8/16
▪呼び出すたびに積み、終わったら上から外す 関数の呼び出しスタック 関数の呼び出しスタック 再帰が深すぎると 呼び出すたびに、上に積む 終わったら、上から外す 戻る 今ココ スタックとキュー b()
a() main() a が b を呼ぶ main が a を呼ぶ 最初に動く あふれる f() f() f() f() f() Chrome の JS RangeError Python RecursionError 深さの上限で 先に⽌める エラーで⽌まる 9/16
▪開いたページを積み、 ブラウザの「戻る」 「戻る」で上から取り出す 開いたページを積む 「戻る」で上から取り出す 記事 記事 ⼀覧 トップ 今ココ
スタックとキュー ③ 開く ② 開く ① 開く ⼀覧 トップ いちばん上の 「⼀覧」を表⽰ 後⼊れ先出し いま表⽰ 10/16
▪Amazonメッセージキュー SQS の標準キューと FIFO キュー 送る側 受け取る側 末尾 先頭 標準キュー
FIFO キュー 送った順 送った順 届く順(例) 届く順 順番が⼊れ替わることがある(ピンク) 送った順のまま届く 同じメッセージが2回以上届くこともある 今ココ スタックとキュー (同じメッセージグループの中で) 11/16
▪根から枝分かれし、子がない節が葉 木と2分木 ⽊ 2分⽊ 根(いちばん上) 今ココ 木とヒープ 葉(⼦がない) どの節も、⼦は2つまで 12/16
▪身近な木の例 フォルダの階層とDOMも木 フォルダの階層 HTML の DOM / html home etc
sora hosts notes.md 今ココ 木とヒープ app head title body h p ブラウザは HTML を読んで、この⽊を作る 13/16
▪完全2分木で、親と子の間に大小の決まりがあるもの ヒープ 最⼩ヒープ:親 ≦ ⼦ 配列で表す 親が i 番⽬なら、⼦は 2i
と 2i+ 番⽬ (1から数えたとき) どの親も、⼦より⼩さいか等しい 兄弟の間の⼤⼩は決めない。親 ≧ ⼦ なら最⼤ヒープ 今ココ 木とヒープ 上の段から左に詰めた形(完全2分⽊) なので、すき間なく並ぶ 優先度付きキューの実装に使われる 14/16
▪スタックは後入れ先出し、キューは先入れ先出し まとめ 配列は番号で読み、リストはポインタでたどる 配列とリスト スタックは後⼊れ先出し、キューは先⼊れ先出し スタックとキュー 途中への挿⼊‧削除は、場所が分かればリストは付け替えで済む 関数の呼び出しはスタックで管理し、「戻る」の動きも同じ考え⽅ ⽊は根から枝分かれし、ヒープは⼤⼩の決まりがある完全2分⽊ フォルダの階層や
DOM は⽊。最⼩ヒープなら最⼩の値がすぐ分かる 今ココ まとめ ⽊とヒープ 15/16
▪一度止めて考えてみてください。答え合わせは次回の冒頭で 今回のクイズ 空のスタックに1、2、3の順にpushし、popを2回したあとに残っているのは? A 1 今ココ まとめ B 2 C
3 D 何も残らない 16/16