보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.

Slides:



Advertisements
Similar presentations
내 마음의 버 스 이천신하교회 청년부. 이름 : 한상훈 나이 : 30 살 종교 : 기독교 ( 모태신앙 ) 생활신조 : 인생은 한방 ! 로또나 사자 이상형 : 청순 가련한 모태미녀 특이사항 : 걸그룹 노래에 환장함 식스팩을 갖기엔 슬픈 몸을 타고 남.
Advertisements

독서골든벨 2009 학년도 6 학년 1 학기 6-10 반. 1. 이야기 삼국유사 정대한 원효대사는 수행을 위해 떠나던 중 피곤하여 숲 속에서 잠이 들었다. 잠결에 너무 목이 마른 나머지 어디에 담겨있는 물을 맛있게 마셨나요 ?
두 손 들고 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 오직 주만이 나를 다스리네 오직 주만이 나를 다스리네 나 주님만을.
지금은 기도 하는 시간입니다 1. 송구영신예배를 위해서 2. ‘크리스마스 이브’ 행사를 준비하는 교육 기관을 위하여
제 5 장 stack and queue.
CHAP 1:자료구조와 알고리즘.
현대사회의 여성문제와 여성복지 3조 권경욱 강향원 황대인 변갑수 박창욱 김지현.
3 장 stack and queue.
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
CHAP 1:자료구조와 알고리즘 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
고교평준화의 득과 실 김영주 이지영 최윤영.
5장 큐.
7장. 큐 스택, 큐 학습목표 리스트 작업은 시간과 무관하게 정의 스택과 큐의 작업은 시간을 기준으로 정의
연결리스트(linked list).
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
CHAP 6:큐 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
자료구조 실습 (03분반)
제 3 장 스택과 큐.
Internet Computing KUT Youn-Hee Han
Internet Computing KUT Youn-Hee Han
제3장 스택과 큐.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
7 스택.
스택(stack) SANGJI University Kwangman Ko
Chapter 4 스택, 큐, 데크.
CHAP 6:큐.
강의 #6 큐(Queue).
CHAP 6:큐 C로 쉽게 풀어쓴 자료구조 Slide 1 (of 27).
CHAP 6:큐 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
다음 주 과제 7장 읽어오기 숙제 해서 다음 주(11월 12일) 제출하기. 큐(Queue) E304호,
자료구조: CHAP 6 큐 컴퓨터공학과 하 상 호.
Chapter 06. 스택.
제3장 스택과 큐.
자료구조: CHAP 5 스택 순천향대학교 컴퓨터공학과 하 상 호.
C++ Espresso 제12장 템플릿.
CHAP 6:큐.
자료구조: CHAP 4 리스트 (1) 순천향대학교 컴퓨터공학과 하 상 호.
보고서 #5(제출기한: 10/14) 다음 문제를 해결하시오.
CHAP 6:큐.
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
프로그래밍 랩 – 7주 리스트.
CHAP 6:큐 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
그래프(graph) 연결되어 있는 객체 간의 관계를 표현하는 자료구조 가장 일반적인 자료구조 형태
2010년 직원연수 자료 제1차 : 4월 16일 ~ 17일 제2차 : 4월 23일 ~ 24일
2.3 제한 조건을 가진 자료구조 1. 스택(STACK) 1) 스택의 개념 - 삽입과 제거 작업이 리스트의 한쪽 끝에서만 수행
제 4 장 스택과 큐 4.1 스택(stack) 4.2 스택의 활용 4.3 큐 4.4 데큐.
CHAP 8:우선순위큐 C로 쉽게 풀어쓴 자료구조 생능출판사 2011.
Introduction To Data Structures Using C
13. 연산자 오버로딩.
CHAP 10:그래프 (2) 순천향대학교 하상호.
8 큐.
Report #3 - due: 4/6 100*100의 2개의 희소 행렬 A, B를 전달 받아서 이들의 덧셈을 구하고, 그 결과의 행렬 C를 반환하는 add_sparse_matrix(A, B, C)를 다음과 같이 작성하라. 희소 행렬은 sparse_matrix 타입으로 표현된다.
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
C언어 응용 제7주 실습 해보기 제6장.
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
리스트(List)를 이용한 자료 관리 이점숙 /
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
객체기반 SW설계 팀활동지 4.
알고리즘: 우선순위 큐(8장) 순천향대학교 컴퓨터 학부 하 상 호.
자료구조론 8장 큐(queue).
05. General Linear List – Homework
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
CHAP 8:우선순위큐 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
우선순위 큐 & Heap Ref. C로 쉽게 풀어쓴 자료구조, 생능출판사, 2005.
나-는 믿음으로 주 얼굴 보리니- 아침에 깰 때에 주형상에 만족하리 나주님 닮기 원하네 믿음으로 주얼굴 보리라 -
Report #3- 문제 1 Set(집합) 추상 데이터 타입을 정의하고, 다음과 같은 연산자들을 포함시켜라. 여기서 S, S1, S2는 집합을 나타내고, i는 집합 원소를 나타낸다. 연산 의미 create() Return {} insert(S, i) If i є S then.
Presentation transcript:

보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라. 큐의 연산, is_empty(q), is_full(q), enqueue(q, item), dequeue(q)에 대한 알고리즘을 각각 작성하라. 여기서 q는 큐이고, item은 데이터 항목이다. 다음의 큐 연산을 수행하는 main() 함수를 작성하고, 여러분이 구현한 큐가 올바르게 동작하는지를 테스트 및 검증하라. enqueue(q, 1) enqueue(q, 2) enqueue(q, 3) print(dequeue(q)) enqueue(q,4) enqueue(q,5) enqueue(q,6)

Sol - #1 void enqueue(q, item) push(stk1, item) END enqueue element dequeue(q) if is_empty(stk2) then while !is_empty(stk1) do push(stk2, pop(stk1)); repeat end if if !is_empty(stk2) then return pop(stk2); END dequeue

보고서 #7 (2) 원형 큐에서는 공백 상태와 포화 상태를 구분하기 위하여 필수적으로 하나의 빈 공간이 필요하다. 그러나 하나의 변수, lastOp를 큐에 추가하여 모든 공간을 사용할 수 있다. lastOp의 변수는 가장 최근에 큐에 행해진 연산을 기억한다. 최근에 행해진 연산이 삽입 연산이었다면 큐는 공백 상태가 아닐 것이다. 즉, lastOp의 변수를 이용하여 front == rear 일 때, 공백상태와 포화상태를 구분할 수 있다. 마찬가지로, 최근에 행해진 연산이 삭제 연산이었다면 큐는 포화상태가 아닐 것이다. 큐의 연산, is_empty(q), is_full(q), enqueue(q, item), dequeue(q)에 대한 알고리즘을 각각 작성하라. 여기서 q는 큐이고, item은 데이터 항목이다. 크기가 5인 원형 큐를 정의하고, 앞의 문제에서 제시한 일련의 큐 연산을 수행하는 main() 함수를 작성하고, 여러분이 구현한 큐가 올바르게 동작하는지를 테스트 및 검증하라.

Sol - #2 // IN, OUT 상수 도입 // IN은 삽입 연산, OUT은 삭제 연산 의미 is_empty(q) if front = rear and lastOP = OUT then return true; else return false; end if end is_empty is_full(q) if front = rear and lastOP = IN then end is_full enqueue (q, item) …. lastOP <- IN // 삽입 연산 수행 end enqueue dequeue (q) lastOP <- OUT // 삭제 연산 수행 end dequeuer