선형구조에 속해있는 큐, 스택 그리고 이 둘의 장점을 합쳐놓은 데크에 대하여 알아보겠습니다.
선형구조 - 자료를 구성하는 데이터를 순차적으로 나열시킨 형태
큐의 사전적인 의미는 줄, 혹은 줄을 서서 기다리는 것을 의미한다.
한쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지도록 구성한 자료구조이다.
제일 처음으로 들어온 데이터가 제일 먼저 삭제가 되는 방식이다.
--> FIFO (First In First Out) --> 스트리밍 등 소프트웨어 개발에 응용되는 편이다.
접근 방법은 front와 rear에서만 가능하다.
ex)
스택은 쌓아올린다라는 의미를 갖고있다.
top으로 정한 곳을 통해서만 접근할 수 있다.
top에는 가장 최근에 들어온 데이터가 존재하고 즉 새로운 데이터가 들어올 경우에는 top에 쌓인다는 것이다.
top에서만 접근이 가능하기에 삭제도 top에서만 가능하다.
스택은 큐와 반대로 가장 마지막에 삽입된 자료가 가장 먼저 삭제된다.
--> LIFO(Last In First Out) --> 뒤로가기 등에 응용 가능!
ex)
데크는 큐와 스택의 장점을 모두 갖고 있는 것이다.
삽입과 삭제가 리스트의 양쪽 끝에서 모두 발생할 수 있는 자료 구조이다.
큐는 선입선출 스택은 후입선출이다.
큐는 맨 앞인 프론트에서 디큐가 일어나는(삭제되는) 것이고 맨 뒤인 리어에서 인큐(삽입)가 되는 것이다.
스택에서는 푸쉬로 넣어주는 밀어주는 것이고 팝으로 삭제하는 것이다. 터지는 느낌..
스택의 가장 흔하게 접하는 것이 뒤로가기라서 너무 신기했다.
데크는 둘 다의 장점을 가진 리스트 양 끝에서 모두 양방향으로 발생되는 것이다!
이번에는 선형구조에 대해 공부를 마쳤는데 순차적인 데이터라 그런지 차분한 느낌이 많이 드는 자료구조 같다! 다음에는 비선형구조에 대하여 알아보겠습니다.