본문 바로가기

Programming/Data Structure

Multiple Stack Multiple Stack : 배열스택은 처음에 크기가 고정되어 있다는 단점이 있다. 적게 잡을경우 데이터가 많이 몰려 스택에 데이터를 넣지 못하는 문제가 있을 수 있고, 이를 고려해 스택의 사이즈를 최대로 잡아 버리면, 쓰이지 않는 메모리 공간이 많이 낭비가 된다는 점이다. Multiple Stack은 이러한 배열스택의 문제점을 조금이나마 줄이고자 하는데 있으며, 기본적인 개념은 스택과 동일하다. Multiple Stack에서 추가된 개념은 각 스택을 구분하는 경계선(Boundary)이다. Boundary는 Stack의 개수 +1이며 Boundary[0]< Stack[0] 더보기
Stack 1. Stack :스택은 자료를 보관하는 방법을 기술한 자료구조 중 하나의 방법이다. 제한적으로 접근할 수있는 나열 구조로서, 그 접근 방법은 언제나 목록의 끝(top)에서만 일어난다. 스택의 기본적인 연산은 한쪽 끝에 자료를 집어넣는 Push와, 반대로 데이터를 꺼내는 Pop이 있으며, 자료의 입력과 출력의 형태가 최근에 넣은값(나중에 넣은값)이 먼저 나오는 구조여서 LIFO(Last In First Out)라고도 불리운다. 더불어, 스택에 자료가 비었는지 판단하는 isEmpty()와 가득 차있는지 판단하는 isFull() 있다. Keyword Description top Stack의 끝을 나타내며, 자료의 입력과 출력이 일어나는 곳이다. push() Stack에 새로운 자료를 넣는 함수(top을 증가.. 더보기