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
赤神青空
PRO
October 15, 2026
Video
Programming
28
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 赤神青空
【AWS資格のニュース】SAP が SAP-C03 に変わります
akagami
PRO
0
2
【力学 #5】単振り子と小角近似
akagami
PRO
0
5
【AIニュース】Genie 4 とは何か
akagami
PRO
0
15
【基本情報対策】IPアドレスとサブネットマスク
akagami
PRO
0
14
GPT-6 Cyber とは何か
akagami
PRO
0
14
【AWSの新サービス】Amazon ECS Gateway とは何か
akagami
PRO
0
20
【力学 #4】単振動:ばねの運動方程式を解く
akagami
PRO
0
9
【力学 #4】単振動:ばねの運動方程式を解く
akagami
PRO
0
10
Cloudflare の AI で他人の会話が混ざった?
akagami
PRO
0
27
Other Decks in Programming
See All in Programming
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
220
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
140
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
130
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.2k
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.7k
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
310
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.9k
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
160
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
580
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
170
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
560
AI: The stuff that nobody shows you
jnunemaker
PRO
11
1.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Done Done
chrislema
187
17k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
330
Facilitating Awesome Meetings
lara
57
7.2k
Claude Code のすすめ
schroneko
67
230k
Thoughts on Productivity
jonyablonski
76
5.5k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
4
1.2k
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