์ ์ ๋ฐฐ์ด
- ๋ฐฐ์ด์ ์ ์ธ๊ณผ ๋์์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ฉฐ, ์ ์ธ ์ดํ์๋ ํฌ๊ธฐ๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.
๋์ ๋ฐฐ์ด
- ๊ธธ์ด๊ฐ ์์ ์์ฌ๋ก ๋ณ๊ฒฝ๋ ์ ์๋ ๋ฐฐ์ด. ์ฌ์ฉํ๊ณ ์ถ์ ๋งํผ๋ง ๊ณต๊ฐ์ ์ฐจ์งํ๊ณ ์ฌ์ฉํ ์ ์๋ค.
์ ์ ๋ฐฐ์ด์ ๊ธฐ๋ณธ ์ฐ์ฐ
์ฝ์
- ๋ฐฐ์ด์ ์์ด๋ ๊ฐ์ด๋ฐ์ ๊ฐ์ด ์ฝ์ ๋๋ค๋ฉด, ์๋ก์ด ๊ฐ์ด ๋ค์ด๊ฐ ์๋ฆฌ๋ฅผ ํ๋ณดํ๊ธฐ ์ํด ๋ค๋ฅธ ๊ฐ๋ค์ ์๋ฆฌ ์ด๋์ด ํ์ํ๋ค. ๋ฐ๋ผ์ ์ผ๋ฐ์ ์ธ(์ต์ ์ ์ํฉ์์์) ์๊ฐ๋ณต์ก๋๋ O(N)์ด๋ค.
- ์ฆ, ๋ค๋ฅธ ๊ฐ๋ค์ ์๋ฆฌ ์ด๋์ด ํ์ํ์ง ์์ ์ํฉ( ๋งจ ๋ค์ ๊ฐ์ด ์ฝ์ ๋๋ ๊ฒฝ์ฐ)๋ ์๊ฐ๋ณต์ก๋๊ฐ O(1)์ด๋ค.
์ญ์
- ์ฝ์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐฐ์ด์ ๋งจ ๋ค์ ๊ฐ์ด ์ญ์ ๋๋ค๋ฉด ์ญ์ ํ ๋ค๋ฅธ ๊ฐ๋ค์ ์๋ฆฌ ์ด๋์ด ํ์ํ์ง ์๋ค.
- ๋ฐฐ์ด์ ์์ด๋ ๊ฐ์ด๋ฐ์์ ๊ฐ์ ์ญ์ ํ๋ค๋ฉด ์ญ์ ๋ ๊ฐ์ ๋น ์๋ฆฌ๋ฅผ ์ฑ์์ผ ํ๋ฏ๋ก ๋๋จธ์ง N-1 ๊ฐ์ ๊ฐ์ด ์ด๋ํด์ผ ํ๋ค. ๋ฐ๋ผ์ ์๊ฐ๋ณต์ก๋๋ O(N)์ด๋ค.
ํ์
- ์ํ๋ ๊ฐ์ ์ฐพ๊ธฐ ์ํด์๋ ๋ชจ๋ ๊ฐ์ ํ์ํ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์๊ฐ๋ณต์ก๋๋ O(N)์ด๋ค.
- ์ฐพ๋ ๊ฐ์ด ๋งจ ์์ด๋ ๋ค์ธ ๊ฒฝ์ฐ๋ O(1)์ด๊ฒ ์ง๋ง, ์๊ฐ๋ณต์ก๋๋ ์ต์ ์ ์ํฉ์ ๊ณ ๋ คํ๋ฏ๋ก...
์ ์ ๋ฐฐ์ด๊ณผ ๋์ ๋ฐฐ์ด์ ์๊ฐ ๋ณต์ก๋ โฑ๏ธ
- ๋์ ๋ฐฐ์ด์ ์ฝ์ , ์ญ์ , ํ์ ๊ณผ์ ์ ๋ชจ๋ ์ ์ ๋ฐฐ์ด๊ณผ ๋์ผํ์ง๋ง, ํ์ํ ๋ฉ๋ชจ๋ฆฌ๋ง ์ฐจ์งํ๋ค.
์ ์ ๋ฐฐ์ด (Array) | ๋์ ๋ฐฐ์ด (Dynamic Array) | |
์ฝ์ | O(N) | O(N) |
์ญ์ | O(N) | O(N) |
ํ์ | O(N) | O(N) |
K๋ฒ์งธ ์์ ๊ตฌํ๊ธฐ | O(1) | O(1) |
- K๋ฒ์งธ ์์๋ฅผ ๊ตฌํ๋ ๊ฒฝ์ฐ์ ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ์ฌ ํ์ํ๋ฏ๋ก O(1) ์ด๋ค.
Java ์์์ ๋์ ๋ฐฐ์ด (ArrayList)
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> al = new ArrayList<>(); // ์ ์๋ฅผ ๊ด๋ฆฌํ ArrayList ์ ์ธ
// 1. add(E)
al.add(2); // al : [2]
al.add(3); // al : [2, 3]
// 2. remove(index)
al.remove(1); // ์ธ๋ฑ์ค 1์ ์ญ์
// 3. size()
al.size(); // ํ์ฌ ArrayList์ ๋ค์ด์๋ ๋ฐ์ดํฐ์ ์๋ฅผ ๋ฐํ
// 4. get(index)
al.get(0); // ์ธ๋ฑ์ค 0์ ์๋ ์์๋ฅผ ์กฐํ
}
}
๋์ ๋ฐฐ์ด(ArrayList) ๊ธฐ๋ณธ ๋ฌธ์
์๋ฐ์์ ์ ์ ๋ฐฐ์ด๊ณผ ๋์ ๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ ํ ๋นํ๋ ๋ฐฉ๋ฒ์ ์ด๋ป๊ฒ ๋ค๋ฅผ๊น??
์ฐจ๊ทผ์ฐจ๊ทผ.. ๊ณต๋ถํ๊ณ ์์๋ณด๊ณ ์ ๋ฆฌํด๋ด์ผ๊ฒ ๋ค..
์ถํ์...
'์๋ฃ๊ตฌ์กฐ, ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฌธ์ ํ์ด] ๋ฐฑ์ค 5427 ๋ถ (1) | 2025.02.14 |
---|---|
[๋ฌธ์ ํ์ด] ๋ฐฑ์ค 1697 ์จ๋ฐ๊ผญ์ง (1) | 2025.02.13 |
[๋ฌธ์ ํ์ด] SWEA 4615. ์ฌ๋ฏธ์๋ ์ค์ ๋ก ๊ฒ์ (0) | 2024.08.12 |
[๋ฌธ์ ํ์ด] ํ๋ณตํ ์์ด์ ๊ฐ์ (feat. ์ฝ๋ํธ๋ฆฌ ์กฐ๋ณ๊ณผ์ : 4์ฃผ์ฐจ) (3) | 2024.08.11 |
[์ด๋ก ] ๊ณต๊ฐ๋ณต์ก๋ (feat. ์ฝ๋ํธ๋ฆฌ ์กฐ๋ณ๊ณผ์ : 1์ฃผ์ฐจ) (0) | 2024.07.19 |