티스토리 뷰

큐의 정의 - 큐의 의미

택시를 타기 위해 서 있는 행렬

병원의 접수대

은행의 예금 인출기

백화점의 계산대 위에 놓인 상품들

작업 큐에 들어간 작업이 가장 처음에 처리되는 작업 스케줄(First-In-First-Service)

한쪽에서는 삽입연산만 발생 가능하고, 다른 한쪽에서는 삭제연산만 발생가능한 양쪽이 모두 터진 관

먼저 삽입된 원소가 먼저 삭제되므로 선입 선출(First-In-First-Out : FIFO) 또는 선착순 서브(First-Come-First-Serve : FCFS) 알고리즘을 갖는 순서 리스트



큐의 정의 - 큐의 정의

 



큐의 추상 자료형 - 큐의 삽입(Add_q) 연산

1
2
3
4
5
6
7
8
Queue Add_q(queue, item) ::=
    if (IsFull_q(queue))
        then { 
            ‘queueFull’을 출력한다; 
        }
    else { 
        큐의 rear에서 item을 삽입하고, 큐를 반환한다; 
    }
cs



큐의 추상 자료형 - 큐의 삭제(Delete_q) 연산

1
2
3
4
5
6
7
8
Element Delete_q(queue) ::=
    if (IsEmpty_q(queue))
        then { 
            ‘queueEmpty’를 출력한다; 
        }
    else { 
        큐의 front에 있는 원소(element)를 삭제하고 반환한다; 
    }
cs



큐의 추상 자료형 - 빈 큐 검사(IsEmpty_q) 연산

1
2
3
4
5
6
7
8
Boolean IsEmpty_q(queue) ::=
    if (rear == front)
        then {
            ‘TRUE’값을 반환한다; 
        }
    else { 
        ‘FALSE’ 값을 반환한다; 
    }
cs



큐의 추상 자료형 - 큐의 만원 검사(IsFull_q) 연산

1
2
3
4
5
6
7
8
Boolean IsFull_q(queue, maxQueueSize) ::=
    if ( (queue의 elements의 개수) == maxQueueSize)
        then {
            ‘TRUE’ 값을 반환한다; 
        }
    else { 
            ‘FALSE’ 값을 반환한다; 
    }
cs



큐의 추상 자료형 - Delete / Add 연산의 실행

① Create_q(4);

② Add_q(queue, ‘A’);

③ Add_q(queue, ‘B’);

④ Add_q(queue, ‘C’);

⑤ Delete_q(queue);

⑥ Delete_q(queue);

⑦ Delete_q(queue);

⑧ Add_q(queue, ‘D’);



큐의 추상 자료형 - Add / Delete 연산의 실행

 


 



공지사항
최근에 올라온 글
Total
Today
Yesterday