Computer/개념
배열(Array)과 리스트(List)
안녕도라
2023. 10. 11. 11:09
배열(Array) | 리스트(List) | |
개념 | 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조 | 값과 포인터를 묶은 노드라는 것을 포인터로 연결한 자료구조 |
장점 | 인덱스를 사용하여 값에 바로 접근할 수 있다. | 접근 속도가 느리다 (인덱스가 없으므로 포인터부터 순서대로 접근해야하므로) |
단점 1 | 삽입, 삭제가 어렵다. | 데이터를 삽입하거나 삭제하는 연산 속도가 빠르다. |
단점 2 | 한 번 선언 후 크기를 늘리거나 줄이기 어렵다 | 크기가 가변적 |
* 파이썬에서의 리스트는 배열과 리스트의 장점만 모아둠
- 배열의 Index로 접근 가능
- 리스트의 가변적인 크기
연결리스트 (Linked List)
//기본 노드(data, pointer) 구성
class Node{
constructor(data){
this.data = data;
this.next = null
}
}
//노드 활용 연결 리스트
let head = new Node("a");
head.next = new Node("b");
head.next.next = new Node("c");
head.next.next.next = new Node("d");