프로그래밍[Univ]/데이터구조

[큐&스택] 응용 분야

Cloud Travel 2011. 6. 14. 11:10
스택의 응용 분야
① 산술 연산 : 중위 연산
 - * 나 / 가 + 와 -보다 우선순위가 높은것을 감안하여 연산자를 우선 스택에 저장하고 우선순위가 더 높은것이 
 나중에 들어오면 하나식 빼는 과정을 가지고 있습니다.

② Subroutine call과 return(서브루틴의 복귀 번지) 
 주프로그램에 의해 호출되는 프로그램.
  (C로 작성한 프로그램에서 함수를 사용했을때 main()함수에서 a();라는 함수를 호출했을때 현재 가지고 있는
  번지 수를 기억하였다가 a(); 함수가 종료되면 스택에 저장되어있는 주소를 꺼내어 다시 되돌아 갈때 쓰입이다 )

③ 인터럽트 처리
  현재 프로세스가 메모리를 할당받어 실행하고 있는도중 인터럽트가 발생하면 현재 프로세스 정보를
  스택에 저장하고 인터럽트 처리후에 다시 사용합니다

④ Quick sort
 
⑤ Post Order 운행 , 깊이 우선 검색(DFS) 
  트리의 탐색 방법 중의 하나로 Left→Right→Root의 순으로 탐색.

⑥ 0-주소 방식 
  명령어의 오퍼랜드부가 없이 데이터가 명령어 자체에 있는 방식으로 스택 구조의 컴퓨터에 사용.

⑦ 되부름(recursion)에 주로 사용. 
  어떤 프로그램이 수행 도중 자기 자신을 다시 호출하여 사용하는 것.

큐의 응용분야

① 일괄 처리
 일정량 또는 일정 기간 동안의 자료를 모아 일괄해서 자료를 처리하는 방식

② CPU스케쥴링,

③ Spool 운용에 이용(FCFS : First Come First Serve)
 ※ Spool : 중앙처리장치와 각각의 입출력장치의 동작이 서로 독립적으로 이루어지는 것.
  (프린터라고 생각하면 되고,,가장먼저 프린터를 사용하고자 하는 작업 먼저 수행하고 동시에
   여러 작업을 요청하면저장하였다가 순서대로 작업을 할때 쓰입니다)

④ Bucket Sort

⑤ 넓이 우선 검색(BFS) 등 순서를 정하는데 사용.