๋ฐ์ํ
๋ฐฐ์ด(Array)
- ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์์ฐจ์ ์ผ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ ๋ชจ์
- ๊ฐ์ ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
- ์์(elemnet): ๋ฐฐ์ด์ ๊ตฌ์ฑํ๋ ๊ฐ๊ฐ์ ๊ฐ
- ์ธ๋ฑ์ค(index): ๋ฐฐ์ด์์์ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ ์ซ์ (0๋ถํฐ ์์)
๋ฐฐ์ด ํํ
- ํฌ๊ธฐ๊ฐ 5์ธ Intํ ๋ฐฐ์ด array๋ฅผ ์ ์ธ
swift
var array: [Int] = [1, 2, 3, 4, 5]
python
array = [1, 2, 3, 4, 5]
C
int array[5] = {1, 2, 3, 4, 5};
Java
Int[] array = {1, 2, 3, 4, 5};
๋ค์ฐจ์ ๋ฐฐ์ด (Multidimensional Array)
- index๊ฐ 2๊ฐ ์ด์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด
- ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ 2๊ฐ๋ถํฐ ์ต๋ n๊ฐ๊น์ง ๋ง๋ค ์ ์์
//2์ฐจ์
var array: [[Int]] = [[1,2], [2,3], [3,4]]
//3์ฐจ์
var array: [[[Int]]] = [[[1,2], [3,4]],[[11, 12], [13,14]]]
๋ฐฐ์ด์ ์๊ฐ ๋ณต์ก๋
Operation | average case | worst case |
read | O(1) | O(1) |
insert | O(n) | O(n) |
delete | O(n) | O(n) |
search | O(n) | O(n) |
๋ฐฐ์ด์ ํน์ง
- ๋์ผํ ๋ฐ์ดํฐ ํ์ ์ผ๋ก ๊ตฌ์ฑ
- ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ ๋จ์ผ ๋ธ๋กํํ์ฌ ๋ฐ์ดํฐ ์ ์ฅ
- ์ค์ ๋ฉ๋ชจ๋ฆฌ ์์์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์์ฐจ์ ์ผ๋ก ์ ์ฅ
- ๋ฐ์ดํฐ์ ์์๊ฐ ์์ผ๋ฉฐ, indexing ๋ฐ slicing ๊ฐ๋ฅ
- indexing: index๋ฅผ ์ฌ์ฉํด ํน์ ์์๋ฅผ ์ฝ์ด์ค๋ ๊ฒ
- slicing: ์์์ ํน์ ๋ถ๋ถ์ ๋ถ๋ฆฌํด ์กฐ์ํ๋ ๊ฒ
๋ฐฐ์ด์ ์ฅ์
- index๋ฅผ ์ด์ฉํ ์ ๊ทผ์ด ๊ฐ๋ฅํด ๋ชจ๋ ์์์ ๋น ๋ฅด๊ฒ ์ ๊ทผ ๊ฐ๋ฅ
- ๊ณต๊ฐ ๋ญ๋น๊ฐ ์ ์
- ๊ฐ๋จํ๊ณ ์ฌ์ฉ์ด ์ฌ์
- ์ฐธ์กฐ๋ฅผ ์ํ ์ถ๊ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ํ์ ์์
๋ฐฐ์ด์ ๋จ์
- ๋ฐฐ์ด์ ์ ์ธํ ํ, ํ ๋น๋ ์ ์ ๋ฉ๋ชจ๋ฆฌ ๋๋ฌธ์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์์
- ์๋ฃ์ ์ฝ์ ๊ณผ ์ญ์ ์ ๋นํจ์จ์
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฌ์ฉ ๋ถ๊ฐ
๋ฐฐ์ด์ ์ฌ์ฉ
- ์์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉฐ, ๊ฐ๋ณด๋ค๋ ์์๊ฐ ์ค์ํ ๊ฒฝ์ฐ
- ๋ค์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๊ฒฝ์ฐ
- ํน์ ์์๋ฅผ ๋น ๋ฅด๊ฒ ์ฝ์ด์ผ ํ๋ ๊ฒฝ์ฐ
- ๋ฐ์ดํฐ ์ฌ์ด์ฆ๊ฐ ๋ฐ๋์ง ์์ผ๋ฉฐ, ์์๊ฐ ์์ฃผ ์ถ๊ฐ๋๊ฑฐ๋ ์ญ์ ๋์ง ์๋ ๊ฒฝ์ฐ
๋ฐ์ํ
'๐ Computer Science > Data Structure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฃ๊ตฌ์กฐ] ๊ทธ๋ํ(Graph) (0) | 2023.03.08 |
---|---|
[์๋ฃ๊ตฌ์กฐ] Time Complexity (์๊ฐ ๋ณต์ก๋) (0) | 2023.03.07 |
[์๋ฃ๊ตฌ์กฐ] ํ(Queue) (0) | 2023.03.06 |
[์๋ฃ๊ตฌ์กฐ] ์คํ(Stack) (0) | 2023.02.14 |
[์๋ฃ๊ตฌ์กฐ] ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List) (0) | 2023.02.10 |