Stack과 Queue 그리고 Array와 Linked List 자료구조에 대해 말씀해주시고 차이점에 대해 설명해주세요.
Stack은 Last In First Out 방식을 가지는 자료구조입니다.
스택은 들어온 순서대로 데이터가 쌓이며, 가장 마지막에 들어온 데이터가 먼저 삭제되는 자료구조입니다.
Queue는 First In First Out (FIFO) 방식으로 작동하는 자료 구조입니다.
큐는 새로 들어온 데이터가 먼저 들어온 데이터의 뒤쪽에 추가되고, 들어온 순서대로 데이터가 삭제됩니다.
Stack과 Queue는 Array 또는 Linked List를 기반으로 구현할 수 있습니다.
Array는 순차적(ordered)으로 데이터를 저장한다는 특징을 가지고 있습니다.
데이터가 들어온 순서대로 저장이 되며, 동일한 데이터도 여러번 저장이 가능합니다.
LinkedList는 배열처럼 순서가 있는 자료구조입니다.
Linked List는 배열처럼 index가 있는것이 아니고 pointer를 통해 다음 노드들을 가리키는 형식으로
되어 있습니다. 그렇기 때문에 배열처럼 원하는 index에 접근해 바로 값을 가지고오는 것이 불가능합니다.
데이터의 삽입/삭제를 위해서 pointer가 가리키는 노드만 바꾸면 되기때문에 삽입/삭제가 빠릅니다.
GitHub - zeroempty2/TIL
Contribute to zeroempty2/TIL development by creating an account on GitHub.
github.com
'기술면접 대비' 카테고리의 다른 글
클러스터 인덱스란? (0) | 2023.04.08 |
---|---|
오버로딩, 오버라이딩 (0) | 2023.04.05 |
트랜잭션 (0) | 2023.04.03 |
POJO란? (0) | 2023.04.02 |
TCP와 UDP (0) | 2023.04.01 |