스택 과 큐(5장)

Andy·2022년 1월 5일
0

자료구조

목록 보기
5/14
post-thumbnail

스택: 선형리스트로서 입출력이 한쪽으로 제한된 구조를 가지고 있습니다. 즉 구현시 배열을 생성합니다.
LIFO(LastInFirstOut)
데이터의 입력 동작을 push, 데이터의 출력동작을 pop이라고 하며, 데이터 입출력은 top부분에서 수행합니다.
함수호출, resursive call, 수식계산등에서 사용합니다.
데이터의 추가시 top= top+1 데이터의 삭제시 top= top-1

스택의 원소 삽입

push(S, x)
	top <- top +1;
    	if (top>stack_SIZE) then overflow;
        else
        S(top) <- x;
  end push()

스택의 원소 삭제

pop(S)
	if(top=0) then underflow;
    else{
    return S(top);
    top <- top -1;
    }
 end pop()

큐: 데이터의 입출력이 양쪽 방향에서 이루어지는 구조
데이터의 이렵을 위해 tail(rear)을 사용하고, 출력을 우리 head(front)변수를 사용합니다
FIFO(FirstInFirstOut)구조
데이터의 추가를 위해 tail=tail+1을, 데이터의 삭제를 위해 head= head+1을 사용
운영체제 시스템상에서 데이터의 도착 순서대로 처리를 위해 사용.

순차 큐의 원소 삽입

enQueue(Q, item)
	IF(isFull(Q))then Queue_Full();
    else{
    rear <- rear +1;
    Q[rear] <- item;
    }
 end enQueue()

순차 큐의 원소 삭제

deQueue(Q)
	if (isEmpty(Q))then Queue_Empty();
    else{
    front <- front +1;
    return Q[front];
    }
end deQueue()
profile
열정으로 가득 찬 개발자 꿈나무 입니다

0개의 댓글