DatorerProgrammering

Dijkstras algoritm och dess genomförande

Det finns en separat område som kallas grafteori i matematik och datavetenskap. Såsom del av dess uppsättning och för att lösa olika problem, såsom att hitta den kortaste vägen mellan spetsarna. Ett vanligt bland matematiker sätt att lösa detta problem har länge varit ett Dijkstras algoritm.

Vad är en matematisk graf

Man tror att begreppet grafen togs i bruk på sjuttonhundratalet Leonardom Eylerom. Det var han som meddelade formulering och lösning av en av de klassiska problemen med denna teori - de sju broar Königsberg. För att förklara syftet med denna teori ofta använder denna analogi som rörelse mellan olika städer. Sedan grafen på planet kommer att vara en hel rutt diagram, där spetsarna blir specifika objekt (t.ex. städer), och kanterna - bana från en spets till en annan (analog väg mellan städer). Dijkstras algoritm, förutom andra metoder kan ge en lösning på detta problem.

Att hitta den kortaste vägen

En av de vanligaste uppgifterna av grafteori är en där du behöver för att bestämma den optimala kostnaden vägen mellan två punkter. Det är möjligt att minska planet till beslut i diagrammet där hörnen - städer - är sammankopplade revben, som är en möjlig väg. Varje väg har sin egen längd, därför reser på den kommer att behöva spendera lite pengar. Denna mängd är ekvivalent med vikten av de kanter i grafen. Då problem i praktiken kan formuleras på följande sätt: hur man bana väg från en stad till en annan, som ska spenderas på vägen minimimedel.

sätt att lösa

För att lösa detta problem som vi har uppfunnits av några algoritmer som har blivit allmänt kända i den vetenskapliga världen. Till exempel, Floyd algoritm - Uorshella, Ford - Bellman. Det klassiska sättet att finna lösningar är också Dijkstras algoritm. Det kan användas för viktas (känd vikt av varje kant) av grafen, och att späda ut. För att hitta det ultimata sättet du måste göra flera steg.

Dijkstras algoritm

Den punkt i denna metod ligger i det faktum att alla hörn av kostnaden, som börjar med en given, varvid varje tagg är tilldelad ett visst värde. Då resultatet kommer att omfatta hörn vars etikett är minimala. På toppen av den första inledande steg kommer att märkas med ett värde av 0. Därefter alla följande toppar beaktas, det vill säga, de som kan nås från källan. De är märkta vars värde bestäms som summan av källkoden och vikten av vägar. Från toppen av nästa steg väljer du den som har det minsta värdet av etiketten och studerade alla hörn i att från det kan vi gå utan att använda mellanliggande noder. Ange en ny etikett lika med etikett tops - källkod plus vikten av vägen. Om värdet är mindre än den övre etiketten är etiketten ändras. Annars är det fortfarande den ursprungliga värdet. Samtidigt i en separat matris, vars dimension är lika med antalet hörn, lagrar den resultat av optimering, i vilken och bestämda sätt. För att genomföra en sådan metod som Dijkstras algoritm, Pascal erbjuder en mycket bekvämt sätt. Algoritmen har den fördelen att den lätt kan ligga till grund för ett program som har en liten storlek. Exempel på sådana mjukvaruprodukter lätt att hitta på Internet.

Dle lösningar olika verktyg som du kan använda i uppgift att hitta den optimala vägen. För lösningar såsom Dijkstras algoritm, kommer Delphi skapa lämplig form av visuell indata och utdata det slutliga resultatet.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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