LCA(Lowest Common Ancestor) ์•Œ๊ณ ๋ฆฌ์ฆ˜
Computer Science/์•Œ๊ณ ๋ฆฌ์ฆ˜ 2021. 11. 1. 22:44

LCA(Lowest Common Ancestor) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? ๋‘ ๊ฐœ์˜ ๋…ธ๋“œ์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณตํ†ต๋œ ๋ถ€๋ชจ๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งํ•œ๋‹ค. ์–ด๋–ป๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์„๊นŒ? ์œ„์˜ ํŠธ๋ฆฌ์—์„œ 9์™€ 13์˜ ๊ณตํ†ต ๋ถ€๋ชจ๋Š” ๋‘˜์˜ ๋ฐ”๋กœ ์œ„์— ์žˆ๋Š” 2์ด๋‹ค. ๋ฌผ๋ก  9์™€ 13๊ณผ ๊ฐ™์ด ๊ฐ™์€ Level์— ์žˆ๋Š” ๋…ธ๋“œ์ธ ๊ฒฝ์šฐ์— ๋‘ ๋…ธ๋“œ์˜ Level์„ ๋™์‹œ์— ํ•˜๋‚˜์”ฉ ์ค„์—ฌ๊ฐ€๋ฉฐ ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ๋งŒ์•ฝ ์„œ๋กœ ๋‹ค๋ฅธ Level์— ์žˆ๋Š” ๊ฒฝ์šฐ ๋™์‹œ์— ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ„๋‹ค ํ•œ๋“ค ๊ณตํ†ต ๋ถ€๋ชจ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ Level์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” ํ•˜๋‚˜์˜ ๋…ธ๋“œ๋ฅผ ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ€๋„๋ก ํ•˜์—ฌ ๊ฐ™์€ Level๋กœ ๋งž์ถฐ์ค˜์•ผ๋งŒ ํ•œ๋‹ค. ์ •๋ฆฌํ•˜์ž๋ฉด, ๋” ๊นŠ์€ Level์— ์žˆ๋Š” ๋…ธ๋“œ์˜ Level์„ ์ค„์—ฌ ์–•์€ Level์— ์žˆ๋Š” ๋…ธ๋“œ์™€ ๋™์ผํ•˜๊ฒŒ ๋งž์ถฐ์ค˜์•ผ ํ•œ๋‹ค. Level๊ณผ ๋ถ€๋ชจ ๋…ธ๋“œ ๊ตฌํ•˜๊ธฐ ์šฐ์„  ..

[์šด์˜์ฒด์ œ] ์šด์˜์ฒด์ œ์˜ ๊ตฌ์กฐ์™€ ๊ธฐ๋Šฅ
Computer Science/์šด์˜์ฒด์ œ 2021. 10. 27. 23:08

์šด์˜์ฒด์ œ์˜ ๊ตฌ์กฐ ์ปค๋„ ํ•ต, ๊ด€๋ฆฌ์ž ํ”„๋กœ๊ทธ๋žจ, ์ƒ์ฃผ ํ”„๋กœ๊ทธ๋žจ, ์ œ์–ด ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค. ํ•œ๊ตญ์–ด๋กœ ์•Œ๋งน์ด๋ผ๋Š” ๋œป, ํ•ต์‹ฌ์„ ์˜๋ฏธํ•œ๋‹ค. ์ž์ฃผ ์“ฐ์ด๋Š” ๊ธฐ๋Šฅ(ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ...)๋“ค์„ ๋ชจ์•„๋†“์•˜๊ธฐ์— ํ•ญ์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด ์žˆ๋‹ค. ์œ ํ‹ธ๋ฆฌํ‹ฐ ์šด์˜์ฒด์ œ์—์„œ ์ปค๋„์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ถ€๋ถ„์„ ๋งํ•œ๋‹ค. ๊ฐ€๋” ์“ฐ์ด๋Š” ๊ธฐ๋Šฅ๋“ค์ด๊ธฐ์— ํ•„์š”ํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ๋‹ค. ์‹œ์Šคํ…œ ์ฝœ ์ปค๋„์—๊ฒŒ ๋ฌด์—‡์ธ๊ฐ€๋ฅผ ์š”์ฒญํ•˜๊ธฐ ์œ„ํ•œ API ์šด์˜์ฒด์ œ์˜ ๊ธฐ๋Šฅ ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ ์ƒ์„ฑ/์‚ญ์ œ, ์ƒํƒœ ๊ด€๋ฆฌ ์ž์› ํ• ๋‹น ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹  ๋ฐ ๋™๊ธฐํ™” ๊ต์ฐฉ์ƒํƒœ ํ•ด๊ฒฐ PCB๋ฅผ ๊ฐ€์ง์œผ๋กœ์จ ํ”„๋กœ์„ธ์Šค ์ •๋ณด๋ฅผ ๊ด€๋ฆฌ ํ”„๋กœ์„ธ์„œ ๊ด€๋ฆฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ์ง€ ๊ด€๋ฆฌ(์ฒ˜๋ฆฌ ์ˆœ์„œ ๊ด€๋ฆฌ, CPU ํ• ๋‹น) ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐ ํšŒ์ˆ˜ ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ ..

[์šด์˜์ฒด์ œ] ํ”„๋กœ์„ธ์„œ, ๋ฉ”๋ชจ๋ฆฌ, ์ฃผ๋ณ€์žฅ์น˜
Computer Science/์šด์˜์ฒด์ œ 2021. 10. 26. 22:14

์šด์˜์ฒด์ œ์™€ ํ•˜๋“œ์›จ์–ด์˜ ๊ด€๊ณ„ ํ”„๋กœ์„ธ์„œ์—๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ž‘์—… ํ• ๋‹น ๋ฐ ๊ด€๋ฆฌ (ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ) ํ”„๋กœ๊ทธ๋žจ์˜ ํ”„๋กœ์„ธ์„œ ์‚ฌ์šฉ ์‹œ๊ฐ„ ๊ด€๋ฆฌ, ๋ณต์ˆ˜ ํ”„๋กœ๊ทธ๋žจ๊ฐ„ ์‚ฌ์šฉ ์‹œ๊ฐ„ ์กฐ์œจ ํ”„๋กœ๊ทธ๋žจ์˜ ์š”์ฒญ์— ๋”ฐ๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐ ํšŒ์ˆ˜, ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ, ๋…ผ๋ฆฌ์ฃผ์†Œ -> ๋ฌผ๋ฆฌ์ฃผ์†Œ ๋ณ€ํ™˜ ์ฃผ๋ณ€ ์žฅ์น˜ ์‚ฌ์šฉ์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต (์žฅ์น˜๋“œ๋ผ์ด๋ฒ„ ๊ด€๋ฆฌ) ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ์‚ญ์ œ, ๋””์Šคํฌ ๊ณต๊ฐ„ ๊ด€๋ฆฌ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๋Š” ํฌ๊ฒŒ ํ”„๋กœ์„ธ์„œ, ๋ฉ”๋ชจ๋ฆฌ, ์ฃผ๋ณ€์žฅ์น˜๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ์„ธ์„œ ์—ฐ์‚ฐ ์ˆ˜ํ–‰(์—ฐ์‚ฐ์žฅ์น˜)์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ปดํ“จํ„ฐ์˜ ๋ชจ๋“  ์žฅ์น˜์˜ ๋™์ž‘์„ ์ œ์–ด(์ œ์–ด์žฅ์น˜)ํ•œ๋‹ค. ๋ ˆ์ง€์Šคํ„ฐ ํ•œ๋งˆ๋””๋กœ ๋งํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์ผ๋ฐ˜์ ์ธ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋‹ค๋ฅธ ์ ์€ ํ”„๋กœ์„ธ์„œ ๋‚ด๋ถ€์— ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ผ๋Š” ์ ์ด๋‹ค. ์ปดํ“จํ„ฐ์—์„œ ๊ฐ€์žฅ ๋น ๋ฅธ ๋ฉ”๋ชจ๋ฆฌ์ด๋‹ค...

์™ธ๋ถ€ ์ •๋ ฌ (External Sort)
Computer Science/์•Œ๊ณ ๋ฆฌ์ฆ˜ 2021. 10. 23. 13:38

์™ธ๋ถ€ ์ •๋ ฌ(External Sort)์ด๋ž€? ๋ฐ์ดํ„ฐ๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋ณด๋‹ค ์ปค ์ •๋ ฌ ํ•  ๋ฐ์ดํ„ฐ๋“ค์„ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์˜จ์ „ํžˆ ์ž…๋ ฅํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ๋˜๋Š” ์ •๋ ฌ ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ฃผ๊ธฐ์–ต์žฅ์น˜๊ฐ€ 1GB๊ณ , ๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด ์ด 100GB๋ผ๊ณ  ํ–ˆ์„ ๋•Œ ๋‚ด๋ถ€ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ ฌํ•  ์ˆ˜ ์—†๋‹ค. ์™ธ๋ถ€ ์ •๋ ฌ ๊ณผ์ • ๋ถ„ํ•  ์™ธ๋ถ€ ์ •๋ ฌ์€ ์ฃผ๊ธฐ์–ต์žฅ์น˜์—์„œ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋งŒ ์ฝ์–ด, ๋‚ด๋ถ€์ •๋ ฌ์„ ์ˆ˜ํ–‰ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜์— ๋‹ค์‹œ ์ €์žฅํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋‚ด๋ถ€ ์ •๋ ฌ์€ ์ƒํ™ฉ์— ๋งž๋Š” ์ •๋ ฌ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. 1. ๋ฉ”๋ชจ๋ฆฌ ๋งŒํผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜จ๋‹ค. 2. ํ™œ์šฉํ•  ๋‚ด๋ถ€ ์ •๋ ฌ์„ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•œ๋‹ค. 3. ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜์— ๊ธฐ๋กํ•œ๋‹ค. ์ •๋ณต ์ •๋ ฌ๋˜์–ด ๋‚˜๋ˆ ์ง„ ๋ธ”๋ก๋“ค์„ ํ•˜๋‚˜์˜ ๋ธ”๋ก์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด Merge ..

์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋น„๊ต
Computer Science/์•Œ๊ณ ๋ฆฌ์ฆ˜ 2021. 10. 22. 23:40

์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋น„๊ต Reference https://d2.naver.com/helloworld/0315536