๐Array
๋์ผํ ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅํ๋ ๊ณ ์ ๋ ํฌ๊ธฐ์ ์ ํ ์๋ฃ๊ตฌ์กฐ
- element : ๋ฐฐ์ด์ ๊ตฌ์ฑํ๋ ๊ฐ๊ฐ์ ๊ฐ
- index : ๋ฐฐ์ด์์์ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ ์ซ์
๐์ ์ ๋ฐฐ์ด
์ฐ๊ด๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ ์ ์ฐ์์ ์ด๊ณ ์์ฐจ์ ์ผ๋ก ๋ฏธ๋ฆฌ ํ ๋น๋ ํฌ๊ธฐ๋งํผ ์ ์ฅํ๋ ๋ฐฐ์ด
- ๋ฐ์์ ์์ ํ ํน์ง, ์ฅโข๋จ์ ์ ๋ค ์ ์ ๋ฐฐ์ด ๊ธฐ์ค
๐๋์ ๋ฐฐ์ด
๋ฏธ๋ฆฌ ์ด๊น๊ฐ์ ์๊ฒ ์ก์ ๋ฐฐ์ด์ ์์ฑํ๊ณ , ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋๋ฉด์ ๊ฝ ์ฑ์์ง๋ฉด ๋๋ ค, ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ/์ ์ฅํ ์ ์๋ ๋ฐฐ์ด
- ๊ธฐ์กด Array์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ณ ์ ๊ณ ์
- ํ์ด์ฌ :
list - ์๋ฐ :
ArrayList - C++ :
std::vector
- ํ์ด์ฌ :
Growth Factor
๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌํ ๋นํ๋ ๋น์จ
- ํ์ด์ฌ : ์ด๋ฐ 2๋ฐฐ, ์ ์ฒด์ ์ผ๋ก๋ 1.125๋ฐฐ
- C++์ std::vector, ๋ฃจ๋น : ๋๋ธ๋ง(2๋ฐฐ)
- ์๋ฐ์ ArrayList : 1.5๋ฐฐ
๐ํน์ง
- ์ฐ์์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ ์ ์ฅ
- ์ ์ธํ ๋ ํฌ๊ธฐ๋ฅผ ์ ํ๋ฉด ํฌ๊ธฐ ๊ณ ์
- ๋ฐฐ์ด์ ์ฃผ์๋ฅผ ์ดํด๋ณด๋ฉด, ํ ์นธ๋ง๋ค ๋ฐฐ์ด์ ์๋ฃํ์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง
๐์ฅ์
- ๋น ๋ฅธ ์ ๊ทผ : ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํ ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๊ฒ์์ด ๋น ๋ฆ
- ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํจ์จ์ฑ : ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์์๋ฅผ ์ ์ฅํ๋ฏ๋ก, ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
๐๋จ์
- ์ฝ์ โข์ญ์ ์ ์ด๋ ค์ : ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ฐจ์ ์ผ๋ก ์ด์ด์ ธ ์๊ธฐ ๋๋ฌธ์ ์ฝ์ โข์ญ์ ์ ํด๋น ์์น ์ดํ์ ์์๋ค์ ๋ชจ๋ ์ด๋ ํ์
- ํฌ๊ธฐ ์ ํ : ์์ฑํ ๋ ํฌ๊ธฐ๋ฅผ ์ ํ๊ณ ํฌ๊ธฐ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ โ ArrayList์ ๊ฐ์ ๋์ ๋ฐฐ์ด ์ฌ์ฉ
๐์ฌ์ฉ
- ์์ฐจ์ ์ธ ๋ฐ์ดํฐ ์ ์ฅํ ๋
- ๋ค์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋
- ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋์ง ์์ ๋
- ๋ฐ์ดํฐ๊ฐ ๋จ์ํ๊ณ ๋น ๋ฅธ ๊ฒ์์ด ํ์ํ ๋
๐์๊ฐ๋ณต์ก๋
| ์ฐ์ฐ | ์๊ฐ๋ณต์ก๋ |
|---|---|
| ์ ๊ทผ | O(1) |
| ์ฝ์ | O(n) |
| ์ญ์ | O(n) |
| ํ์ | O(n) |