์ปดํจํฐ์ ์์์ ํ์ ์ ์ด๋ฏ๋ก ์ ํ๋ ์ ์ฝ์กฐ๊ฑด ๋ด์ ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ๋ด์ผํ๋ค.
๊ทธ๋ ๊ธฐ์ ๋ฐ์ดํฐ์ ํํ์ ์ฐ์์ ๊ฐ์ฅ ์ ํฉํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฐ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํ๋ค.
์๋ฃ =(data) ์๋ฃ๊ตฌ์กฐ=(data structure)
์๋ฃ(๋ฐ์ดํฐ)๋ฅผ ์ด๋์ ์ด๋ป๊ฒ ๊ด๋ฆฌํ ์ง
-> ๊ฒ์, ์ํ(iterate) , ์ ์ฅ, ์ญ์ , ๋ณ๊ฒฝ
์๋ฃ๊ตฌ์กฐ์ ํน์ง
๊ฐ๊ฐ์ ์๋ฃ๊ตฌ์กฐ์ ์ฅ์ ๊ณผ ํ๊ณ๊ฐ ์กด์ฌํ๋ค.
์๊ณ ๋ฆฌ์ฆ
์ด๋ค ๋ฌธ์ ๊ฐ ์ฃผ์ด์ก์ ๋, ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ๋์๋ค์ ์ ์ฐจ
๋น ์ค ํ๊ธฐ๋ฒ
์์) ์ง์์ ํ๊ต๊น์ง ๊ฐ๋ ๋ฐฉ๋ฒ
๋ฒ์ค, ์งํ์ฒ , ๊ฑธ์ด์ ๊ฐ๋ ๋ฐฉ๋ฒ ๋ฑ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ๋ฑ์ด ์๋๋ฐ ๋น ์ค ํ๊ธฐ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ๋ค์ ์๊ฐ๊ณผ ๊ณต๊ฐ์ ๋ฐฉ๋ฉด์์ ๋น๊ตํ ์ ์๊ฒ ํด์ค๋ค.
์ ๊ทผ ํ๊ธฐ๋ฒ
1. ๋น ์ค(Big-O) ํ๊ธฐ๋ฒ( ์ํ ์ ๊ทผ)
2. ์ธํ ํ๊ธฐ๋ฒ( ์ํ/ํํ ์ ๊ทผ)
3. ์ค๋ฉ๊ฐ ํ๊ธฐ๋ฒ(ํํ ์ ๊ทผ)
BIG-O์ ํน์ง
์๊ฐ ๋ณต์ก๋ ํฌ๊ธฐ ๋น๊ต
๊ณต๊ฐ ๋ณต์ก๋
๋ฐ์ดํฐ ๊ด๋ฆฌ์ ํ์ํ ๊ณต๊ฐ
๋ฐ์ดํฐ ์์ ๋ณํ์ ๋ฐ๋ฅธ ๊ณต๊ฐ์ ๋ณํ
์์ ์์ ๊ณต๊ฐ ์ธก์
์๊ฐ ๋ณต์ก๋
๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์์๋๋ ์๊ฐ
๋ฐ์ดํฐ ์์ ๋ณํ์ ๋ฐ๋ฅธ ์์ ์๊ฐ์ ๋ณํ
์์ ์ฒ๋ฆฌ ์๊ฐ์ ์ธก์
์ง์ฐ ์ฅ์ ๊ฐ ๋ฐ์ํ์ ๋ ์ ๋ฐ์ํ๋์ง๋ฅผ ์ฐพ์ ์ ์๋ ๊ทผ๊ฑฐ
O(1)
์ ๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ์๊ด์์ด ํญ์ ์ผ์ ํ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
case:
๋ฐฐ์ด์ Random Access
Hash function
O(N)
์ ๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ๋น๋กํด์ ์๊ฐ์ด ์์๋๋ ์๊ณ ๋ฆฌ์ฆ
case:
for ๋ฌธ
O(N∧2)
์ ๋ ฅ ๋ฐ์ดํฐ์ ์ ๊ณฑ์ ๋น๋กํด์ ์๊ฐ์ด ์์๋๋ ์๊ณ ๋ฆฌ์ฆ
case:
์ด์ค for๋ฌธ
O(logN)
์ด์ง ํ์(Binary search) (์ ๋ค์ด ๊ฒ์์ด๋ผ๊ณ ์๊ฐํ๋ฉด ํธํจ)
ํ๋ฒ ๊ณ์ฐ์ด ๋ ๋ ๋ง๋ค ๋ฐ์ดํฐ์ ์์ด ์ ๋ฐ์ฉ ์ค์ด๋๋ formular๊ฐ O(logN)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.
K๋ฒ ์ํ์ ํ ๋ logN์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.
O(NlogN)
case:
Merge sort
์ ๋ฐ์ฉ ๋ฐ์ดํฐ๋ฅผ ๋๋๊ณ ๋๋ ๊ฐ์ ๋น๊ตํ์ฌ ์ ๋ ฌํ๋ค.
'Computer Science > Data structure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฃ๊ตฌ์กฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆ- List ๋ฆฌ์คํธ (0) | 2023.07.17 |
---|
๋๊ธ