Professional Documents
Culture Documents
1 Graf Usmjereni Graf
1 Graf Usmjereni Graf
1 Graf Usmjereni Graf
Graf
Trgovački putnik mora obići n gradova (na slici n=5). Poznate su međusobne
udaljenosti svih tih gradova.
Trgovački putnik može krenuti iz bilo kojeg grada, mora obići sve gradove i vratiti se
natrag u početni grad i to tako da posjeti svaki grad samo jednom.
Postavlja se pitanje iz kojeg grada treba krenuti i kojim redom posjećivati pojedine
gradove tako da put koji će napraviti bude najkraći.
Graf
g(y)=(x1,x2) x1, x2 čvorovi
Usmjereni graf
g(y)=(x1,x2) x1 – početni čvor, x2 – završni čvor
ATP DiGraph
node - bilo koji tip podataka predstavlja čvor
arc - bilo koji tip podataka predstavlja luk
nlabeltype - bilo koji tip podataka predstavlja oznaku čvora
alabeltype - bilo koji tip podataka predstavlja oznaku luka
DiGraph - usmjereni graph pri čemu su čvorovi tipa node lukovi tipa arc
i pripadajućim oznakama
Make_null(G) - kreira prazni graph
0 1 2 3 4
2 40 60 0 90 150
return mat=''
for red in self.mat:
return self
Klasa usmjereni graf
Matrica susjedstva
0 1 2 3 4
0 0 1 1 0 0
1 1 0 1 1 0
2 0 1 0 0 1
3 0 0 1 0 1
4 0 1 0 0 0
Klasa usmjereni graf 0
0
0
1
1
2
1
3
0
4
0
1 1 0 1 1 0
Ne težinski graf – grane nemaju težinu 2 0 1 0 0 1
3 1 0 1 0 1
4 0 1 0 0 0
Matrica susjedstva
• Čvorove imenujemo brojevima 0, 1, …, n-1
• Grane prikazujemo listom parova (početni_čvor, završni_čvor)
• Ako u usmjerenom grafu postoji grana (i,j)
čvor i je neposredni prethodnik čvora j, čvor j je neposredni sljedbenik čvora i
class Digraph:
nodes = [ Nodecell() for i in range(MAX)]
arccell = [ Arccell() for i in range(MAX)]
lastnode = 0
lastarc = 0
Zadatak
1 2 3 4
1 A 1 - - 8 6
2 B 2 1 - - 12
3 C 3 - 18 - -
4 D 4 15 - 16 -