๐ก Array
์ฐ๊ด๋ data๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ ์ฐ์์ ์ด๋ฉฐ ์์ฐจ์ ์ผ๋ก ๋ฏธ๋ฆฌ ํ ๋น๋ ํฌ๊ธฐ๋งํผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค
Array์
Linked List
์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ๋ฐฉ์๊ณผ
์ด์ ๋ฐ๋ฅธ operation(์ฝ์ /์ญ์ /์กฐํ)๋ฑ์ ์ฐ์ฐ ์๋๊ฐ ๋ฌ๋ผ์ง๊ฒ ๋๋ค
const array = [1, 2, 3, 4]
์ฌ๊ธฐ์ ๊ธฐ์ตํด์ผ ๋ ํฌ์ธํธ๋ 2๊ฐ์ด๋ค
DATA์ ์ฃผ์๊ฐ์ ํ ๋น๋ ์ฃผ์์ค ๊ฐ์ฅ ์ฒซ๋ฒ์งธ ๊ฐ์ด๋ผ๋๊ฒ์ด๋ค
์๋ฅผ๋ค์ด 1์ ์ฃผ์๊ฐ์ 0X4AF55
๋ฒ์ด ๋๋ ๊ฒ ์ด๋ฉฐ
2์ ์ฃผ์๊ฐ์ 0X4AF59
๋ฒ์ด ๋๋ ๊ฒ ์ด๋ค
์ถ๊ฐ์ ์ผ๋ก ํ์ฌ ํ ๋ฐ์ดํฐ๋ 4Byte์ฉ ์ฐจ์งํ๊ณ ์์์ ์ ์ ์๋ค
๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ์ด ๋ ๊ฒฝ์ฐ ์ฐ์์ ์ผ๋ก ์ ์ฅ์ด ๋๋ค
Array ํน์ง
Array operation๋ค์ ์๊ฐ ๋ณต์ก๋
๐ก radon access๋?
1~4๋ฒ์งธ index๋ฅผ ์ ๋ถ ์กฐํํ์ง ์๊ณ ์ฐ์์ ์ผ๋ก ์ ์ฅ๋ ๊ฒ์ ์๊ธฐ ๋๋ฌธ์
(์ฒซ๋ฒ์งธ index ์ฃผ์๊ฐ + 4x3)์ ๊ณต์์ ์ด์ฉํ์ฌ ํด๋น index๋ฅผ ์กฐํํ๋ค
๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ์ ์radom acces
๋ผ๊ณ ํ๋ค
๐ก ์ฝ์ /์ญ์ O(n)์ ์๋ฆฌ
Array์ ๋ฌด์์ insertํน์ deleteํ๊ธฐ ์ํด์๋
ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ ์ธํ ๋๋จธ์ง ๋ฐ์ดํฐ๋ฅผ ๋ค๋ก ๋ฐ๊ฑฐ๋ ๋ก๊ฒจ์ผ ๋๋ค
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ O(๋ฐ์ดํฐ์ ๊ฐ์)์ ์๊ฐ ๋ณต์ก๋๊ฐ ํ์ฑ์ด ๋๋ ๊ฒ
๐ก Arrayํ์์ ์๋ฆฌ
ํ์์ ์กฐํ์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก 4๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ธฐ ์ํด์๋
์ผ์ผ์ด array๋ฅผ ์ํํ ์ ๋ฐ์ ์์ ๋ฐ๋ผ์ O(n)์ ๋ณต์ก๋๊ฐ ํ์ฑ๋๋ค
Array
์ ์ฅ์ ์ ์กฐํ์ append๊ฐ ๋น ๋ฅด๋ค๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ ์กฐํ๋ฅผ ์์ฃผ ํด์ผ๋๋ ์์
์๋ Array์ ๊ตฌ์กฐ๊ฐ ๋ง์ด ์ฌ์ฉ๋๋ค
๋ฐ๋ฉด์ Array์ ๋จ์ ์ fixed-size ํน์ฑ์ ์ ์ธ์ Array์ ํฌ๊ธฐ๋ฅผ
๋ฏธ๋ฆฌ ์ ํด์ผ ๋๋ค๋ ๊ฒ ์ด๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ญ๋น, overhead๊ฐ ๋ฐ์ํ ์ ์๋ค
๐ก overhead
์ค๋ฒํค๋๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฆ์์ ๋ํ๋๋ ํ์์ค ํ๋๋ก ์๋ฅผ ๋ค์ด , ํ๋ก๊ทธ๋จ์ ์คํํ๋ฆ ๋์ค์ ๋๋จ์ด์ง ์์น์ ์ฝ๋๋ฅผ ์คํ์์ผ์ผ ํ ๋ , ์ถ๊ฐ์ ์ผ๋ก ์๊ฐ,๋ฉ๋ชจ๋ฆฌ,์์์ด ์ฌ์ฉ๋๋ ํ์.
ํ๋ง๋๋ก ์ ์ํ์๋ฉด, ์ค๋ฒ ํค๋๋ ํน์ ๊ธฐ๋ฅ์ ์ํํ๋๋ฐ ๋๋ ๊ฐ์ ์ ์ธ ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ๋ฑ ์์์ ๋งํ๋ค.
์๋ฅผ ๋ค์ด๋ณด์ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ 100์ผ๋ก ์ก์๋จ๋๋ฐ ๋ฐ์ดํฐ๊ฐ 10๊ฐ๋ง ๋ค์ด์จ๋ค๋ฉด 90๋งํผ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๋ค
๋ฐ๋๋ก ์ฌ์ด์ฆ๋ฅผ 100์ผ๋ก ์ก์๋จ๋๋ฐ 101์ด ๋ค์ด์จ๋ค๋ฉด 200ํฌ๊ธฐ์ ๋ฐฐ์ด์ ๋ค์ ์์ฑํ ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ฒจ์ฃผ์ด์ผ ํ๋ค ์ด๋ฌํ ์ถ๊ฐ์์ ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๋ค ํ๋ค