Project_B_3_r5 - Data Structure Lab. Project B-3 Contents...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Data Structure Lab. Project B-3 Contents • Project B 추가 제약 사항 • Dijkstra algorithm – Pseudo code – Project B 에 적용 예 • 실습 – Distance 완성 – Distance : 출발역에서 다른 모든역까지의 거리 2 Project B 추가 제약 사항 • 최소 거리 또는 최소 소요 시간 경로 탐색 시 아래의 순서대로 우선 순위를 갖음 – 거리 또는 소요 시간이 짧음 – 방문하는 역 수가 적음 – 환승하는 역 수가 적음 – 역 이름이 빠름(‘ㄱ’으로 시작하는 역이 ‘ㄴ’으로 시작하는 역보다 우선함 ) • 역 사이의 노선은 유일함 – 실제 을지로 3 가와 동대문 역사 문화공원의 경우 2 호선과 5 호선으로 연결되어 있 지만 본 과제에서는 상기의 경우를 배제함 3 Dijkstra algorithm pseudo code 4 출발역 s for( 모든 역 x) { distance[x] = s 로 부터의 거리 } 출발역 s 를 방문 체크 while( 방문 체크가 안 된 역이 남아 있는 동안 ) { x = s 와 연결된 역중 방문 체크가 안 된 역 for( 간선 (s, x) 가 존재 하고 체크되지 않은 모든 역 y 에 대해서 ) // y : x 와 연결된 인접역 { d = distance[x] + 간선 (x, y) 의 거리 if(d<distance[y]) { distance[y] = d; x 를 y 의 부모로 지정 } } } s = 도착역 ; i=0; while(1) { if(s == 출발역 ) { path[i] = s; break; } path[i] = s; s = s 의 부모역 ; i++; } < 초기화 > < 최단 경로 탐색 > 적용 예 5 • 적용 예 ) 종로 3 가에서 약수까지의 최단 거리 경로 검색 종로 5 가 동대문 동묘앞 을지로 4 가 동대문 역사 문화공원 신당 충무로 청구 2 2 3 1 1 2 1 2 약수 동대입구 을지로 3 가 종로 3 가 1 1 1 1 3 1 6 • 출발역 , 도착역 설정 종로 5 가 동대문 동묘앞 을지로 4 가 동대문 역사 문화공원 신당 충무로 청구 2 2 3 1 1 2 1 2 약수 동대입구 을지로 3 가 종로 3 가 1 1 1 1 3 1 출발 , 도착역 현재 방문중인 역 이미 방문한 역 아직 방문하 지 않은 역 7 • Distance 생성 – 출발역으로부터 다른 모든 역까지의 거리 저장 역 이름 거리 종로 3 가 종로 5 가 동대문 동묘앞 을지로 3 가 을지로 4 가 동대문 역사문화공원 신당 충무로 청구 동대입구 약수 Distance 종로 5 가 동대문 동묘앞 을지로 4 가 동대문 역사 문화공원 신당 충무로 청구 2 2 3 1 1 2 1 2 약수 동대입구 을지로 3 가 종로 3 가 1 1 1 1 3 1 8 • Distance 초기화 – Distance • 출발역과 연결된 인접역 : 거리로 초기화 • 출발역과 연결되지 않은 역 : 큰 값 (infinite, INT_MAX) 으로 초기화 종로 5 가 동대문 동묘앞 을지로 4 가 동대문 역사 문화공원 신당 충무로 청구 2 2 3 1 1 2 1 2 약수 동대입구 을지로 3 가 종로 3 가 1 1 1 1 3 1 역 이름 거리 종로 3 가 종로 5 가 1 동대문 ∞ 동묘앞 ∞ 을지로 3 가 1 을지로 4 가 ∞ 동대문 역사문화공원...
View Full Document

Page1 / 28

Project_B_3_r5 - Data Structure Lab. Project B-3 Contents...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online