#define MAX_NODES 1024 /* Največje število vozlišč * /# opredeliti INFINITY 1000000000 /* število večje od vseh največjo poti * /int n, dist [MAX_NODES] [MAX_NODES]; /* dist [I] [j] je razdalja od i do j * /void shortest_path (int s, int t, int pot []) {struct stanje {/* pot, ki je delal na * /int predhodnika; /* prejšnjo dolžina vozlišče * /int /* dolžina od vira do tega vozlišča * /ENUM {trajna, tentative} nalepko /* state nalepka * /} state [MAX_NODES]; int I, K, min; struct stanje * p; za (p = & state [0]; p < & state [n]; p ++) {/* zagnati državna * /p > predhodnik = -1p- > dolžina = INFINITYp- > label = pogojno; } state [t] .length = 0; state [t] .label = trajna; K = t; /* k je začetni delovni vozlišče * /naredi {/* je boljša pot od k? * /for i = 0; I < n; I ++) /* Ta graf ima n vozlišč * /if (dist [K] [I] = 0 &! &Amp; state [I] .label == pogojno) {if (state [K] .length + dist [K ] [I] < state [I] .length) {state [I] .predecessor = k; state [I] .length = state [k] .length + dist [k] [I]}} /* Poiščite okvirno označeno vozlišče z najmanjšo etiketi. * /k = 0; min = INFINITY; za (I = 0, i < n; I ++), če je (state [I] .label == pogojno & & state [I] .length < min) = stanje [I] .length; k = I; } state [k] .label = trajna} while (K = i!); /* Kopirajte pot v izhodni niz * /I = 0; k = 0Do {pot [I ++] = k; k = state [k]. predhodnik;} while (k > = 0);} DV algoritmov
DV algoritmi so znani tudi kot Bellman-Ford usmerjevalnih algoritmov in Ford-Fulkersonov usmerjevalnih algoritmov. V teh algoritmov, vsak usmerjevalnik ima mizo usmerjevalno da je najboljša pot za vsako destinacijo kaže. Tipičen graf in usmerjevalno tabelo za usmerjevalnik J je prikazano na vrhu strani.
Iz tabele je razvidno, če usmerjevalnik J želi priti pakete usmerjevalnika D, da bi jih morali poslati usmerjevalnika H. Ko paketi prispejo na usmerjevalniku H, da preveri svojo mizo in se odloči, kako poslati pakete do D.
V DV algoritmov, vsak usmerjevalnik mora slediti tem korakom:
- To šteje masa povezave neposredno povezani z njim in shrani podatke za njeno mizo.
- V določenem časovnem obdobju, da pošlje svoj tabelo k sosednjimi usmerjevalniki (ne vseh usmerjevalnikov) in prejemanje usmerjevalno tabelo vsakega sosedami
- Na podlagi informacij iz usmerjevalnih tabel svojih sosedov, da posod
eučinkovita. Da bi razumeli ta algoritem bolje, tukaj je vir programa s C pisnim:
računalniška strojna oprema
- Kako Network Address Translation Works
- Kako je Mac Pro Works
- Je računalnik zgrajen, da bi prekinil
- Kako Sylvania Tablet Works
- Zakaj moj računalnik potrebujejo bateri…
- Nastavite računalnik za energetiko Savi…
- Kako bo Holografski Memory Will Work
- Kako lahko povsem logično računalnik u…
- 5 Essential iPad Accessories
- Kako ROM Works
- Kako Floppy Disk Drives Work
- Kako Toshiba Tablet Works
- Kako Tablete Work
- Kako so projektni Fiona Works
- Kako SCSI Works