RačunalaProgramiranje

Dijkstra algoritam i njegova implementacija

Postoji posebna oblast koja se zove teorije grafova u matematike i informatike. Kao dio svoje set i za rješavanje različitih problema, kao što su pronalaženje najkraćeg puta između čvorova. Jedna od najčešćih među matematičarima načina rješavanja ovog problema je već dugo Dijkstra algoritam.

Ono što je matematički grafikon

Smatra se da pojam grafa je puštena u upotrebu u osamnaestom veku LeonardoM Eylerom. On je bio taj koji je najavio formulacije i rješenje jednog od klasičnih problema ove teorije - sedam mostova Königsberg. Da bi objasnili predmet ove teorije često koriste ovu analogiju kao pokret između različitih gradova. Tada je graf u avionu će biti čitav dijagram put, gdje čvorovi postaju pojedine stavke (npr gradovima), a rubovi - put od jednog temena u drugu (analogni putu između gradova). Dijkstra algoritam, pored drugih metoda, mogu pružiti rješenje za ovaj problem.

Pronalaženje najkraći put

Jedan od uobičajenih zadataka teorije grafova je ona u kojoj trebate odrediti optimalnu putanju troškova između dva poena. Moguće je da se smanji avion na odluku grafa u kojem temena - gradovi - su međusobno povezani rebra, što je moguće puta. Svaka cesta ima svoju dužinu, dakle, putuju na njoj će se morati potrošiti nešto novca. Ovaj iznos je ekvivalentan težinu ivica u grafu. Onda je problem u praksi može formulisati na sljedeći način: kako utrti put iz jednog grada u drugi, da se potroši na putu minimalnim sredstvima.

načine za rješavanje

Riješiti ovaj problem smo izmislili neki algoritmi koji su postali široko poznati u naučnom svijetu. Na primjer, Floyd algoritam - Uorshella, Ford - Belman. Klasičan način pronalaženja rješenja je Dijkstra algoritam. To se može koristiti za weighted (poznata težina svakog ruba) grafa, i razrijediti. Da biste pronašli ultimativni način morate učiniti nekoliko koraka.

Dijkstra algoritam

Poenta ove metode leži u činjenici da su svi temena troškova, počevši sa datim, pri čemu svaki citat je dodijeljena određene vrijednosti. Tada će rezultat uključivati čvorovi čija je oznaka su minimalne. Na vrhu prve početni korak bit će obilježena u vrijednosti od 0. Tada, sve sledeće vrhova smatraju, to jest, oni koji se može doći iz izvora. Oni su označeni, vrijednost koja se utvrđuje kao zbir izvornog koda i težinu staze. Sa vrha sljedeći korak, odaberite onaj koji ima najmanju vrijednost etikete, i studirao sve čvorove u koje iz njega možemo ići bez upotrebe srednji čvorova. Odredite novu etiketu jednaka oznaci ploče - izvorni kod plus težina način. Ako je vrijednost manja od vrha oznaka, etiketa se mijenja. U suprotnom, ostaje originalni vrijednosti. U isto vrijeme u posebnom nizu, čija je dimenzija jednak je broj čvorova, čuva rezultat optimizacije, u kojem i odlučan način. Implementirati metodu kao što je Dijkstra algoritam, Pascal nudi vrlo povoljno sredstvima. Algoritam ima tu prednost da se lako može biti osnova za program koji ima male veličine. Primjeri takvih softverskih proizvoda lako pronaći na internetu.

DRZ rješenja različitih alata možete koristiti zadatak pronaći optimalnu putanju. Rješenja kao što su Dijkstra algoritam, Delphi će stvoriti pogodan oblik vizualnog ulaza i izlaza podataka konačni rezultat.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 bs.unansea.com. Theme powered by WordPress.