TIL
🌱 난 오늘 무엇을 공부했을까?
📌 Queue
- FIFO 구조로 저장하는 형식
- 스택과는 반대개념
- 선형큐
- 막대 모양으로 된 큐
- 크기가 제한되어 있다
- 빈 공간을 사용하려면 모든 자료를 꺼내거나 자료를 한 칸씩 옮겨야 한다는 단점이 있다.
- 환형큐
- 배열로 큐를 선언할시 큐의 삭제와 생성이 계속 일어났을때, 마지막 배열에 도달후 실제로는 데이터공간이 남아있지만 오버플로우가 발생하는 단점을 보완
- front가 큐에 끝에 닿으면 큐의 맨 앞으로 자료를 보내서 원형으로 연결한다.
- 연결 리스트로 구현한 큐
- 큐의 길이를 쉽게 늘릴 수 있어 오버플로우가 발생하지 않는 것이 특징이다.
📌 Linked List
- 데이터와 링크로 구성된 노드를 이용하여 메모리에 저장된 순서와 상관없이 연결된 데이터 구조
- 배열과 달리 물리적인 순서가 순차적이지 않음.
- 한번에 원하는 데이터에 접근을 할 수가 없음. 이전의 데이터 값이 가리키는 곳을 따라가야함.
- 이전 혹은 다음 값의 위치를 가지고 있다.
- 데이터를 넣거나 뺄 때 물리적인 공간의 이동 없이 참조 값만 변경해주면 된다.(참조되지 않는 값은 자동으로 메모리에서 사라진다 ARC)
참고