์ด ๊ธ์ ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์์ฑํ๋ ๊ฒ์์ ๋ฐํ๋๋ค.
์์ธํ ๋ด์ฉ์ https://babbab2.tistory.com/105 ์ ๋ฐฉ๋ฌธํด์ฃผ์ธ์!
๊ทธ๋ํ
๋ ธ๋(์ ์ )๊ณผ ๊ฐ์ (๋ธ๋์น)๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ
์ฐ๊ฒฐ๋์ด์๋ ์์๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ ์๋ฃ๊ตฌ์กฐ
์ค์ํ์ ํ์์ด๋ ์ฌ๋ฌผ์ ๊ทธ๋ํ๋ก ํ์ฉํ ์ ์์
์๊ณ ์์ด์ผ ํ ๊ทธ๋ํ ๊ด๋ จ ์ฉ์ด
๋ ธ๋(์ ์ )
์ปดํจํฐ ๊ณผํ์ ์ฐ์ด๋ ๊ธฐ์ด์ ์ธ ๋จ์
์ฆ, ์์ ๊ทธ๋ฆผ์์๋ ๋๊ทธ๋ผ๋ฏธ ํ๋๊ฐ ๋ ธ๋๋ค.
๊ทธ๋ํ์์ ๋ ธ๋๋ ๋์ํ๋ ๊ฐ์ฒด๋ฅผ ๋ํ๋ด๋ ์ ์ ์ด๋ค.
๊ฐ์ (๋ธ๋์น)
๊ฐ์ฒด ์ฌ์ด๋ฅผ ์๋ ์ฐ๊ฒฐ
๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋ ธ๋ ์ฌ์ด๋ฅผ ์๋ ๊ฐ ์ฐ๊ฒฐ์ ๊ฐ๋๋ฅผ ๋ํ๋ด๋ ๊ฐ์ค์น๋ฅผ ๊ฐ๋๋ค.
์ธ์ ์ ์
๊ฐ์ ์ ์ํด ์ง์ ์ฐ๊ฒฐ๋ ๋ ธ๋
์์ ๊ทธ๋ํ ๊ทธ๋ฆผ์์ 1
์ ์ธ์ ์ ์ ์ 5์ 2
, 6
์ ์ธ์ ์ ์ ์ 4
์ฐธ๊ณ ๋ก ์ดํดํ๋ฉด ์ข์ ์ฉ์ด
๋จ์๊ฒฝ๋ก
๋ฐ๋ณต๋๋ ๋ ธ๋๊ฐ ์๋ ๊ฒฝ๋ก (๊ฐ์ ๊ฐ์ ์ ์ง๋๊ฐ์ง ์๋ ๊ฒฝ๋ก)
์ง์ ์ฐจ์
๋ฐฉํฅ ๊ทธ๋ํ์์ ์ธ๋ถ ๋ ธ๋์์ ๋ค์ด์ค๋ ๊ฐ์ ์ ์
์ง์ถ ์ฐจ์
๋ฐฉํฅ ๊ทธ๋ํ์์ ํ ๋ ธ๋์์ ์ธ๋ถ ๋ ธ๋๋ก ํฅํ๋ ๊ฐ์ ์ ์
๊ฒฝ๋ก ๊ธธ์ด
๊ฒฝ๋ก๋ฅผ ๊ตฌํ๊ธฐ ์ํด ์ฌ์ฉ๋ ๊ฐ์ ์ ์
๊ทธ๋ํ์ ์ข ๋ฅ
๋ฐฉํฅ ๊ทธ๋ํ
๊ฐ์ ์ ๋ฐฉํฅ์ด ์๋ ๊ทธ๋ํ๋ก, ๊ฐ์ ๊ทธ๋ํ ๋ฐฉํฅ์ผ๋ก๋ง ๊ฐ ์ ์์
๋ฌด๋ฐฉํฅ ๊ทธ๋ํ
๊ฐ์ ์ ๋ฐฉํฅ์ด ์๋ ๊ทธ๋ํ๋ก, ๋ ธ๋๋ ์๋ฐฉํฅ์ผ๋ก ๊ฐ ์ ์์
๊ฐ์ค์น ๊ทธ๋ํ
๋ ธ๋๋ฅผ ์ด๋ํ ๋ ๋๋ ๋น์ฉ, ๋๋ ๊ฐ์ค์น๊ฐ ํ ๋น๋ ๊ทธ๋ํ
์์ ๊ทธ๋ํ
๋ชจ๋ ๋ ธ๋๊ฐ ๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๊ทธ๋ํ
๊ทธ๋ํ ํํ ๋ฐฉ๋ฒ
์ธ์ ํ๋ ฌ ๊ทธ๋ํ
๊ทธ๋ํ์ ๋ ธ๋๋ฅผ 2์ฐจ์ Intํ ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ ์ด๋ํ ์ ์์ผ๋ฉด 1, ์์ผ๋ฉด 0์ผ๋ก ํ๊ธฐํ๋ค.
์ฅ์ : ์ง๊ด์ ์ด๋ฉฐ ์ฝ๊ฒ ๊ตฌํ ๊ฐ๋ฅ, 2์ฐจ์ ๋ฐฐ์ด์ด๋ฏ๋ก ๋ ๋ ธ๋์ ๋ํ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์กฐํํ ๋ O(1)์ผ๋ก ์กฐํ ๊ฐ๋ฅ
๋จ์ : ๋ชจ๋ ๋ ธ๋์ ๋ํ ๊ฐ์ ์ ๋ณด๋ฅผ ๋์ ํ๋ ๊ณผ์ ์์ O(n^2)์ ์๊ฐ๋ณต์ก๋๊ฐ ์์๋๊ณ , ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋ญ๋น๋๋ค.
์ธ์ ๋ฆฌ์คํธ ๋ฐฉ์
์ฃผ๋ก ๋ ธ๋๋ก ๋ฐฐ์ด์ ๋ง๋ค์ด์ ์ด๋ค์ด ๊ฐ ์ ์๋ ๊ฐ์ ์ ๋ฐฐ์ด ๋๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ก ์ ์ฅํ๋ ๊ฒ์ด๋ค.
(๋ ธ๋์ ๋ฐ์ดํฐ๋ฅผ Key ๊ฐ์ผ๋ก ํด์ Dictionary๋ก ๋ง๋ค๊ณ , Value๋ฅผ ๊ฐ์ ๋ค์ ๋ฐฐ์ด๋ก ํํํด๋ ๋๋ค.)
์ฅ์ : ํ์ํ ์ ๋ณด๋ง ์ ์ฅํ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ์ด ๊ฐ๋ฅ, ๋ ธ๋์ ์ฐ๊ฒฐ์ ๋ณด๋ฅผ ํ์ํ ๋ O(n)์ ์๊ฐ์ด๋ฉด ๊ฐ๋ฅํ๋ค. (n: ๊ฐ์ ์ ์)
๋จ์ : ์ธ์ ํ๋ ฌ์ ๋นํด ๊ตฌํ์ด ์ด๋ ต๋ค. ํน์ ๋ ๋ ธ๋๊ฐ ์ฐ๊ฒฐ๋์๋์ง ํ์ธํ๋ ค๋ฉด ์ธ์ ํ๋ ฌ์ ๋นํด ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฐ๋ค.
๊ทธ๋ํ | ํธ๋ฆฌ | |
์ ์ | ๋ ธ๋์ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฐ์ ์ผ๋ก ํํ๋๋ ์๋ฃ๊ตฌ์กฐ | ๊ทธ๋ํ์ ํ ์ข ๋ฅ, ๋ฐฉํฅ์ฑ์ด ์๋ ๋น์ํ ๊ทธ๋ํ |
๋ฐฉํฅ์ฑ | ๋ฐฉํฅ ๊ทธ๋ํ, ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ ๋๋ค ์กด์ฌ | ๋ฐฉํฅ ๊ทธ๋ํ๋ง ์กด์ฌ |
์ฌ์ดํด | ์ฌ์ดํด ๊ฐ๋ฅ, ์ํ ๋ฐ ๋น์ํ ๊ทธ๋ํ ๋ชจ๋ ์กด์ฌ | ๋น์ํ ๊ทธ๋ํ๋ก ์ฌ์ดํด์ด ์กด์ฌํ์ง ์๋๋ค. |
๋ฃจํธ ๋ ธ๋ | X | O |
๋ถ๋ชจ / ์์ ๊ด๊ณ | X | O |
'๐ป CS > ์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ์ฐ์ ์์ ํ(Priority Queue) ๊ตฌํํด๋ณด๊ธฐ (0) | 2023.04.11 |
---|---|
[Swift] ํ(Heap) ๊ตฌํํด๋ณด๊ธฐ (0) | 2023.04.11 |
[Swift] ๋ฑ ๊ตฌํํด๋ณด๊ธฐ (0) | 2023.03.29 |
[Swift] ์คํ ๊ตฌํํด๋ณด๊ธฐ (0) | 2023.03.29 |
[Swift] ํ(Queue) ๊ตฌํํ๊ธฐ (0) | 2023.03.24 |