Big - o ๋ฅผ ์ง๊ด์ ์ผ๋ก ์ดํดํ๊ณ , ์ฌ์ฉ์ ์ค์ต์ด ๋ฌด์์ธ์ง ์์๋ณด์.
Big - O ํ๊ธฐ๊ฐ ๋ญ๋ฐ?
'์๊ณ ๋ฆฌ์ฆ' ์ 'ํจ์จ์ฑ' ์ ์ธก์ ํ๋ '๊ธฐ์ค' ์ค ํ๋.
Big - O ๊ฐ ์ ํ์ํ๋ฐ?
์๊ณ ๋ฆฌ์ฆ์ ์ฐ๋ ์ด์ ?
๋ 'ํจ์จ์ ' ์ด๊ธฐ ์ํด ex) ๋ ๋ง์ ์ฌ๋์ด ์น์ผ๋ก, ๋ ๋นจ๋ฆฌ ๊ณ์ฐํ๊ธฐ, ๋ ์ ํํ๊ฒ ๊ณ์ฐํ๊ธฐ
๊ทธ๋ฌ๋ ค๋ฉด, ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ด ๋ ํจ์จ์ ์ธ์ง '๋น๊ต' ๊ฐ ํ์.
๋น๊ต๋ฅผ ํ๋ ค๋ฉด ‘๊ธฐ์ค’ ์ด ํ์ํจ.
๊ทธ๋ฌ๋ฉด, ‘์ด๋ค ๊ธฐ์ค์ผ๋ก ์๊ณ ๋ฆฌ์ฆ ์ฑ๋ฅ์ ๋น๊ต’ ํ ์ ์์๊น?
๊ฐ์ฅ ์ฝ๊ฒ ์๊ฐํ ์ ์๋ ๊ฑด, ‘์๊ฐ ์ธก์ ’
ํ์ง๋ง '์๊ฐ ์ธก์ ' ์ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์.
์ฒซ ๋ฒ์จฐ, ‘ํ๊ฒฝ’ ๋ณ์.
๋์ผํ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ํด๋, ๋ค๋ฅธ ํ๊ฒฝ(๋ค๋ฅธ PC, ๋ค๋ฅธ CPU, ๋ค๋ฅธ ๋คํธ์ํฌ ๋ฑ) ์๋๊ฐ ๋ค๋ฅด๊ฒ ์ธก์ ๋จ. ๋ฐ๋ผ์ '์๋ ์ฐจ์ด' ๊ฐ '์๊ณ ๋ฆฌ์ฆ์ ์ํ ๊ฑด์ง, ํ๊ฒฝ ๋๋ฌธ์ธ์ง' ๋ถ๋ช ํํด์ง.
๋ ๋ฒ์งธ, '์ ๋ ฅ ๊ตฌ๊ฐ๋ณ ์ฑ๋ฅ ์ฐจ์ด' ๋ฌธ์
(์ค๋ น ๋์ผํ ํ๊ฒฝ ์ด๋ผ๊ณ ํด๋) ์๊ณ ๋ฆฌ์ฆ์ด ‘์ ๋ ฅ์ด ๋ง์ ๊ตฌ๊ฐ, ์ ๋ ฅ์ด ์ ์ ๊ตฌ๊ฐ’ ๋ณ๋ก ์ฑ๋ฅ์ฐจ์ด๋ฅผ ๋ณด์.
ex) ์ ๋ ฅ(์ธ์, ์ธํ ๋ฐ์ดํฐ) ๊ฐ ์ ์ ๊ฒฝ์ฐ A ์๊ณ ๋ฆฌ์ฆ์ด ์ฐ์ธ, ์ ๋ ฅ์ด ๋ง์ ๊ฒฝ์ฐ B ์๊ณ ๋ฆฌ์ฆ์ด ์ฐ์ธ
(์ด ๊ทธ๋ฆผ์ ๋ณด๋ฉด, ์ด๊ธฐ n ์์๋ nlogn ์ด ์ฐ์ธํ๋, n ์ด ์ปค์ง๋ฉด 1 ์ด ๊ฐ์ฅ ์ฐ์ธํ ๊ฒ์ ์ ์ ์์.
๊ทธ๋ฌ๋ฉด ์ด์งธ?
์๊ฐ ์ธก์ ์ ๋์์ด ๋ฐ๋ก Big - O ์.
์ฌ๊ธฐ์ ์ ์ ์๋ฌธ
๊ทผ๋ฐ, big - o ํ๊ธฐ๋ฒ๋ y ์ถ์ด time ์ด๋๊น, ๊ฒฐ๊ตญ, '์๊ฐ' ์ผ๋ก ๋ณด๋๊ฑฐ ์๋? โโโ
์… ์ ์ ๊ณ ๋ฏผํด๋ณด๋ฉด,
์์ํ ์์๋ฅผ ์ ์ธํ๊ณ , ํฐ ์ฐจ์, ์์ ์๊ฐ์ ์ํฅ์ ์ฃผ๋ ์์ธ์ ์ ๊ฑฐ? ํ์๋ ๊ฑด๊ฐ?
๊ทธ๋ฌ๋ฉด BIG - O ๋ฅผ ์ด์ผ ์ฐ๋ ๊ฑด๋ฐ?
[1๋จ๊ณ] ‘์ฐ์ฐ’ ์ ‘๊ฐ์’ ๋ฅผ ‘๋๋ต์ ’ ์ผ๋ก ๊ณ์ฐ
์ฐ์ ์ฐ์ฐ, ๋์ ์ฐ์ฐ์ด๊ฑด, ‘์ฐ์ฐ’ ์ ๊ฐ์๋ฅผ ์ผ๋ค.
[2๋จ๊ณ] ‘BIG’ ๋ง ๋จ๊ธด๋ค.
1๏ธโฃ ‘์ฐ์ฐ ๋ฉ์ด๋ฆฌ๋ค’ ์ค์์ ‘๋์ฅ’ (๊ฐ์ฅ ์ํฅ๋ ฅ์ด ํฐ ๋) ๋ง ๋จ๊ธด๋ค.
2๏ธโฃ ๊ทธ ‘๋์ฅ์๊ฒ ๋ถ์ด์์๋ ์์’ ๋ฅผ ๋ผ์ด๋ธ๋ค.
์ด๋ ๊ฒ ํ๋ ์ด์ ๋ ‘์ ํํ ์๊ฐ ๊ณ์ฐ’ ์ ๋ชฉ์ ์ด ์๋ ๊ฒ์ด ์๋๋ผ, ‘ํน์ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ก์ ๋, ์ฐ์ฐ๋์ด ์ด๋ป๊ฒ ์ฆ๊ฐํ๋๊ฐ.’ ๋ฅผ ์๊ณ ์ถ๊ธฐ ๋๋ฌธ.
์ด๋ ๊ฒ BIG - O ํ๊ธฐ๋ฅผ ํ๋ฉด, ์ด๋ค ์ค์ต์ด ์๋? (์ด๋ค ์์ฌ์ ์ด ์๋? ์ด๋ค ์์๊ฐ ์๋?)
‘์ ๋ ฅ(N)’ ์ ๋ฐ๋ฅธ ‘๋ถํ(Time)’ ์ ๋๋ฅผ ์ ์ ์์. (โญโญโญ ๊ทธ๋ํ๋ฅผ ๊ธฐ์ต)
BIG - O ํ๊ธฐ๋ฅผ ํ๋ฉด, ‘ํน์ ์ ๋ ฅ’ ์ผ ๋, ์ด๋ ์ ๋์ ‘๋ถํ’ ๊ฐ ์ค๋์ง๋ฅผ ์ ์ ์์.
๋ถํ์ ์ ๋๋ฅผ ์๋ฉด ๋ญ๊ฐ ์ข์? ์ด๋ค ์ํฉ์์ ์ฐ์ฌ? (๋์ ๋ํผ์ ๐คฏ)
โผ ํ์ฌ์ ‘์ธํ ๋ฐ์ดํฐ ๋ฒ์’์ ๋ฐ๋ผ์ ์ฌ์ฉํด์ผ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฌ๋ผ์ง.
EX) DAU ๊ฐ 10,000 ์ธ ํ์ฌ์์ ๋์๊ฐ๋ ์๊ณ ๋ฆฌ์ฆ์ด DAU 1,000,000 ์ธ ํ์ฌ์์๋ ์ ๋์๊ฐ ์๋ ์์.
โผ ์, ๋ด ์ฝ๋ฉ์ด ์ง๊ธ '๋ถํ' ๊ฐ ๋ง์ด ๊ฑธ๋ฆฌ๋ค -> ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ด ์์ธ์ด์ง? (๋ฌธ์ ์์ธ ํ์ )
โผ ์, ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฉด, ์ ๊ณฑ์ด ์์ผ๋๊น -> ๋ถํ๊ฐ ๋ง์ด ๊ฑธ๋ฆฌ๊ฒ ๋ค? (์์ธก)
์ฐธ๊ณ ํ ์๋ฃ ๐
( [C#๊ณผ ์ ๋ํฐ๋ก ๋ง๋๋ MMORPG ๊ฒ์ ๊ฐ๋ฐ ์๋ฆฌ์ฆ] Part2: ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ) ์ฐธ๊ณ
[C#๊ณผ ์ ๋ํฐ๋ก ๋ง๋๋ MMORPG ๊ฒ์ ๊ฐ๋ฐ ์๋ฆฌ์ฆ] Part2: ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ - ์ธํ๋ฐ | ๊ฐ์
RPG ๊ฒ์์ ํ์์ ์ธ [๊ธธ์ฐพ๊ธฐ]๋ฅผ ์ฐ๊ตฌํ๋ฉด์ ์์ฐ์ค๋ฝ๊ฒ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ํ์ตํ๋ ๊ฐ์์ ๋๋ค., - ๊ฐ์ ์๊ฐ | ์ธํ๋ฐ...
www.inflearn.com