cheoly's language study blog

자료구조 스택과 큐의 개념과 차이

프로그래밍/C언어
반응형
SMALL

자료구조는 컴퓨터 프로그램에서 데이터를 저장하고 관리하는 방법입니다. 스택과 큐는 자료구조의 두 가지 기본적인 유형입니다.

* **스택**


스택은 후입선출(LIFO) 구조를 가지고 있습니다. 즉, 가장 마지막에 삽입된 데이터가 가장 먼저 삭제됩니다.
스택은 웹 브라우저의 뒤로 가기 버튼, 수식 계산기의 undo 기능, 프로그래밍 언어의 함수 호출 및 반환에 사용됩니다.

스택은 데이터를 빠르게 삽입 및 삭제할 수 있습니다.
스택은 데이터를 삽입할 때는 가장 마지막에 데이터를 삽입하고, 데이터를 삭제할 때는 가장 마지막에 삽입된 데이터를 삭제합니다.
따라서 스택은 데이터를 빠르게 삽입 및 삭제할 수 있습니다.

그러나 스택은 데이터에 대한 랜덤 액세스가 불가능합니다.
랜덤 액세스란 데이터의 위치에 관계없이 데이터에 접근하는 것을 말합니다.
스택은 데이터를 삽입 및 삭제할 때는 가장 마지막에 삽입된 데이터에만 접근할 수 있습니다.
따라서 스택은 데이터에 대한 랜덤 액세스가 불가능합니다.

* **큐**


큐는 선입선출(FIFO) 구조를 가지고 있습니다. 즉, 가장 먼저 삽입된 데이터가 가장 먼저 삭제됩니다.
큐는 프린터의 인쇄 대기열, 은행의 대기열, 운영 체제의 프로세스 스케줄링에 사용됩니다.

큐는 데이터에 대한 랜덤 액세스가 가능합니다.
큐는 데이터를 삽입할 때는 가장 앞에 데이터를 삽입하고, 데이터를 삭제할 때는 가장 앞에 삽입된 데이터를 삭제합니다.
따라서 큐는 데이터에 대한 랜덤 액세스가 가능합니다.

그러나 큐는 데이터를 빠르게 삽입 및 삭제할 수 없습니다.
큐는 데이터를 삽입할 때는 가장 앞에 데이터를 삽입하고, 데이터를 삭제할 때는 가장 앞에 삽입된 데이터를 삭제합니다.
따라서 큐는 데이터를 빠르게 삽입 및 삭제할 수 없습니다.

스택과 큐는 모두 자료구조의 기본적인 유형이지만, 서로 다른 특징을 가지고 있습니다.
스택은 데이터를 빠르게 삽입 및 삭제할 수 있지만, 데이터에 대한 랜덤 액세스가 불가능합니다. 큐는 데이터에 대한 랜덤 액세스가 가능하지만, 데이터를 빠르게 삽입 및 삭제할 수 없습니다.

스택과 큐는 컴퓨터 프로그램에서 다양한 용도로 사용됩니다.
스택은 데이터를 빠르게 삽입 및 삭제해야 하는 경우에 적합하고, 큐는 데이터에 대한 랜덤 액세스가 필요한 경우에 적합합니다.

반응형
LIST