Chap 6: Graphs

Similar documents
Chap 6: Graphs

Chap 6: Graphs

chap 5: Trees

Chapter 4. LISTS

Chapter 4. LISTS

Chapter 4. LISTS

11장 포인터

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

歯MW-1000AP_Manual_Kor_HJS.PDF

(......).hwp

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

5.스택(강의자료).key

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은

Microsoft PowerPoint - ch12 - Graph, Graph Algorithms

11장.그래프

슬라이드 제목 없음

2014밝고고운동요부르기-수정3

2005프로그램표지

Microsoft PowerPoint - ch12 - Graph, Graph Algorithms

**Market Ins_잇단

**창간특집1-스마트

*½ºÆä¼È¸®Æ÷Æ®-½ºÅ丮Áö

untitled

CTS사보-2월

슬라이드 1

<4D F736F F F696E74202D20C1A637C0E52DB0EDB1DEBFACB0E1B8AEBDBAC6AE2E >

03_queue

1장. 유닉스 시스템 프로그래밍 개요

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE>

06장.리스트

WISHBONE System-on-Chip Interconnection Architecture for Portable IP Cores

7장

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

원형연결리스트에대한설명중틀린것은 모든노드들이연결되어있다 마지막에삽입하기가간단한다 헤더노드를가질수있다 최종노드포인터가 NULL이다 리스트의 번째요소를가장빠르게찾을수있는구현방법은무엇인가 배열 단순연결리스트 원형연결리스트 이중연결리스트 단순연결리스트의노드포인터 가마지막노드를

untitled

Microsoft PowerPoint - Ch_8._Project_Management_(1).ppt [호환 모드]

K&R2 Reference Manual 번역본

**¼Û³âƯÁý2

C 언어 강의노트

Frama-C/JESSIS 사용법 소개

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>


03장.스택.key

chap x: G입력

07.pert.cpm

Chapter #01 Subject


chap01_time_complexity.key

제 6 장 그래프

리스트 (list), 선형리스트 (linear list): 순서를가진항목들의모임 집합 : 항목간의순서의개념이없음 L = n ( item0, item1,..., item -1) l 리스트의예 l 요일 : ( 일요일, 월요일,, 토요일 ) l 한글자음의모임 : ( ㄱ, ㄴ

1장. 리스트

chap8.PDF

Microsoft PowerPoint - 제10장-그래프.pptx

Microsoft PowerPoint - 07-chap05-Stack.ppt

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

슬라이드 1

10.

본 강의에 들어가기 전


chap 5: Trees

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

FreeBSD Handbook

10주차.key

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

UI TASK & KEY EVENT

< B0B3C0CEC1A4BAB8BAD0C0EFC1B6C1A4BBE7B7CAC1FD2E687770>

C# Programming Guide - Types

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Microsoft PowerPoint - Chap5 [호환 모드]

05_tree

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

1217 WebTrafMon II

4장

Microsoft PowerPoint - 05-chap03-ArrayAndPointer.ppt

chap x: G입력

중간고사 (자료 구조)

chap7.key

안동회보73호-4절-pdf

산업입지내지6차

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

서강대학교공과대학컴퓨터공학과 CSE3081 알고리즘설계와분석 (2 반 ) 기말고사 (2015 년 12 월 17 일 ) 알고리즘설계와분석 (CSE3081(2 반 )) 기말고사 (2015년 12월17일 ( 목 ) 오전 9시 30분 ) 담당교수 : 서강대학교컴퓨터공학과임인성

The C++ Programming Language 4 장타입과선언 4.11 연습문제 Hello,world! 프로그램을실행시킨다. 프로그램이컴파일되지않으면 B3.1 을참고하자. #include<iostream> //#include 문, 헤더파일, 전처리지시

MBCÆйи®68È£5*275š

OCaml

Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max

PowerPoint Template

untitled

슬라이드 1

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

ABC 10장

Algorithms

내지-수정.indd

화판_미용성형시술 정보집.0305

KNK_C_05_Pointers_Arrays_structures_summary_v02

ÆÊÇ÷¿

Data structure: Assignment 3 Seung-Hoon Na December 14, 2018 레드 블랙 트리 (Red-Black Tree) 1 본 절에서는 레드 블랙 트리를 2-3트리 또는 2-3-4트리 대한 동등한 자료구조로 보고, 두 가지 유형의 레

Transcription:

AOV Network 의표현 임의의 vertex 가 predecessor 를갖는지조사 각 vertex 에대해 immediate predecessor 의수를나타내는 count field 저장 Vertex 와그에부속된모든 edge 들을삭제 AOV network 을인접리스트로표현 count link struct node { int vertex; struct node *link; }; typedef struct { int count; struct node *link; } hdnode; hdnode graph[max_vertices]; v v 1 v v 3 v 4 v 5 1 1 1 3 Null Null 1 4 Null 4 5 Null 5 4 Null 3 Null 6 장. 그래프 (Page 61)

Program 6.14: topsort() void topsort(hdnode graph[], int n) { int i, j, k, top; struct node *ptr; top = -1; // Predecessor가없는 vertex들의 stack 구성 for (i = ; i < n; i++) if (!graph[i].count) { graph[i].count = top; top = i; } for (i = ; i < n; i++) if (top == -1) { fprintf(stderr, "Network has a cycle.\ n"); exit(1); } else { j = top; top = graph[top].count; // Stack에서제거 printf("v%d, ", j); for (ptr = graph[j].link; ptr!= NULL; ptr = ptr link) { k = ptr vertex; // Successor vertex들의 count 감소 graph[k].count--; if (!graph[k].count) { // 새로운 vertex를 stack에삽입 graph[k].count = top; top = k; } } } } 6 장. 그래프 (Page 6)

연습문제 아래그래프에서가능한 topological order 를모두나열하시오. A P B F E T D K 6 장. 그래프 (Page 63)

5. AOE Network AOE Network 의정의 Edge: 작업 Vertex: 사건 (event) vertex 로들어오는모든작업이완료할때발생 vertex 에서나가는작업은사건이발생하기전까지는시작될수없다. start v a = 6 a = 5 a 1 = 4 v 1 v v 3 a 3 = 1 v 4 a 4 = 1 a 5 = v 5 a 6 = 8 a 7 = 6 v 6 v 7 a 8 = 4 a 9 = v 8 a 1 = 4 finish event v v 1 v 4 v 7 v 8 interpretation start of project completion of activity a completion of activity a 3 and a 4 completion of activity a 7 and a 8 completion of project (b) Interpretation of some of the events in the activity graph of (a) (a) AOE Network. Activity graph of a hypothetical project 6 장. 그래프 (Page 64)

AOE Network 에서 Critical Path 임계경로 (Critical Path) 시작 vertex 에서종료 vertex 까지가장긴경로 병목현상의원인이됨. Event v i 의 Earliest Time, earliest(i) 시작 vertex v 에서 v i 까지가는가장긴경로의길이 earliest(4) = 7 early(i): 작업 a i 의가장빠른시작시간 a i 가 <k, l> 일경우, early(i) = earliest(k) early(6) = 7 작업 a i 의 Latest Time, late(i) 프로젝트기간을증가시키지않으면서작업이시작될수있는가장나중시간 early(5) = 5 & late(5) = 7, early(7) = 7 & late(7) = 7 임계작업 (Critical Activity) early(i) = late(i) 인작업 a i 6 장. 그래프 (Page 65)

Earliest Time 의계산 작업 a i 가 edge <k, l> 로표현된다고가정 early(i) = earliest[k] late(i) = latest[l] duration of a i earliest[j] 의계산 topsort 알고리즘을이용하여시작 vertex 부터 AOE network 를순회 earliest[] = earliest[j] = max{earliest[i] + duration of <i, j>} for i {immediate predecessors of j} 아래문장을 topsort() 함수의 else 절마지막에추가 if (earliest[k] < earliest[j] + ptr duration) earliest[k] = earliest[j] + ptr duration 6 장. 그래프 (Page 66)

그림 6.4: 그림 6.41 의인접리스트 count link vertex dur link V 1 6 4 3 5 NULL V 1 1 4 1 NULL V 1 4 1 NULL V 3 1 5 NULL V 4 6 8 7 6 NULL V 5 1 7 4 NULL V 6 1 8 NULL V 7 8 4 NULL V 8 NULL 1 3 4 5 6 7 8 6 장. 그래프 (Page 67)

그림 6.4: earliest 의계산 Earliest [] [1] [] [3] [4] [5] [6] [7] [8] Stack initial [] output V 6 4 5 [3,, 1] output V 3 6 4 5 7 [5,, 1] output V 5 6 4 5 7 11 [, 1] output V 6 4 5 5 7 11 [1] output V 1 6 4 5 7 7 11 [4] output V 4 6 4 5 7 7 15 13 [7, 6] output V 7 6 4 5 7 7 15 13 17 [6] output V 6 6 4 5 7 7 15 13 17 [8] output V 8 6 장. 그래프 (Page 68)

Latest Times 의계산 마지막 vertex 부터 topsort 알고리즘을이용하여 AOE network 을역방향으로순회 latest[n-1] = earliest[n-1] latest[j] = min{latest[i] duration of <j, i>} for i {immediate successors of j} 역인접리스트 (inverse adjacency list) 를이용 아래문장을 topsort() 함수의 else 절마지막에추가 if (latest[k] > latest[j] ptr duration) latest[k] = latest[j] ptr duration 6 장. 그래프 (Page 69)

그림 6.43: 그림 6.41 의역인접리스트 count link vertex dur link V 3 NULL V 1 1 V 1 V 3 1 V 4 V 5 1 V 6 1 V 7 1 V 8 6 NULL 4 NULL 5 NULL 1 1 3 NULL 4 8 NULL 4 6 6 1 NULL 5 4 NULL 7 4 NULL 1 3 4 5 6 7 8 6 장. 그래프 (Page 7)

그림 6.43: latest 의계산 Earliest [] [1] [] [3] [4] [5] [6] [7] [8] Stack initial 17 17 17 17 17 17 17 17 17 [8] output V 8 17 17 17 17 17 17 15 13 17 [7, 6] output V 7 17 17 17 17 7 9 15 13 17 [5, 6] output V 5 17 17 17 7 7 9 15 13 17 [3, 6] output V 3 17 17 7 7 9 15 13 17 [6] output V 6 17 17 7 7 9 15 13 17 [4] output V 4 6 6 7 7 9 15 13 17 [, 1] output V 6 6 7 7 9 15 13 17 [1] output V 1 6 6 7 7 9 15 13 17 [] 6 장. 그래프 (Page 71)

작업 a i 의 Early(i) 와 Late(i) 계산 작업 a i 가 edge <k, l> 로표현된다고가정 early(i) = earliest[k] late(i) = latest[l] duration of a i Activity Early Late Late Early Critical a a 1 a a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 1 6 4 5 7 7 7 15 13 6 6 7 7 7 9 15 13 Yes No No Yes No No Yes Yes No Yes Yes 6 장. 그래프 (Page 7)