그래프의 용어 알고리즘 수업자료 2001242021 김정현.

Slides:



Advertisements
Similar presentations
법의 이념과 철학의 이해 법의 이념은 무엇일까 ? 정의 : 각자에게 각자의 몫을 주는 것 - 평등의 의미가 내포되어 있음 법적 안정성 : 법의 규정이 명확하고 잦은 변경 이 없어야 함 개인의 자유와 권리를 공공복지와 조화롭게 추구 – 사회질서와 안전유지 + 사회정의.
Advertisements

14 장. 그래프 알고리즘 Internet Computing KUT Youn-Hee Han.
Social Network Analysis 우영상. 목차목차 1.Network of Terms 2.Network of Tweets 3.Two-Mode Network.
언어의 자서전 소단원 (1) 단원. 언어의 특성 기호성 자의성 사회성 규칙성 창조성 역사성.
주 40 시간 근무제 조기 시행계획 ( 급여 체계 변경안 포함 ) XXXXXXX.
생활 속의 확률과 진실성 하안북중 1학년 서동조.
2015 헤럴드 펀드대상 2015년 10월14일 헤럴드경제 금융투자부.
1. 자료구조 개념 (1) 자료구조의 개요 1) 자료구조 ① 일련의 자료들을 조직하고 구조화하는 것 ② 자료의 표현과 그것과 관련된 연산 2) 자료구조에 따라 저장공간의 효율성과 프로그램의 실행시간이 달라짐 3) 어떠한 자료구조에서도 필요한 모든 연산들을 처리하는 것이.
그래프.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
보호구는 왜 착용하여야 하는가? 유해요인(가스,분진,소음) 위험요인(추락,낙하,비래,충돌 등) 근본적인 안전대책 강구
Maximum Flow.
Shortest Path Algorithm
제 6 장 그래프 6.1 그래프의 정의 6.2 용어 및 표현법 6.3 그래프의 표현 방법 6.4 그래프의 순회와 신장 트리
국민연금 많이 받는 법 은퇴를 앞둔 친구들에게 (토) 조재문 국민연금교육 강사, 노후준비교육 강사
IP Traceback 2002년 5월 22일 정지웅
Ch.04 Greedy Method (탐욕적 방법)
CHAP 10:그래프 순천향대학교 하상호.
CHAP 10 : 그래프 C로 쉽게 풀어쓴 자료구조 생능출판사 학기 데이터구조.
CHAP 10:그래프 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
CHAP 10 : 그래프 C로 쉽게 풀어쓴 자료구조 Slide 1 (of 62).
제5장 트리.
On the computation of multidimensional Aggregates
제 6 장 그래프.
수학 I 2. 방정식과 부등식.
쉽게 배우는 알고리즘 9장. 그래프 알고리즘.
1과목 데이터베이스 강사 이 민 욱.
알고리즘(Algorithm) – Greedy Method (탐욕적 방법)
Chapter 10 그래프(graph) SANGJI University Kwangman KO
운영체제 (Operating Systems)
발표자 : 홍익대학교 소프트웨어 공학 연구실 변은영 지도교수 : 김영철
10장. 그래프 알고리즘.
그래프(graph) 연결되어 있는 객체 간의 관계를 표현하는 자료구조 가장 일반적인 자료구조 형태
Chapter 10. 파일 시스템 인터페이스(File System Interface)
6 단일 프로세서 스케줄링.
【한국방송영상산업진흥원】
CHAPTER 6 그래프.
동적 계획(Dynamic Programming)
Social Network Analysis
과학 탐구 토론 대회 1학년 2반 박승원 1학년 5반 권민성.
Ch.03 Dynamic Programming (동적 프로그래밍 or 동적 계획법)
과거사 청산, 밝은 미래를 위하여 역사 청산 비교 분석-독일과 우리나라.
관계 기본 개념 관계의 표현 관계의 성질 관계의 연산 관계의 폐포 동치 관계 부분순서 관계.
5장 동적계획법 (Dynamic Programming)
그래프와 트리 (Graphs and Trees)
게임인공지능 제 5 장 그래프의 비밀 2008년 4월 28일.
조 병 규 Software Quality Lab. 한 국 교 통 대 학 교
동적계획법과 최적화 문제 Dynamic Programming을 사용한 최적화 문제를 해결하는 알고리즘 설계 절차
13장. NP-완비NP-Completeness
CHAP 10 : 그래프.
웹 검색의 구조.
알고리즘(Algorithm) 유비쿼터스 컴퓨팅학과 교수 송 창근
비정규직법의 이해 노 동 부.
DP 기반 최단경로 – 자료 구조 및 전략 (1/4) 주어진 그래프에 대한 W:인접행렬(adjacent matrix) 표현 W
동영상 시청
전류는 자계에서 힘을 받는다 기계공학교육 박지훈 황인석 한만혁 이덕균.
(Ⅰ) 독서와 언어의 본질 언어의 본질 1 2 [고등 국어] – 독서와 문법 독서의 본질 (1) 독서의 특성
Traveling Salesman Problem – 개요 (1/2)
4. 분자 상호 작용의 네트워크 분석 4.1 네트워크 표현과 계산
제 4장 그리디 알고리즘.
房思琪的初恋乐园 ‘팡쓰치’로 보는 문학의 힘 정은비.
박 현 미 울산여자상업고등학교 창업포스터 만들며 포토샵과 친해지기 박 현 미 울산여자상업고등학교.
운영체제 (Operating Systems)
Dynamic Graph Query Primitives for SDN-based Cloud Network Management Ramya Raghavendra, Jorge Lobo, Kang-Won Lee 2012 HotSDN 정보통신공학과.
List, ArrayList, Vector, LinkedList 가 있습니다
디자인 작업 작업 내용 1. 카드 앞면 : 시안 2종 – 나성범 선수 가지고
논증의 타당성/부당성 검증 Verification/Falsification
List, ArrayList, Vector, LinkedList 가 있습니다
Traveling Salesman Problem – 개요 (1/2)
Traveling Salesman Problem – 개요 (1/2)
Presentation transcript:

그래프의 용어 알고리즘 수업자료 2001242021 김정현

개요 그래프의 정의 그래프의 용어 그래프의 종류 그래프의 표현방법

그래프의 정의 각각의 단위 정보를 링크로 연결하여 구조화시킨 자료 구조 Tree는 사이클이 없는 Graph이다 그래프에서 노드는 "vertex", 링크는 "edge"라 한다. 하나의 그래프는 다음과 같이 vertex와 edge의 집합으로 정의할 수 있다. => G = (V,E) (V는 vertex집합 , E는 edge집합) 유한개의 정점과 유한개의 간선 집합(간선은 공집합이 가능)

그래프의 용어(1) 인접(Adjacent) 교차(Incident) 경로(Path) 경로 길이(Path Length) 단순 경로(Simple Path) 기본 경로(Basic Path) 인접 정점의 순서쌍(V1, V2)가 E(G)에 있는 연결선이면, 정점 V1과 V2는 인접되어 있다고 하며 그림의 G1에서 정점 B에 인접한 정점들은 A, C, D이다. G3에서 B는 C로 인접하지만 C는 B로 인접하지 않다. 교차 정점의 순서쌍(V1, V2)가 E(G)에 있는 연결선이면, 연결선 (V1, V2)는 정점 V1과 V2에 교차되었다고 한다. 그림의 G1에서 연결선(A, B), (A, C), (A, D)는 정점 A에 교차되어있는 연결선이다. 경로(Path) 임의의 정점에서 다른 정점에 이르는 길 경로 길이(Path Length) 경로상에 있는 간선들의 수 단순경로(Simple Path) 경로상에 있는 정점들 중에서 첫 번째와 마지막 정점을 제외하고 모든 정점들이 서 로  다를 때를 말한다. 그림의 G2에서 정점 A에서 E로의 경로 ABE는 단순 경로이 지만, ABEBE는 단순 경로가 아니다. 기본 경로(Basic Path) 한 경로상에 있는 모든 정점이 유일할 때의 경로, 즉 같은 정점을 두 번 이상 지나지 않는 경로

그래프의 용어(2) 연결(Connected) 연결요소(Connected Component) 사이클(Cycle) Loop 차수(Degree) 진입차수(Indegree) 진출차수(Outdegree) 연결(Connected) 무방향 그래프에서 임의의 두 정점  Vi와  Vj사이에 경로가 존재하면 Vi와  Vj는 연결되었다고 하며, 그림의 G1에서 정점 A와 D는 연결되어 있다라고 할 수 있다 연결요소(Connected Component) 그래프 G에서 최대 연결 부프로그램을 연결 요소라고 한다. 사이클(Cycle) 처음 정점과 마지막 정점이 같은 단순 경로를 말한다. 그림의 G1에서 경로((AB), (BD), (DC))를 (ABDC) 또는 ABDC와 같이 표현하며, 이 경로를 단순 경로라고 한다. ABCDA는 단순 경로로써 사이클이다. Loop 한 정점에서 그 자신에 이어지는 간선 차수 그래프 G(V,E)에서 한 정점에 교차된 연결선들의 수를 말한다. 그림의 G1에서 정점 B에 교차된 연결선의 수는 3이므로 정점 B의 차수는 3이다. 진입차수 방향성 그래프에서 한 정점에서 들어오는 연결선의 수, 즉 한 정점을 머리(head)로 하는 연결선의 수를 정점 V의 진입 차수라고 하며, 그림의 G3에서 정점 B의 진입차수는 1이다. 진출차수 방향성 그래프에서 한 정점에서 나가는 연결선의 수, 즉 한 정점을 꼬리(tail)로 하는 연결선의 수를 정점 V의 진출 차수라고 하며, 그림의 G3에서 정점 B의 진출차수는 2이다. 차수(Degree) 무방향 그래프 : 한 정점에 연결된 간 선의 수 방향 그래프 진입 차수(Indegree) : 한 정점에 도착하 는 방향 간선의 수 진출 차수(Outdegree) : 한 정점에서 출 발하는 방향 간선의 수 차수(Degree) = 진입 차수 + 진출 차수

그래프의 종류(1) 무향그래프 E={(A,B),(A,C),(A,D),(B,C),(B,D),(C,D)} 유향그래프 E={<A,B>, <B,D>, <D,C>,<C,A>} 무향 그래프(undirected graph) edge에 방향성이 없어서 연결된 vertex들의 순서가 정해지지 않은 그래프를 말한다. 무향 그래프의 edge는 vertex쌍을 괄호로 묶어 표현한다. (예) E={(A,B),(A,C),(A,D),(B,C),(B,D),(C,D)} 무향 그래프는 실선으로 edge를 표현한다. 유향 그래프(directed graph) edge에 방향성이 있어서 연결된 vertex들의 순서가 정해진 그래프를 말한다. 유향 그래프의 edge는 vertex쌍을 각괄호로 묶어 표현한다. 유향 그래프는 화살표로 edge의 방향을 표시한다.

그래프의 종류(2) 연결그래프(Connected Graph) G1과 G2 개별은 연결그래프 다중그래프(Multi Graph, Multiple Graph) 두 정점사이에 간선이 2개이상인 경우 연결그래프(Connected Graph) 그래프 G에 속하는 모든 정점들이 연결되어 있어서 임의의 두 정점 Vi와  Vj에 대하여 경로가 존재하는 그래프를 말한다. 그림의 그래프들은 연결 그래프이며, 바로 밑 그림에서 G1부분 정점과 G2부분의 정점들이 연결되어 있지 않기 때문에 연결 그래프가  아닌 단절 그래프(disconnected graph)이다. 다중그래프(Multi Graph, Multiple Graph) 그래프 G의 임의의 두 정점 사이에 두 개 이상의 연결선이 존재하는 그래프를 말한다. 밑 그림의 정점 C와 D사이에 3개의 연결선이 존재하므로 그래프 G는 다중 그래프이다

그래프의 종류(3) 완전 그래프의 edge수 =n(n-1) /2 n은 vertex수 강력연결그래프(Strongly Connected Graph) 유방향그래프에서 모든 Edge연결 완전그래프(complete Graph) 무방향그래프에서 모든 Edge연결 완전 그래프의 edge수 =n(n-1) /2 n은 vertex수 강력연결그래프(Strongly Connected Graph) 방향 그래프 G에서 V(G)에 속한 상이한 두 정점 Vi,  Vj의 모든 쌍에 대해  Vi →  Vj  또는 Vj→Vi로 경로가 존재하는 그래프를 말한다. 강력 연결 요소(Strongly Connected Component) 방향 그래프에서 두 정점 사이의 간선이 양방향으로 서로 강력하게 연결되어 있는 요소, 즉 두 정점 사이에 방향 사이클이 이루어지는 요소 완전 그래프(complete Graph) 모든 vertex쌍을 연결하는 edge가 존재하는 그래프를 말한다. 완전 그래프는 같은 수의 vertex를 가지는 그래프들 중에서 가장 많은 edge를 가진다. 꼭짓점 차수의 특성 어떤 그래프에 있는 모든 꼭짓점 차수의 합은 이 그래프가 가진 변의 수의 두 배가 된다. 따라서, 꼭짓점 차수의 합은 짝수가 되면, 차수가 홀수인 꼭짓점의 수도 짝수가 된다는 성질을 가진다 정점이 n개일 때 정점 2개의 조합 nC2 = = n! / 2! * (n - 2)! = n * (n - 1) / 2 완전 그래프의 edge수 = n(n-1) /2 , n = vertex수

그래프의 종류(4) 모든 정점의 차수가 같은 그래프를 말한다. 아래 그림에서 A와 B에서 모든 정점의 차수가 2로서 동일하다. 정규 그래프 (Regular Graph) 모든 정점의 차수가 같은 그래프 부분그래프(Sub Graph) 어떤 그래프의 부분집합이 되는 그래프 정규 그래프 (Regular Graph) 모든 정점의 차수가 같은 그래프를 말한다. 아래 그림에서 A와 B에서 모든 정점의 차수가 2로서 동일하다. 부분그래프(SubGraph) G(V,E)에서 V의 부분 집합을 V', E의 부분 집합을 E라고 할 때, G'(V',E')를 G(V,E)의 부분 그래프라고 한다. 동형 그래프(Isomorphic Graph) 두 개의 그래프 간 정점, 차수, 간선의 수가 동일한 그래프이다. (그림 A와 B) 동형 그래프(Isomorphic Graph) 두개의 그래프 간 정점,차수, 간선의 수가 동일한 그래프

그래프의 표현방법(1) 인접행렬(Adjacency Matrix) 인접 리스트(Adjacency List) 역인접 리스트(Inverse Adjacency List) 인접 다중 리스트(Adjacency Muti-List)

그래프의 표현방법(2) 인접행렬(Adjacency Matrix) 인접행렬의 문제점 기억공간의 낭비 정점 집합 V(G)={ V1, V2…  Vn}인 그래프 G=(V(G),E(G))의 인접 행렬(adjacency matrix)은 그래프를 구성하는 각 정점들 간의 인접 여부를 n×n의 2차원 배열로 표현한 것이다. 2차원 배열 A(i, j)에서 연결선 (Vi,  Vj)가 E(G)에 속하면 A(i, j)=1이 되고, E(G)에 속하지 않으면 A(i, j)=0 이 된다. 인접행렬의 문제점 인접 행렬로는 n(n-1)개의 edge를 표현할 수 있다. 그러나 실제로 그래프내의 edge수는 이보다 훨씬 적기 때문에 대부분의 행렬원소는 0의 값을 가진다. 따라서 완전 그래프처럼 edge가 많은 경우를 제외하고는 상당량의 기억장소가 낭비되는 문제가 있다. 이러한 문제를 해결하기 위해 인접 리스트를 사용한다 인접행렬의 문제점 기억공간의 낭비

그래프의 표현방법(3) 인접 리스트(Adjacency List) 인접 리스트(Adjacency List) 인접 리스트는 연결 리스트(linked list)를 사용하여 그래프의 구조를 표현하는 방법으로 그래프의 각 정점에 인접한 정점들을 각각 한 노드에 보관하여 한 개의 연결 리스트를 구성하여 각 리스트에 대한 포인터를 1차원 배열로 저장한 구조이다. 이와 같은 인접 리스트는 밑의 그림에서 보여 주는 것과 같이 순차적인 표현이나 연결 리스트 표현으로 나타낼 수 있다. 여기에서 순차적으로 표현된 각 인접 리스트의 길이는 degree 열에 주어져 있고, 인접 리스트 표(adjacency list table)에 있는 degree 열은 그림에서 각 정점의 진출 차수가  된다. 장점 인접 리스트는 연결된 vertex들만 리스트로 관리하기 때문에 인접 행렬을 사용하는 경우처럼 비연결 vertex를 표현하기 위해 기억장소를 낭비하지 않는다. 단점 인접 리스트는 하나의 연결을 표시하기 위해 vertex 정보뿐 아니라 링크 정보까지 사용되므로 edge의 수가 상대적으로 많은 경우 인접행렬을 사용할 때보다 기억장소 낭비가 심해질 수있다.