๐ŸŽฎ Big-O Lab

Big-O Complexity Chart ๋ฐ์ดํ„ฐ(N)๊ฐ€ ๋Š˜์–ด๋‚  ๋•Œ ์ฒ˜๋ฆฌ ๋น„์šฉ์ด ์–ผ๋งˆ๋‚˜ ๊ธ‰๊ฒฉํžˆ ๋Š˜์–ด๋‚˜๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. Big-O๋Š” ์‹ค์ œ ์‹คํ–‰ ์‹œ๊ฐ„์ด๋‚˜ ์ •ํ™•ํ•œ ๋ช…๋ น ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ ์ž…๋ ฅ ์ฆ๊ฐ€์— ๋”ฐ๋ฅธ ์„ฑ์žฅ ๊ฒฝํ–ฅ์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.
์•„๋ž˜ ๋ง‰๋Œ€ ๋†’์ด๋Š” ๊ฐœ๋… ๋น„๊ต์šฉ์ด๋ฉฐ ํŠน์ • N์˜ ์‹ค์ œ ์—ฐ์‚ฐ๋Ÿ‰์„ ๋œปํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
O(2โฟ)๊ณผ O(n!)์€ N์ด ์กฐ๊ธˆ๋งŒ ์ปค์ ธ๋„ ๊ณ„์‚ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•  ์ •๋„๋กœ ํญ๋ฐœํ•ฉ๋‹ˆ๋‹ค.
O(1)
O(log n)
O(n)
O(n log n)
O(nยฒ)
O(2โฟ)
O(n!)
O(1): ์ƒ์ˆ˜ ์‹œ๊ฐ„ (Array Index) ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ๋ฐฐ์—ด์—์„œ ์ธ๋ฑ์Šค๋กœ ์›์†Œ ํ•˜๋‚˜๋ฅผ ์ ‘๊ทผํ•˜๋Š” ํ•ต์‹ฌ ์—ฐ์‚ฐ์€ N๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ 1 Step, O(1)์ž…๋‹ˆ๋‹ค. ํ™”๋ฉด์— ๋ฐฐ์—ด์„ ์ค€๋น„ํ•˜๋Š” ๊ณผ์ • ์ž์ฒด๋Š” O(n)์ด์ง€๋งŒ ์ธก์ •์—์„œ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.
N: 50
Steps: 0
O(log n): ๋กœ๊ทธ ์‹œ๊ฐ„ (Binary Search) ๋ฒ”์œ„๋ฅผ ๋ฐ˜์”ฉ ์ค„์—ฌ๋‚˜๊ฐ‘๋‹ˆ๋‹ค. N=100์ผ ๋•Œ ๊ณ ์ž‘ 7๋ฒˆ ์ด๋‚ด๋กœ ์ฐพ์Šต๋‹ˆ๋‹ค.
N: 100
Steps: 0
O(n): ์„ ํ˜• ์‹œ๊ฐ„ (Linear Search) ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ฐพ์Šต๋‹ˆ๋‹ค. N์— ๋น„๋ก€ํ•ด์„œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.
N: 50
Steps: 0
O(n log n): ์„ ํ˜• ๋กœ๊ทธ ์‹œ๊ฐ„ (Merge Sort) ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ„๊ณ (log n), ์ •๋ ฌํ•˜๋ฉด์„œ ํ•ฉ์น˜๋Š”(n) ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ํšจ์œจ์  ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ํ™”๋ฉด์˜ ์ˆ˜์น˜๋Š” ์ „์ฒด ๋ช…๋ น ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ ์›์†Œ ๋น„๊ต ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.
N: 40
Comparisons: 0
O(nยฒ): ์ด์ฐจ ์‹œ๊ฐ„ (Bubble Sort) ์ด์ค‘ ๋ฃจํ”„์ž…๋‹ˆ๋‹ค. ๋ง‰๋Œ€๋ผ๋ฆฌ ๋น„๊ตํ•˜๋Š” ํšŸ์ˆ˜๊ฐ€ ํญ๋ฐœ์ ์œผ๋กœ ๋งŽ์•„์ง‘๋‹ˆ๋‹ค.
N: 15
Comparisons: 0
ฮ˜(2โฟ): ์ง€์ˆ˜ ์‹œ๊ฐ„ (Tower of Hanoi) ํ•˜๋…ธ์ด์˜ ํƒ‘์€ ์›ํŒ์ด N๊ฐœ์ผ ๋•Œ ์ •ํ™•ํžˆ ์ตœ์†Œ 2^N - 1๋ฒˆ ์›€์ง์ด๋ฏ€๋กœ ฮ˜(2โฟ)์ž…๋‹ˆ๋‹ค. Big-O๋กœ๋„ O(2โฟ)์ด๋ผ ํ‘œ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์›ํŒ ํ•˜๋‚˜ ์ถ”๊ฐ€๋  ๋•Œ๋งˆ๋‹ค ์ด๋™ ํšŸ์ˆ˜๊ฐ€ 2๋ฐฐ๋กœ ํญ์ฆํ•˜๋Š” ๊ฒƒ์„ ์ง์ ‘ ๋А๊ปด๋ณด์„ธ์š”.
(N=3 โ†’ 7ํšŒ, N=4 โ†’ 15ํšŒ, N=5 โ†’ 31ํšŒ...)
Disks (N): Max 8 3
Moves: 0
O(n!): ํŒฉํ† ๋ฆฌ์–ผ ์‹œ๊ฐ„ (Permutations) ๋ชจ๋“  ์ˆœ์„œ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค. N=10์ด๋ฉด 360๋งŒ ๋ฒˆ ์—ฐ์‚ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
N (Max 7): 4
Count: 0