Array์ LinkedList์ ๋น๊ต์ด๋ค.
-
Array
- ๋ฐฐ์ด์ด๋ฉฐ, ๋ ผ๋ฆฌ์ ์ ์ฅ์์์ ๋ฌผ๋ฆฌ์ ์ ์ฅ์์๊ฐ ์ผ์นํ๋ค.
- ํน์ ์๋ฃํ๋ค์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์์์ ์ฐ์์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- immutableํ๋ค.
- ์ธ๋ฑ์ค๋ก ํด๋น ์์์ ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ์ธ๋ฑ์ค๋ฅผ ์๊ณ ์๋ค๋ฉด O(1)์ ์๊ฐ ๋ณต์ก๋๋ก ์์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. ์ฆ,
Random Access
๊ฐ ๊ฐ๋ฅํ๋ค. - ์ญ์ ๋๋ ์ฝ์ ๊ณผ์ ์์๋ ํด๋น ์์์ ์ ๊ทผํ์ฌ ์์ ์ ์๋ฃํ ๋ค, shiftํด์ค์ผ ํ๋ฏ๋ก ๋น์ฉ์ด ๋ฐ์ํ๋ค. O(n)
- ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ํ์ฉ์ ์ ์ฝ์ด ์๋ค.
-
LinkedList
- ๋ฐ์ดํฐ ๊ฒ์ ์ ์ฒ์ ๋ ธ๋๋ถํฐ ์ํํด์ผ ํ๋ค. ์ด์ ๋ ๋ ผ๋ฆฌ์ ์ ์ฅ ์์์ ๋ฌผ๋ฆฌ์ ์ ์ฅ ์์๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค. O(n)
- ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์์์ ๊ฐ ๋ ธ๋๋ค์ด ์ฐ์์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ง ์๊ณ ํฉ์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ๊ฐ์ ๋ ธ๋๊ฐ ์์ ์ ๋ค์ ๋ ธ๋์ ์์น๋ฅผ ์๊ณ ์๋ ํํ์ด๋ค.
- ๊ฐ ๋ ธ๋๋ค์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์์ ์ด๋์ ์์นํ๋์ง๋ ๊ฐ๊ฐ์ ๋ ธ๋๋ค๋ง ์๊ณ ์๊ณ , ์ฌ์ฉ์๋ ์ ์ผ ์ฒซ ๋ฒ์งธ ๋ ธ๋์ ์์น๋ง ์๊ณ ์๋ ์ํ์ด๋ค.
- ์ด๋ค ์์๋ฅผ ์ฝ์ , ์ญ์ ์ ๊ทธ ์์๋ฅผ ์ฐพ๊ธฐ ์ํด O(n)์ ์๊ฐ์ด ๋ฐ์ํ๊ณ ์ถ๊ฐ์ ์ผ๋ก ์์ ์ ์๋ฃํ๋ ์๊ฐ๊น์ง O(n)์ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
- ๊ฒฐ๊ตญ, LinkedList๋ ๊ฒ์๊ณผ ์ฝ์ , ์ญ์ ๊ณผ์ ๋ชจ๋ O(n)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ๋๋ค.
- Array
- ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋น ๋ฅด๊ฒ ์ ๊ทผํ๋ฏ๋ก ์๊ฐ ๋ณต์ก๋๋ O(1)์ด๋ค.
- Random Access๊ฐ ๊ฐ๋ฅํ๋ค.
- LinkedList
- ํน์ ์์์ ์ ๊ทผํ๊ธฐ ์ํด์๋ ์ฒ์๋ถํฐ ์์ฐจ์ ์ผ๋ก ๊ฒ์ํ๊ธฐ ๋๋ฌธ์ ์๊ฐ ๋ณต์ก๋๋ O(N)์ด๋ค.
- Array
- ๋ฐ์ดํฐ๋ฅผ ์ค๊ฐ์ด๋ ๋งจ ์์ ์ฝ์ ํ ๊ฒฝ์ฐ, ์ดํ์ ๋ฐ์ดํฐ๋ฅผ Shiftํด์ผ ํ๋ฏ๋ก ์ถ๊ฐ ๊ณผ์ ๊ณผ ์๊ฐ์ด ์์๋๋ค.
- ๋ฐ๋ผ์ ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ, ๋นํจ์จ์ ์ด๋ค.
- O(N)์ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
- LinkedList
- ์ค๊ฐ ์ฝ์ ์์ด ๋งจ ์๊ณผ ๋งจ ๋ค์๋ง ์ฝ์ ํ๋ค๋ฉด O(1)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ๋๋ค.
- ๊ทธ๋ ์ง ์๋ค๋ฉด ์ฝ์ ํ ์์น๋ฅผ ์ฐพ๊ณ (O(N))๊ณผ ์ฝ์ ์ฐ์ฐ์ ์งํํ๊ธฐ ๋๋ฌธ์ O(N)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ๋๋ค.
- ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ Array๋ณด๋ค ๋น ๋ฅธ ์ฑ๋ฅ์ ๊ฐ๋๋ค.
Array์ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ์ฌ ๋ชจ๋ ๊ณต๊ฐ์ด ๊ฝ ์ฐจ๊ฒ ๋๋ฉด ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น๋ฐ์ ์ฎ๊ฒจ์ผ ํ์ง๋ง, LinkedList๋ฅผ ๊ทธ๋ด ํ์๊ฐ ์๋ค. ์ถ๊ฐํ ๋๋ง๋ค ๋์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น๋ฐ๋๋ค.
- Array
- ๋ฐ์ดํฐ ์ญ์ ์ ๊ฒฝ์ฐ, ๊ทธ ์์น์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ํ ์ ์ฒด์ ์ผ๋ก Shiftํด์ค์ผ ํ๊ธฐ ๋๋ฌธ์ O(N)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ๋๋ค.
- LinkedList
- ์ญ์ ํ ์์๋ฅผ ์ฐพ๊ธฐ ์ํด O(N)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ๊ณ ์ญ์ ํ๋ค. ํ์ง๋ง, Array๋ณด๋ค ๋น ๋ฅด๊ฒ ์ญ์ ์ฐ์ฐ์ ์ํํ๋ค.
- Array
- ๋ฉ๋ชจ๋ฆฌ์๋ Array๊ฐ ์ ์ธ๋์ ๋ง์ Compile time์ ํ ๋น๋์ด ์ง๋ค.
- ์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด๋ผ๊ณ ํ๋ค.
- LinkedList
- ๋ฉ๋ชจ๋ฆฌ๋ ์๋ก์ด Node๊ฐ ์ถ๊ฐ๋ ๋ runtime์ ํ ๋น๋์ด ์ง๋ค.
- ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด๋ผ๊ณ ํ๋ค.
- ์ฝ์ ๊ณผ ์ญ์ ๊ฐ ๋น๋ฒํ๊ฒ ์ผ์ด๋๋ค๋ฉด LinkedList๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
- ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ๊ฒ์ด ๋น๋ฒํ๊ฒ ์ผ์ด๋๋ค๋ฉด Array๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.