Yozzang์˜ Cyber์ผ๊ธฐ ๐Ÿ’ป
article thumbnail
AOV/AOE ๋„คํŠธ์›Œํฌ (Activity on Vertex/Edge)
Algorithm 2022. 7. 1. 00:31

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘์˜ AOV/AOE ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ฒ ๋‹ค. AOV ๋„คํŠธ์›Œํฌ๋ž€? : AOV๋Š” Activity On Vertex์˜ ์•ฝ์ž์ด๋‹ค. ์ฆ‰, ์ •์ ์ด Activity, ์ž‘์—…์„ ๋‚˜ํƒ€๋‚ด๊ณ , ๊ฐ„์„ ์ด ์ž‘์—…๊ฐ„์˜ ์šฐ์„ ์ˆœ์œ„ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์ด๋‹ค. AOV ๋™์ž‘ ๊ณผ์ • ์Šคํƒ [0], ์œ„์ƒ ์ˆœ์„œ [] ์Šคํƒ [3, 2, 1], ์œ„์ƒ ์ˆœ์„œ [0] (1, 2, 3๋ฒˆ ๋…ธ๋“œ์˜ ์„ ํ–‰ ๋…ธ๋“œ 0์ด ์‚ฌ๋ผ์กŒ์œผ๋ฏ€๋กœ ์Šคํƒ์— ์ €์žฅ) ์Šคํƒ [2, 1], ์œ„์ƒ ์ˆœ์„œ [0, 3] ์Šคํƒ [5, 1], ์œ„์ƒ ์ˆœ์„œ [0, 3, 2] ์Šคํƒ [1], ์œ„์ƒ ์ˆœ์„œ [0, 3, 2, 5] ์Šคํƒ [4], ์œ„์ƒ ์ˆœ์„œ [0, 3, 2, 5, 1] ์Šคํƒ [], ์œ„์ƒ ์ˆœ์„œ [0, 3, 2, 5, 1, 4] AOE ๋„คํŠธ์›Œํฌ๋ž€? : AOE๋Š” Activi..

article thumbnail
์ตœ์†Œ๋น„์šฉ ์‹ ์žฅ ํŠธ๋ฆฌ
Algorithm 2022. 6. 30. 00:19

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ๊ทธ๋ž˜ํ”„ ์ค‘์˜ ์ตœ์†Œ๋น„์šฉ ์‹ ์žฅ ํŠธ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ฒ ๋‹ค. ์ตœ์†Œ๋น„์šฉ ์‹ ์žฅ ํŠธ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ œ์•ฝ ์กฐ๊ฑด : ๊ทธ๋ž˜ํ”„ ๋‚ด์— ์กด์žฌํ•˜๋Š” edge๋“ค๋งŒ ์‚ฌ์šฉ n - 1๊ฐœ์˜ edge๋งŒ ์‚ฌ์šฉ Cycle์„ ํ˜•์„ฑํ•  ์ˆ˜ ์žˆ๋Š” edge๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€ ์ตœ์†Œ๋น„์šฉ ์‹ ์žฅ ํŠธ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (๋ชจ๋‘ greedy method ์‚ฌ์šฉ) : Kruskal Prim Sollin Kruskal ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ edge์”ฉ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ์ตœ์†Œ๋น„์šฉ ํŠธ๋ฆฌ T๋ฅผ ์ƒ์„ฑ Edge๋“ค์„ ๋น„์šฉ์˜ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ํ›„, ๊ฐ€์žฅ ๋น„์šฉ์ด ์ ์€ edge๋ถ€ํ„ฐ ์„ ํƒ(greedy) ์„ ํƒ๋œ edge๋Š” ๊ธฐ์กด์— ์„ ํƒ๋œ edge๋“ค๊ณผ ์‚ฌ์ดํด์„ ํ˜•์„ฑํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋งŒ T์— ํฌํ•จ ๊ทธ๋ž˜ํ”„ G๊ฐ€ ์—ฐ๊ฒฐ๋˜์—ˆ์œผ๋ฉฐ, n > 0๊ฐœ์˜ vertex๊ฐ€ ์กด์žฌํ•  ๊ฒฝ์šฐ, ์ •ํ™•ํžˆ n - 1๊ฐœ์˜..

article thumbnail
๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(Depth-First Search)
Algorithm 2022. 4. 24. 00:53

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS) ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS)๋ž€? : ๋ฃจํŠธ ๋…ธ๋“œ(ํ˜น์€ ์ž„์˜์˜ ๋…ธ๋“œ)๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๋‹ค์Œ ๋ถ„๊ธฐ(branch)๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์ „์— ํ•ด๋‹น ๋ถ„๊ธฐ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋„“๊ฒŒ ํƒ์ƒ‰ํ•˜๊ธฐ ์ „์— ๊นŠ๊ฒŒ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์˜ ํŠน์ง• : ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ชจ๋“  ํ˜•ํƒœ์˜ ํŠธ๋ฆฌ ์ˆœํšŒ(traversals)๋Š” ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์˜ ์ข…๋ฅ˜์ด๋‹ค. ์–ด๋–ค ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ–ˆ๋Š”์ง€๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ฒ€์‚ฌํ•œ๋‹ค. ๋” ์ด์ƒ ๋ฐฉ๋ฌธํ•  ๋…ธ๋“œ๊ฐ€ ์—†์œผ๋ฉด ์ด์ „ ๋…ธ๋“œ๋กœ backtracking(๋‹ค์‹œ ๋Œ์•„๊ฐ€์„œ ํƒ์ƒ‰ํ•˜์ง€ ์•Š์€ ์ •์ ์ด ์žˆ๋Š”์ง€ ํ™•์ธ) ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์˜ ๋™์ž‘ ๊ณผ์ • : V0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ V0 ๋ฐฉ๋ฌธ V0๊ณผ ์ธ์ ‘ํ•œ V1 ๋ฐฉ๋ฌธ V1๊ณผ ์ธ์ ‘ํ•œ V3 ๋ฐฉ๋ฌธ V3๊ณผ ์ธ์ ‘ํ•œ V7 ๋ฐฉ๋ฌธ V7๊ณผ..

article thumbnail
๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(Breadth-First Search)
Algorithm 2022. 4. 23. 00:21

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS) ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS)์ด๋ž€? : ๋ฃจํŠธ ๋…ธ๋“œ(ํ˜น์€ ์ž„์˜์˜ ๋…ธ๋“œ)๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋ฅผ ๋จผ์ € ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊นŠ๊ฒŒ ํƒ์ƒ‰ํ•˜๊ธฐ ์ „์— ๋„“๊ฒŒ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰์˜ ํŠน์ง• : ์žฌ๊ท€์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋“ค์„ ์ฐจ๋ก€๋Œ€๋กœ ์ €์žฅํ•œ ํ›„ ๊บผ๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ์ธ ํ(Queue)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์–ด๋–ค ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ–ˆ๋Š”์ง€๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ฒ€์‚ฌํ•œ๋‹ค. ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰์˜ ๋™์ž‘ ๊ณผ์ • : ์ดˆ๊ธฐ ์ƒํƒœ์˜ ํ์—๋Š” ์‹œ์ž‘ ๋…ธ๋“œ๋งŒ ์ €์žฅ. (Q = [0]) ํ์—์„œ ๋…ธ๋“œ๋ฅผ ๊บผ๋‚ด์„œ ๋ฐฉ๋ฌธ ๋ฐ ์ธ์ ‘ ๋…ธ๋“œ๋ฅผ ํ์— ์‚ฝ์ž… -> V0 ๋ฐฉ๋ฌธ (Q = [1, 2]) ๋” ์ด์ƒ ์‚ฝ์ž…ํ•  ์ธ์ ‘ํ•œ ๋…ธ๋“œ๊ฐ€ ์—†๋‹ค๋ฉด dequeue ์‹คํ–‰ (ํ์˜ ๋งจ ์•ž์—์„œ ๋…ธ๋“œ๋ฅผ ๊บผ๋‚ธ๋‹ค) ..

article thumbnail
๊ทธ๋ž˜ํ”„ ํ‘œํ˜„๋ฒ•(์ธ์ ‘ ํ–‰๋ ฌ, ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ)
Algorithm 2022. 4. 22. 00:18

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ๊ทธ๋ž˜ํ”„์˜ ํ‘œํ˜„๋ฒ•์ธ ์ธ์ ‘ ํ–‰๋ ฌ๊ณผ ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ธ์ ‘ ํ–‰๋ ฌ(Adjacency Matrix)๋ž€? : ๊ทธ๋ž˜ํ”„์˜ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. A[u][v]๋ผ๋Š” ์ธ์ ‘ ํ–‰๋ ฌ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด, ๋…ธ๋“œ u์—์„œ ๋…ธ๋“œ v๋กœ ๊ฐ€๋Š” ๊ฐ„์„ ์ด ์žˆ๋‹ค๋ฉด 1, ์—†๋‹ค๋ฉด 0์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์ ‘ ํ–‰๋ ฌ์˜ ์˜ˆ์‹œ : ๋ฌด๋ฐฉํ–ฅ์„ฑ ๊ทธ๋ž˜ํ”„: A[][]๋Š” ๋Œ€์นญ ํ–‰๋ ฌ (์ด๋•Œ, A[n(n-1)/2]๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅ) ๋ฐฉํ–ฅ์„ฑ ๊ทธ๋ž˜ํ”„ : A[][]๋Š” ๋น„๋Œ€์นญ ํ–‰๋ ฌ ์žฅ์  : ๊ตฌํ˜„์ด ์‰ฝ๋‹ค ๋‹จ์ : ๋ณต์žก๋„ = O(n์˜ 2์Šน) ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ(Adjacency List)๋ž€? : n๊ฐœ์˜ ์ •์ (vertex)์„ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์ธ์ ‘ํ•œ ์ •์ ๋“ค์˜ ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ทธ๋ž˜ํ”„ G์˜ ๊ฐ ์ •์ ์— ๋Œ€ํ•ด ํ•œ ๊ฐœ์˜ ์—ฐ..

article thumbnail
๊ทธ๋ž˜ํ”„ (Graph)
Algorithm 2022. 4. 21. 00:48

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ƒ์˜ ๊ทธ๋ž˜ํ”„(Graph)์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„๋ž€? : ๊ทธ๋ž˜ํ”„๋Š” 2๊ฐœ์˜ ์ง‘ํ•ฉ V์™€ E๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ V๋Š” ๊ณต์ง‘ํ•ฉ์ด ์•„๋‹Œ ์ •์ (vertex)์˜ ์œ ํ•œ ์ง‘ํ•ฉ์ด๊ณ  E๋Š” ๊ฐ„์„ (edge)๋“ค์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„์˜ ํŠน์ง• : 2๊ฐœ์ด์ƒ์˜ ๊ฒฝ๋กœ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฃจํŠธ ๋…ธ๋“œ๋ผ๋Š” ๊ฐœ๋…์ด ์—†๋‹ค. ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ผ๋Š” ๊ฐœ๋…์ด ์—†๋‹ค. ๊ทธ๋ž˜ํ”„์— ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด : ์ •์ (vertex) : ์œ„์น˜๋ผ๋Š” ๊ฐœ๋… ๊ฐ„์„ (edge) : ์œ„์น˜ ๊ฐ„์˜ ๊ด€๊ณ„, ์ฆ‰ ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์„  ์™„์ „ ๊ทธ๋ž˜ํ”„(Complete graph) : ๊ฐ„์„ ์˜ ์ˆ˜๊ฐ€ ์ตœ๋Œ€์ธ ๊ทธ๋ž˜ํ”„ ์ธ์ ‘(adjacent) : ๊ฐ„์„ ์— ์˜ํ•ด ์ง์ ‘ ์—ฐ๊ฒฐ๋œ๋‹ค ๋ถ€๋ถ„ ๊ทธ๋ž˜ํ”„(Subgraph) : V(G')⊆V(G)์ด๊ณ  E(G')⊆E(G)์ผ ๊ฒฝ์šฐ, G'๋Š” G์˜ ๋ถ€๋ถ„ ๊ทธ๋ž˜ํ”„ ๊ฒฝ๋กœ..

article thumbnail
ํž™(Heap)
Algorithm 2022. 4. 19. 00:38

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์˜ ํž™(Heap)์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํž™์ด๋ž€? : ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ ๊ตฌ์กฐ์˜ ์ผ์ข…์œผ๋กœ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ํž™์˜ ์ข…๋ฅ˜ : ์ตœ๋Œ€ ํž™ (Max Heap) : ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ (๋ถ€๋ชจ key ≥ ์ž์‹ key) ์ตœ์†Œ ํž™ (Min Heap) : ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ (๋ถ€๋ชจ key ≤ ์ž์‹ key) ์ตœ๋Œ€ ํž™(Max Heap)์˜ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ : ์ตœ๋Œ€ ํž™ ์ถ”๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ : void push_max_heap(element item, int *n) { int i; if (HEAP_FULL(*n)) { fprintf(stderr, "The heap is full..

article thumbnail
์ด์ง„ ํŠธ๋ฆฌ ์ˆœํšŒ
Algorithm 2022. 4. 18. 00:54

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์ด์ง„ํŠธ๋ฆฌ์˜ ์ˆœํšŒ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ง„ ํŠธ๋ฆฌ ์ˆœํšŒ๋ž€? : ํŠธ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ํ•œ ๋ฒˆ์”ฉ๋งŒ ๋ฐฉ๋ฌธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ํ•œ ๋…ธ๋“œ๊ฐ€ ๋ฐฉ๋ฌธ๋  ๋•Œ ์–ด๋–ค ์—ฐ์‚ฐ์ด ๊ทธ ๋…ธ๋“œ์— ๋Œ€ํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋งŒ์ผ L, V, R์ด ํ•œ ๋…ธ๋“œ์—์„œ ๊ฐ๊ฐ ์™ผ์ชฝ์œผ๋กœ ์ด๋™, ๋…ธ๋“œ ๋ฐฉ๋ฌธ, ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค๋ฉด LVR, LRV, VLR, VRL, RVL, RLV ๋“ฑ 6๊ฐœ์˜ ์ˆœํšŒ ๋ฐฉ๋ฒ•์ด ์žˆ์„ ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ง„ ํŠธ๋ฆฌ ์ˆœํšŒ์˜ ์ข…๋ฅ˜ : (1) Inorder (์ค‘์œ„ ์ˆœํšŒ, LVR) : ๋” ์ด์ƒ ์ง„ํ–‰ํ•  ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ ์™ผ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•˜์—ฌ ๋‚ด๋ ค๊ฐ„ ๋‹ค์Œ, ๊ทธ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•˜๊ณ  ์˜ค๋ฅธ์ชฝ ์ž์‹ ๋…ธ๋“œ๋กœ ์ด๋™ํ•œ ๋’ค ๊ณ„์†ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†์„ ๋•Œ์—๋Š” ํ•œ ๋…ธ๋“œ ๋’ค๋กœ ๋˜๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ : void in..

article thumbnail
ํŠธ๋ฆฌ & ์ด์ง„ ํŠธ๋ฆฌ
Algorithm 2022. 4. 17. 00:36

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์ด์ง„ ํŠธ๋ฆฌ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํŠธ๋ฆฌ๋ž€? : ํŠธ๋ฆฌ๋Š” 1๊ฐœ ์ด์ƒ์˜ ๋…ธ๋“œ๋กœ ์ด๋ฃจ์–ด์ง„ ์œ ํ•œ ์ง‘ํ•ฉ์œผ๋กœ์„œ ํ๋‚˜ ์Šคํƒ๊ณผ ๊ฐ™์€ ์„ ํ˜• ๊ตฌ์กฐ๊ฐ€ ์•„๋‹Œ ๋น„์„ ํ˜„ ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ํŠธ๋ฆฌ์˜ ํŠน์ง• : ํ•˜๋‚˜์˜ ๋ฃจํŠธ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง„๋‹ค. ๋ชจ๋“  ๋…ธ๋“œ๋Š” 0๊ฐœ ์ด์ƒ์˜ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง„๋‹ค. ๋…ธ๋“œ์˜ ์„œ๋กœ๊ฐ„์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ„์„ (Edge)์ด ์กด์žฌํ•œ๋‹ค. ํŠธ๋ฆฌ์— ๊ด€ํ•œ ์šฉ์–ด ์ •๋ฆฌ : ๋…ธ๋“œ์˜ ์ฐจ์ˆ˜(degree) : ์ž์‹ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜ (A : 3) ํŠธ๋ฆฌ์˜ ์ฐจ์ˆ˜(degree of tree) : ํŠธ๋ฆฌ์˜ ์ตœ๋Œ€ ์ฐจ์ˆ˜, ์ฆ‰ ์ œ์ผ ๋งŽ์€ ๊ฐ€์ง“์ˆ˜ (3) ๋‹จ๋ง ๋…ธ๋“œ(leaf of terminal node) : ์ž์‹์ด ์—†๋Š” ๋…ธ๋“œ (K, L, F, G, M, I, J) Parent : ๋ถ€๋ชจ ๋…ธ๋“œ (E : B, B : A) Children : ์ž์‹ ๋…ธ๋“œ (B :..