1. 배열(Array)
- 가장 기본적인 자료구조
- 여러개의 변수를 담는 공간
장점: 캐시(cache) 히트 가능성이 높으며, 조회가 빠르다.
단점: 배열의 크기를 미리 지정해야 하는 것이 일반적이므로, 데이터의 추가 및 삭제에 한계가 있다.
2. 연결 리스트(Linked List)
- 배열과 다르게 크기가 정해져 있지 않고, 리스트의 크기는 동적으로 변경 가능하다.
장점 : 포인터(pointer)를 통해 다음 데이터의 위치를 가리킨다는 점에서 삽입과 삭제가 간편하다.
단점 : 특정 번째의 원소를 검색할 때는 앞에서부터 원소를 찾아야 하므로, 데이터 검색 속도가 느리다.
형태
포인터 : 다음 노드의 메모리 주소를 가리키는 목적으로 사용된다
연결성: 각 노드의 포인터는 다음 혹은 이전 노드를 가리킨다.
| 데이터 | 포인터 |
=> 스택, 큐와 같은 자료구조를 구현할 수 있다
자바스크립트(javascript) 에서 배열 만들기
// 원하는 값을 직접 입력하여 초기화
let arr1 = [0, 1, 2, 3, 4];
console.log(arr1);
// 하나의 값으로 초기화
let arr2 = Array.from({ length: 5 }, () => 7);
console.log(arr2);
'알고리즘' 카테고리의 다른 글
| 알고리즘 정리 - 병합정렬 (1) | 2024.02.09 |
|---|---|
| 알고리즘 정리 - 트리 (0) | 2023.09.22 |
| 알고리즘 정리 - 큐 (0) | 2023.09.21 |
| 알고리즘 정리 - 스택 (0) | 2023.09.21 |
| 알고리즘 정리 - 자료구조란? (0) | 2023.09.21 |