반응형
스택, 큐, 덱의 특징에 대해 설명해주시겠어요?
스택(stack) : 자료의 입력과 출력을 한 곳(방향)으로 제한한 자료구조.
LIFO(Last In First Out)구조 push(), pop()
함수의 콜스택에 쓰이고 문자열을 역순으로 출력할 때, 연산자 후위표기법등에 쓰인다.
큐(queue) : 자료의 입력과 출력을 한 쪽 끝(front, rear)으로 제한한 자료구조.
FIFO(First In First Out)구조 put(), get()
컴퓨터 버퍼에서 주로 사용, 마구 입력이 되었으나 처리를 하지 못할 때, 버퍼(큐)를 만들어 대기 시킨다.
일반적인 큐의 단점 : 큐에 빈 메모리가 남아 있어도 꽉 차있는것으로 판단할 수 있음 rear가 배열의 끝에 도달했을 경우.
=> 개선된 원형 큐가 나옴.
원형 큐의 단점 : 메모리 공간은 잘 활용하나 배열로 구현되어 있기 때문에 큐의 크기가 제한되는 단점이 존재
=> 링크드리스트로 큐가 나옴.
링크드 리스트로 구현한 큐는 큐의 크기가 제한이 없고 삽입, 삭제가 편리하다.
덱(deque) : 자료의 입력과 출력을 양 쪽 끝에서 가능하게 하는 자료구조.
스크롤(scroll) : 입력이 한쪽 끝으로만 가능하도록 제한한 덱
셸프(shelf) : 출력이 한쪽 끝으로만 가능하도록 제한한 덱
반응형
'신입 개발자 면접 기초' 카테고리의 다른 글
OAuth2.0 구조와 동작 프로세스(feat. 생활코딩) (0) | 2017.11.25 |
---|---|
디자인 패턴 한 방에 정리하기(feat. 혹시 디자인 패턴 아시는 것 있으세요?) (2) | 2017.11.21 |
Spring MVC 구조의 처리 과정을 설명해보시오. (MVC process) (30) | 2017.11.17 |
객체 지향 프로그래밍이 뭔가요? (꼬리에 꼬리를 무는 질문 1순위, 그놈의 OOP) (92) | 2017.11.15 |
데이터베이스 - Exclusive lock과 Shared lock의 차이 (0) | 2017.11.14 |