c로 쓴 자료구조론 연습문제 3장(스택과큐)
- 최초 등록일
- 2011.11.08
- 최종 저작일
- 2011.10
- 58페이지/ 한컴오피스
- 가격 1,500원
소개글
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
c로 쓴 자료구조론
<이석호 저>
<교보문고>
연습문제 3장 풀이입니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
목차
3.4절
5.[프로그래밍 과제] 본문에서 설명한 내용을 이용해서 미롤르 탐색하는 완전한 프로그램을 작성하라. 그리고 성공시에는 입구에서 출구까지의 경로를 출력하라.
5. [프로그래밍 프로젝트] 교재에서 사용된 연산자 외에 다음의 && , || , << , >> , <= . != , >= , < , > , == 연산자 들을 처리하는 함수 postfix를 재작성하라.
11. [프로그래밍 과제] 연습문제 5를 반복하라. 그러나 이번에는 중위 표기식을 전위 표기식으로 변환하는 것이다.
1. [프로그래밍 과제] 사람들이 솔리테르(solitaire)에 상당히 너무 많은 시간을 보내게 되니까 도박하는 카지노들은 이런 사람들의 약점에 편승하고 있다. 다음에 이 솔리테르의 한 형태를 설명하겠다. 이 카드놀이를 할 수 있는 C 프로그램을 작성하여 사람들이 좀더 유용한 일에 시간을 할애할 수 있도록 하자.
2.[프로그래밍 과제]
본문내용
[프로그래밍 과제] 본문에서 설명한 내용을 이용해서 미롤르 탐색하는 완전한 프로그램을 작성하라. 그리고 성공시에는 입구에서 출구까지의 경로를 출력하라.
#include
#include
#include
#define MAX_STACK_SIZE 1000 // 스택 최대 사이즈
#define FALSE 0
#define TRUE 1
#define EXIT_ROW 11 // 출구의 위치 : 행
#define EXIT_COL 15 // 출구의 위치 : 열
#define MAX_ROW 13 // 벽을 포함한 최대 행
#define MAX_COL 17 // 벽을 포함한 최대 열
#define START_POINT 255 // 시작 포인트의 값
#define END_POINT -255 // 종료 포인트의 값
typedef short bool; // 불리언 정의
// 오프셋 스트럭쳐 : 이동을 정의하기위한 구조체
typedef struct _offset
{
short row; // 행
short col; // 열
} OFFSET;
<중 략>
2.[프로그래밍 과제] 공항에서의 이착륙 방식을 모의 실험하고자 한다. 공항에는 세개의 활주로(0, 1, 2)와 네가지 착륙 순위 대기 선회 (처음 두개의 활주로에 각각 두개씩)가 있다. 도착비행기는 어느 한 착륙 순위 대기 선회 큐에 들어가며, 큐들은 가능한 한 크기에 있어서 비슷하다. 비행기가 착륙 순위 대기 선회 큐에 들어가면 정수 식별자와, 착륙 전 큐에 남아 있을 수 있는 시간 단위를 나타내는 정수를 할당받는다. (연료가 부족하므로) 큐의 비행기는 반드시 제한시간내에 착륙해야 한다. 또한 세개의 활주로 각각에 대한 이륙 큐도 있다. 이륙 큐에 들어가는 비행기도 정수 식별자를 할당 받는다. 이륙 큐들도 거의 같은 크기로 유지되어야 한다.
각 단위 시간에서, 단지 세대의 비행기가 착륙 큐에 도착 할 수 있고, 단지 세대의 비행기가 이륙 큐에 들어갈 수 있다. 각 활주로는 매 일정 시간마다 하나의 이륙이나 착륙만을 처리할 수 있다. 활주로 2는 비행기의 연료가 부족한 경우를 제외하고는 이륙에만 사용한다. 각 단위시간동안, 착륙 큐에 있는 비행기 중에 체공 가능 시간이 0에 도달한 비행기는 다른 이착륙 비행기들보다 높은 우선순위가 부여된다. 만일 어느 한 비행기에 이와 같은 상황이 발생하면 활주로 2를 사용한다. 만일 두대 이상이면 다른 활주로도 사용한다.
이륙(착륙)큐에 도달하는 비행기의 식별자에는 연속적인 짝수(홀수)를 사용한다. 매 일정 단위 시간마다 이륙 또는 착륙을 하기 전에 비행기는 큐에 들어간다고 가정한다. 착륙 또는 이륙 큐가 급격히 증가하지 않도록 알고리즘을 작성하라. 이때 비행기는 큐의 한쪽 끝으로 삽입되며, 큐는 재정렬 되지 않는다.
출력에는 시간대별로 무엇이 발생하는 가를 명확히 하는 라벨을 사용하라. 주기적으로 다음과 같은 결과를 출력한다.
(a)각 큐의 내용
(b)평균 이륙 대기 시간
(c)평균 착륙 대기 시간
(d)마지막 단위 시간 이후 사고(연료가 떨어지고 할당할 활주로가 없는 경우)를 당한 비행기의 수
참고 자료
없음