int[] copy = arr ๋ ๋ฐฐ์ด ๊ฐ์ ๋ณต์ฌํ๋ ๊ฒ์ด ์๋๋ผ, ์ฃผ์๊ฐ์ ๋ณต์ฌํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ ์ค ํ๋๋ฅผ ๋ณ๊ฒฝํ๊ฒ ๋๋ฉด → ๋ค๋ฅธ ๊ฐ ๋ํ ๋ณ๊ฒฝ ๋จ ์ด๋ ๊ฒ ์ฃผ์ ๊ฐ๋ง ๋ณต์ฌํ๋ ๊ฒ์ Shallow Clone ๊ฐ์ ๋ณต์ฌํ์ฌ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ฒ์ Deep Clone ์ฌ๊ธฐ์ โ
System.arraycopy() → Shallow Clone clone() → Deep Clone
์๊ณ ๋ฆฌ์ฆ/์ด๋ก
Prim's Algorithm ์ด๋ Prim's Algorithm์ ๋ฌดํฅ ์ฐ๊ฒฐ ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ง ๋, ์ต์ ๋น์ฉ ์ ์ฅ ํธ๋ฆฌ ์ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ Prim's Algorithm ๋์ 1๏ธโฃ ์์์ node ( ์์ ์ ์ )์ ์ ํํ์ฌ MST ( ์ต์ ๋น์ฉ ์ ์ฅ ํธ๋ฆฌ ) ์งํฉ์ ์ถ๊ฐ 2๏ธโฃ ์ธ์ node ์ค ์ต์ ๋น์ฉ์ edge๋ก ์ฐ๊ฒฐ๋ node ์ ํ ๐ ์ด ๊ณผ์ ์ ๋ชจ๋ node๋ฅผ ์ ํํ ๋ ๊น์ง ๋ฐ๋ณต โผ๏ธ Prim's Algorithm ์๊ฐ ๋ณต์ก๋ ์ฃผ ๋ฐ๋ณต๋ฌธ์ด node์ ์ n๋ฒ ๋ฐ๋ณต โ ๋ด๋ถ ๋ฐ๋ณต๋ฌธ์ด n๋ฒ ๋ฐ๋ณต ๐ ์๊ฐ ๋ณต์ก๋๋ O(n^2)
TreeMap ์ด๋ ? TreeMap ์ ์ด์งํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ Map ์ปฌ๋ ์
์ด๋ค. ์ ๋ ฌ ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ๋ชจ ํค ๊ฐ๊ณผ ๋น๊ตํด์ ์์ ๊ฒ์ ์ผ์ชฝ ์์ ๋
ธ๋์, ํฐ ๊ฒ์ ์ค๋ฅธ์ชฝ ์์ ๋
ธ๋์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ค. Map์ผ๋ก์จ์ ์ฑ๋ฅ์ด HashMap๋ณด๋ค ๋จ์ด์ง์ง๋ง, ์ ๋ ฌ๋ ์ํ๋ก Map์ ์งํด์ผ ํ๊ฑฐ๋ ์ ๋ ฌ๋ ํ
์ดํฐ๋ฅผ ์กฐํํด์ผํ๋ ๋ฒ์ ๊ฒ์์ด ํ์ํ ๊ฒฝ์ฐ์๋ ํจ์จ์ฑ์ด ์ข๋ค. ๋ ๋ - ๋ธ๋ ํธ๋ฆฌ (Red - Black Tree) TreeMap์ ๋ ๋ - ๋ธ๋ ํธ๋ฆฌ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ผ๋ฐ์ ์ธ ์ด์ง ํ์ ํธ๋ฆฌ๋ ํธ๋ฆฌ์ ๋์ด๋งํผ ์๊ฐ์ด ํ์ํ๋ค. ๋ง์ฝ ๋ฐ์ดํฐ๊ฐ ์
๋ ฅ๋ ๋, ๊ฐ์ด ํ์ชฝ์ผ๋ก ํธํฅ๋๊ฒ ๋ค์ด์ฌ ๊ฒฝ์ฐ ํฌ๊ฒ ์น์ฐ์ณ์ง ํธ๋ฆฌ๊ฐ ๋์ด์ ๊ต์ฅํ ๋นํจ์จ์ ์ด๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ณด์ํ๊ธฐ ์ํ ๊ฒ์ด Red - Black Tree
Parametric Search ๋? ์ต์ ํ ๋ฌธ์ (๋ฌธ์ ์ ์ํฉ์ ๋ง์กฑํ๋ ํน์ ๋ณ์์ ์ต์๊ฐ, ์ต๋๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ )๋ฅผ ๊ฒฐ์ ๋ฌธ์ ( decision problem )์ผ๋ก ๋ฐ๊พธ์ด ํธ๋ ๊ฒ ํ๋ผ๋ฉํธ๋ฆญ ์์น๋ ๋ฌธ์ ๋ฅผ ํ์ด๋๊ฐ๋ ๊ณผ์ ์ด ๋ฐ์ด๋๋ฆฌ ์์น ( ์ด๋ถ ํ์ ) ๊ณผ ๋งค์ฐ ํก์ฌํ๋ค. โก๏ธ ์์ธ์ ๋ฌธ์ ๋ค์ ์ ์ฉ๋์ด์ ์ต์ ํ ๋ฌธ์ ๋ค์ ์กฐ๊ธ ๋ ์ฝ๊ฒ ํ ์ ์๊ฒ ํด์ค๋ค. ํต์ฌ์ ๊ฒฐ์ ๋ฌธ์ ๐ ํด๋น๊ฐ์ด ์ ๋ต์ด ๋ ์ ์๋ ๊ฐ์ธ์ง ์๋์ง๋ฅผ ์ฝ๊ฒ ํ๋จํ ์ ์์ด์ผ ์ต์ ํ ๋ฌธ์ ๋ฅผ ํ๋ผ๋ฉํธ๋ฆญ ์์น๋ก ํ ์ ์๋ค. ๐ ์ ๋ต์ด ๋ ์ ์๋ ๊ฐ๋ค์ด ์ฐ์์ ์ด์ฌ์ผ ํ๋ผ๋ฉํธ๋ฆญ ์์น๋ฅผ ์ด์ฉํ ์ ์๋ค. ์ ๋ต์ด a์ผ ๋, a ์ด์์ ๊ฐ๋ค์ ๋ชจ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ค๋ ์๋ฏธ์๊ฐ ๋ณต์ก๋ ์๊ฐ ๋ณต์ก๋ ์๊ณ ๋ฆฌ์ฆ ์์ฒด๋ณด๋ค ์กฐ๊ฑด ํจ์๊ฐ ์ผ๋ง๋ ๋น ๋ฅธ..
Floyd-Warshall ์๊ณ ๋ฆฌ์ฆ์ด๋ ? Floyd-Warshall ์๊ณ ๋ฆฌ์ฆ์ด๋, ๋ณ์ ๊ฐ์ค์น๊ฐ ์์ด๊ฑฐ๋ ์์ธ ( ์์ ์ฌ์ดํด์ ์๋ ) ๊ฐ์ค ๊ทธ๋ํ์์ ๋ชจ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ ์ด๋ค. ๋ค์ต์คํธ๋ผ์ ๋ฒจ๋งํฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ํ๋์ ์ ์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ ์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ ์ด๋ค. Dijkstra ์๊ณ ๋ฆฌ์ฆ ์ ํด์ง ์ถ๋ฐ์ง vertex ์์ ๋ถํฐ ๋ค๋ฅธ ๋ชจ๋ vertex์ผ๋ก์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ค. ๊ฐ์ฅ ์์ ๊ฐ์ค์น๋ฅผ ํ๋์ฉ ์ ํํด๋๊ฐ๋ค. ( ์ฐ์ ์์ ํ ์ด์ฉ ) Floyd-Warshall ์๊ณ ๋ฆฌ์ฆ ๋ชจ๋ vertex ์์ ๋ชจ๋ vertex ๋ก์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ํ๋ฒ์ ๊ตฌํ๋ค. ์ฆ, ๋ชจ๋ vertex ์์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ค. ๋ชจ๋ ์์ ํํํ๋ ์ด์ฐจ์ ๋ฐฐ์ด ์ ์ ์ธํ๊ณ , Dynamic Programmi..