프론트엔드 선형 자료구조

선형 자료구조는 요소를 순차적으로 배열합니다. 각 요소는 하나의 이전 요소와 하나의 다음 요소를 가집니다.

Arrays 배열은 JavaScript의 주요 도구입니다. 연속된 메모리를 사용하므로 인덱스를 통해 어떤 요소든 즉시 접근할 수 있습니다.

참고: 배열이 너무 커지면 JavaScript는 더 큰 메모리 블록을 할당하고 모든 데이터를 복사해야 합니다. 이는 성능 저하를 초래합니다.

Stacks 스택은 LIFO(Last In, First Out, 후입선출) 규칙을 따릅니다. 쌓여 있는 접시를 생각해보세요. 맨 위에서만 요소를 추가하거나 제거할 수 있습니다.

Queues 큐는 FIFO(First In, First Out, 선입선출) 규칙을 따릅니다. 상점의 줄 서기를 생각해보세요.

경고: 대규모 데이터셋에서 배열에 shift를 사용하는 것은 느립니다. 빈 공간을 채우기 위해 모든 요소가 왼쪽으로 이동해야 하기 때문입니다. 데이터 양이 많다면 대신 연결 리스트(linked list)를 사용하세요.

Linked Lists 연결 리스트는 노드(node)로 구성됩니다. 각 노드는 데이터와 다음 노드를 가리키는 포인터를 가집니다.

Comparison Summary:

Pro Tips for JavaScript:

Source: https://dev.to/markyu/frontend-linear-data-structures-deep-dive-arrays-stacks-queues-and-linked-lists-mp2