SlideShare a Scribd company logo
1 of 33
NPC 여러분 반갑습니다시작하겠습니다
Quizzzzzzzzzzzzzzzz 기환이는 자신이 캠퍼스에서 길을 잃어버려서 다시 자신의 연구실로 돌아가기로 결심하였습니다. 이때 기환이는 빈칸으로만 움직일수 있으며, 한번움직일때 상하좌우로만 움직일수 있습니다.  기환이가 연구실로 돌아가기위해 필요한 최소 스텝을 리턴하도록 하세요.  길이 없을시에는-1을 리턴하세요. 여기서 필요한 자료구조는 무엇일까요? 정답: 그냥 기환이를 버린다.
바로 그래프 !
1.  그래프와 그래프 자료구조 By gladiusTopCoder Member
그래프 소개 그래프의 자료구조를 아는것은 매우 중요! 많은 문제에서 그래프를 사용! 그래프 문제임을 인식하기 힘듬!
그래프의 종류 링크드리스트 트리 그래프 그래프와 나머지의 차이점은 무엇 ??
그래프의 표시 G = { V, E} 로 표시할수있다. V 는 점들의 집합 E 는 선분들의 집합 여기서 E는 다시 (u,v)로 표시할수있다. [ u,v는 V의 원소]
그래프의 표시 E = {A,B,C};  V = {(A,B),(B,C),(A,C)}; (A,B) = 1; (A,C) = 5; (B,C) = 1;
2.  그래프 탐색 DFS BFS
DFS 기본구조 (iterator)
DFS 기본구조 (recursive)
GrafixMask (SRM 211)  300  x 400 의 패드에 파란색 사각형이여러장 놓여있다. 파란색 사각형으로 완전히 잘려지는 도형들의 넓이를         작은 순서대로 정렬하여 return 하시오
하지만 DFS는 너무 오래걸린다. 기본적으로 스택을써야한다. 리커젼을 통한 구현도 쉽다. 답도 정확하게 나온다. 하지만! Memory overflow 가 나기 쉽고TimeExceed가 나는 경우가 다반사이다.
BFS 기본구조 (iterator)
3. 최적의 경로 찾기 1)  다익스트라 알고리즘이란?     ① 시작점과 연결된 모든 노드에 거리와 시작된 곳      을 알리는 라벨을 임시로 붙인다    ② 임시라벨중최적 거리를 찾는다.   ③  최적 거리의 라벨을 확정 노드로 라벨을 확정한다.   ④  다시 확정된 라벨이 시작점이 되어 확정라벨 외 연결된  모든 노드에 임시 라벨을 붙임   ⑤  다시 모든 임시 라벨중 최적 거리를 찾는다.   ⑥  위와 같이 되풀이 하며 끝점을 찾는다.
다익스트라는 그리디 이다
Floyd-Warshall
플로이드는다이나믹 이다
ㄱㅅ

More Related Content

More from skku_npc

Mathematics
MathematicsMathematics
Mathematicsskku_npc
 
Greedy is Good
Greedy is GoodGreedy is Good
Greedy is Goodskku_npc
 
Binary Search
Binary SearchBinary Search
Binary Searchskku_npc
 
How to find a solution
How to find a solutionHow to find a solution
How to find a solutionskku_npc
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programmingskku_npc
 
An introduction to recursion
An introduction to recursionAn introduction to recursion
An introduction to recursionskku_npc
 
Algorithm Games
Algorithm GamesAlgorithm Games
Algorithm Gamesskku_npc
 

More from skku_npc (7)

Mathematics
MathematicsMathematics
Mathematics
 
Greedy is Good
Greedy is GoodGreedy is Good
Greedy is Good
 
Binary Search
Binary SearchBinary Search
Binary Search
 
How to find a solution
How to find a solutionHow to find a solution
How to find a solution
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programming
 
An introduction to recursion
An introduction to recursionAn introduction to recursion
An introduction to recursion
 
Algorithm Games
Algorithm GamesAlgorithm Games
Algorithm Games
 

Introduction to Graphs

  • 2. Quizzzzzzzzzzzzzzzz 기환이는 자신이 캠퍼스에서 길을 잃어버려서 다시 자신의 연구실로 돌아가기로 결심하였습니다. 이때 기환이는 빈칸으로만 움직일수 있으며, 한번움직일때 상하좌우로만 움직일수 있습니다. 기환이가 연구실로 돌아가기위해 필요한 최소 스텝을 리턴하도록 하세요. 길이 없을시에는-1을 리턴하세요. 여기서 필요한 자료구조는 무엇일까요? 정답: 그냥 기환이를 버린다.
  • 4.
  • 5. 1. 그래프와 그래프 자료구조 By gladiusTopCoder Member
  • 6. 그래프 소개 그래프의 자료구조를 아는것은 매우 중요! 많은 문제에서 그래프를 사용! 그래프 문제임을 인식하기 힘듬!
  • 7. 그래프의 종류 링크드리스트 트리 그래프 그래프와 나머지의 차이점은 무엇 ??
  • 8. 그래프의 표시 G = { V, E} 로 표시할수있다. V 는 점들의 집합 E 는 선분들의 집합 여기서 E는 다시 (u,v)로 표시할수있다. [ u,v는 V의 원소]
  • 9. 그래프의 표시 E = {A,B,C}; V = {(A,B),(B,C),(A,C)}; (A,B) = 1; (A,C) = 5; (B,C) = 1;
  • 10.
  • 11. 2. 그래프 탐색 DFS BFS
  • 14.
  • 15. GrafixMask (SRM 211) 300 x 400 의 패드에 파란색 사각형이여러장 놓여있다. 파란색 사각형으로 완전히 잘려지는 도형들의 넓이를 작은 순서대로 정렬하여 return 하시오
  • 16.
  • 17. 하지만 DFS는 너무 오래걸린다. 기본적으로 스택을써야한다. 리커젼을 통한 구현도 쉽다. 답도 정확하게 나온다. 하지만! Memory overflow 가 나기 쉽고TimeExceed가 나는 경우가 다반사이다.
  • 18.
  • 20.
  • 21. 3. 최적의 경로 찾기 1) 다익스트라 알고리즘이란?     ① 시작점과 연결된 모든 노드에 거리와 시작된 곳 을 알리는 라벨을 임시로 붙인다   ② 임시라벨중최적 거리를 찾는다.   ③ 최적 거리의 라벨을 확정 노드로 라벨을 확정한다.   ④ 다시 확정된 라벨이 시작점이 되어 확정라벨 외 연결된 모든 노드에 임시 라벨을 붙임   ⑤ 다시 모든 임시 라벨중 최적 거리를 찾는다.   ⑥ 위와 같이 되풀이 하며 끝점을 찾는다.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 31.
  • 32.