-
알고리즘, 자료구조, stack, queueTopic/Data Structure 2021. 12. 17. 09:08반응형
자료구조 기초
자료구조: 여러 데이터의 묶음을 저장하고, 사용하는 방법을 정의한 것.
대표적인 자료구조 네 가지
Stack, Queue, Tree, Graph
자료구조는 어떤 특정 상황에 놓인 문제를 해결하는데 특화되어있다.
많은 자료구조를 알아두면, 어떤 상황이 닥쳤을 때 적합한 자료구조를 바로 적용하여 해결할 수 있다.
Stack (스택)
데이터(data)를 순서대로 쌓는 자료구조다.
금은동 메달을 각각 책상에 쌓는다고 생각해보자
첫번째로 금, 다음은 은,동 순서로 쌓고, 우리가 다시 그 메달을 집을 때 어떤 메달부터 잡아야 할까?
동메달부터 잡고, 은메달, 마지막으로 금메달을 잡을 수 있다.
이러한 방식처럼 가장 먼저 쌓은 메달은 가장 나중에 잡을 수 있는 경우가 스택이다.스택의 특징은 입력과 출력이 하나의 방향으로 이루어지는 제한적 접근에 있다.
이런 정책을 LIFO(Last In First Out) 또는 FILO(First in Last Out)이라고 부르기도 한다.
그렇다면 Stack의 사용은 어디에서 이루어지고 있을까?
브라우저의 뒤로 가기, 앞으로 가기 / 프로그램에서의 실행 취소 /
Queue (큐)
줄을 서서 기다리다, 대기행렬 이라는 뜻이다.
먼저 들어간 데이터(data)가 먼저 나오는 FIFO(First In First Out) 또는 LILO(Last In Last Out)이 특징이다.
선입선출이라고 생각하면 이해하기가 더 쉽다.
스택과는 반대 개념인 Queue의 사용은 어디에서 이루어지고 있을까 ?
콜센터 고객 대기시간 / 마트 결제 대기줄 / 프린터 인쇄물
반응형'Topic > Data Structure' 카테고리의 다른 글
알고리즘 수학, 순열과 조합, GCD / LCM, 멱집합, 정규표현식 (0) 2022.01.19 알고리즘 및 자료구조, 코딩테스트 SET (0) 2022.01.18 자료구조 ( Tree, Graph, BST, BFS, DFS ) (0) 2021.12.17