dolog
2024.03.20 자료구조 - 자바스크립트 배열 본문
1. 배열(Array)
- 여러 개의 값을 순차적으로 나열한 자료구조
- 배열이 가지고 있는 값을 요소(element)라 부르고 index를 통해 접근할 수 있다. ➡️ 수행 시간 : O(1)
- 요소의 개수(= 배열의 길이)를 나타내는 length 프로퍼티를 가지고 있다.
- 컴퓨터의 메인 메모리에서 배열의 공간은 연속적으로 할당된다.
- 캐시 히트 가능성(요청한 데이터가 캐시에 존재하는 경우)이 높고, 조회가 빠르지만 배열의 크기를 미리 지정해야 하는 것이 일반적이므로 데이터 추가, 삭제에 한계가 존재한다.
- 자바스크립트의 배열은 동적 배열로 배열의 용량이 가득차면 자동으로 크기를 증가한다.
- 배열 또는 스택(stack)의 기능이 필요할 때 사용할 수 있다(큐(queue)의 기능은 X)
// 1차원 배열 생성
const arrA = [1, 2, 3];
const arrB = new Array();
arrB.push(1);
arrB.push(2);
arrB.push(3);
const arrC = Array.from({ length: 5 }, () => 7);
console.log(arrC);
// [7, 7, 7, 7, 7]
// 2차원 배열 생성
const matrixA = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]];
const matrixB = Array.from(Array(4), () => new Array(5));
console.log(matrixB);
/*
[
[ <5 empty items> ],
[ <5 empty items> ],
[ <5 empty items> ],
[ <5 empty items> ]
]
*/
const matrixC = new Array(3);
for(let i = 0 ; i < matrixC.length ; i++) {
matrixC[i] = Array.from({ length: 4 }, (_, index) => i * 4 + index);
}
console.log(matrixC);
/*
[
[ 0, 1, 2, 3 ],
[ 4, 5, 6, 7 ],
[ 8, 9, 10, 11 ]
]
*/
'알고리즘' 카테고리의 다른 글
정렬과 Tim sort의 인과관계 (0) | 2024.04.14 |
---|---|
2024.03.21 배열 알고리즘 - 기초 (0) | 2024.03.21 |
2024.03.06 탐욕(Greedy) 알고리즘 Part 4 (0) | 2024.03.06 |
2024.02.29 탐욕(Greedy) 알고리즘 Part 3 (0) | 2024.02.29 |
2024.02.27 탐욕(Greedy) 알고리즘 Part 2 (0) | 2024.02.28 |