/Computer_network

컴퓨터 네트워크

Primary LanguageC++

사용방법

컴파일

  • make 이용시
    • $ make
  • g++ 이용시
    • $ g++ -o main main.cc dijkstra.cc
  • 그 외 각자 컴파일러에 맞게

실행

$ ./main

사용법

실행하게 되면 아래와 같은 화면을 보게됩니다.
토폴로지는 제가 임의로 설정한 것이라 원하는 것으로 수정해서 쓰면 됩니다.
각각의 노드에서 나머지 노드까지의 거리를 정리한 표를 출력하고 이 표를 이용해 알고리즘을 진행합니다.
Example 에 나온 것 처럼 <from> <to>: A J 를 입력하면 A에서 J까지 가장 가까운 경로를 찾는 명령입니다.

============from A=================
A ->  0
A -> B ->  2
A -> B -> C ->  4
A -> E -> D ->  2
A -> E ->  1
A -> E -> F ->  4
A -> E -> D -> G ->  4
A -> E -> D -> G -> H ->  5
A -> E -> D -> G -> H -> I ->  6
A -> E -> D -> G -> H -> J ->  7
===================================
============from B=================
B -> A ->  2
B ->  0
B -> C ->  2
B -> D ->  1
B -> D -> E ->  2
B -> D -> G -> F ->  4
B -> D -> G ->  3
B -> D -> G -> H ->  4
B -> D -> G -> H -> I ->  5
B -> D -> G -> H -> J ->  6
===================================
============from C=================
C -> B -> A ->  4
C -> B ->  2
C ->  0
C -> B -> D ->  3
C -> B -> D -> E ->  4
C -> B -> D -> G -> F ->  6
C -> B -> D -> G ->  5
C -> I -> H ->  5
C -> I ->  4
C -> J ->  5
===================================
============from D=================
D -> E -> A ->  2
D -> B ->  1
D -> B -> C ->  3
D ->  0
D -> E ->  1
D -> G -> F ->  3
D -> G ->  2
D -> G -> H ->  3
D -> G -> H -> I ->  4
D -> G -> H -> J ->  5
===================================
============from E=================
E -> A ->  1
E -> D -> B ->  2
E -> D -> B -> C ->  4
E -> D ->  1
E ->  0
E -> F ->  3
E -> D -> G ->  3
E -> D -> G -> H ->  4
E -> D -> G -> H -> I ->  5
E -> D -> G -> H -> J ->  6
===================================
============from F=================
F -> E -> A ->  4
F -> G -> D -> B ->  4
F -> G -> D -> B -> C ->  6
F -> G -> D ->  3
F -> E ->  3
F ->  0
F -> G ->  1
F -> G -> H ->  2
F -> G -> H -> I ->  3
F -> G -> H -> J ->  4
===================================
============from G=================
G -> D -> E -> A ->  4
G -> D -> B ->  3
G -> D -> B -> C ->  5
G -> D ->  2
G -> D -> E ->  3
G -> F ->  1
G ->  0
G -> H ->  1
G -> H -> I ->  2
G -> H -> J ->  3
===================================
============from H=================
H -> G -> D -> E -> A ->  5
H -> G -> D -> B ->  4
H -> I -> C ->  5
H -> G -> D ->  3
H -> G -> D -> E ->  4
H -> G -> F ->  2
H -> G ->  1
H ->  0
H -> I ->  1
H -> J ->  2
===================================
============from I=================
I -> H -> G -> D -> E -> A ->  6
I -> H -> G -> D -> B ->  5
I -> C ->  4
I -> H -> G -> D ->  4
I -> H -> G -> D -> E ->  5
I -> H -> G -> F ->  3
I -> H -> G ->  2
I -> H ->  1
I ->  0
I -> J ->  2
===================================
============from J=================
J -> H -> G -> D -> E -> A ->  7
J -> H -> G -> D -> B ->  6
J -> C ->  5
J -> H -> G -> D ->  5
J -> H -> G -> D -> E ->  6
J -> H -> G -> F ->  4
J -> H -> G ->  3
J -> H ->  2
J -> I ->  2
J ->  0
===================================
===========Usage example===========
<from> <to>: A J
A -> E -> D -> G -> H -> J ->  7
===================================
<from> <to>: