KompiuteriaiProgramavimas

Dijkstros algoritmas ir jo įgyvendinimas

Yra atskiras plotas vadinamas grafų teorija matematikos ir kompiuterių mokslo. Kaip dalį savo rinkinį ir išspręsti įvairias problemas, pavyzdžiui, rasti trumpiausią kelią tarp viršūnių. Vienas bendro tarp matematikai būdų spręsti šią problemą jau seniai dijkstros algoritmas.

Kas yra matematinis grafikas

Manoma, kad diagramoje sąvoka buvo pradėta naudoti XVIII amžiuje Leonardom Eylerom. Jis buvo tas, kuris paskelbė formulavimas ir sprendimas vieną iš klasikinių problemų šios teorijos - Dėl Septyni Karaliaučiaus tiltai. Siekiant paaiškinti šios teorijos objektas dažnai naudoja šią analogiją kaip judėjimo tarp skirtingų miestų. Tada plokštumoje grafiškai bus visas maršrutas diagrama, kur viršūnių tapti konkrečius elementus (pvz, miestų), ir kraštai - kelias iš vienos į kitą viršūnių (analoginis keliais tarp miestų). Dijkstros algoritmas, be kitų metodų gali padėti išspręsti šią problemą.

Rasti trumpiausią kelią

Vienas iš bendrų užduočių iš grafų teorijos yra ta, kurioje jums reikia nustatyti optimalų ekonominį kelią tarp dviejų taškų. Tai įmanoma sumažinti lėktuvą į diagramoje, kurioje viršūnių sprendimą - Miestai - yra tarpusavyje šonkauliai, kuri yra įmanoma kelias. Kiekvienas kelias turi savo ilgį, todėl keliauti juo teks išleisti šiek tiek pinigų. Ši suma yra lygi iš diagramoje kraštų masės. Tada praktiškai problema gali būti formuluojama taip: kaip paruošti dirvą iš vieno miesto į kitą, turi būti išleidžiama kelių minimalių priemonėmis.

būdų, kaip išspręsti

Norėdami išspręsti šią problemą mes jau išrado kai kurie algoritmai, kurie tapo plačiai žinomas mokslo pasaulyje. Pavyzdžiui, Floyd algoritmas - Uorshella Ford - Bellman. Klasikinis būdas rasti sprendimus taip pat dijkstros algoritmas. Jis gali būti naudojamas įvertinti (žinomą svorį kiekvieno krašto) grafiko, ir skiesti. Norėdami rasti galutinį kelią turite atlikti kelis žingsnius.

Dijkstros algoritmas

Šio metodo taškas yra tai, kad visi išlaidų viršūnių, pradedant tam tikra, kur kiekviena žymė yra priskirtas tam tikrą vertę. Tada rezultatas bus įtraukti viršūnių, kurių etiketėse yra minimali. Ant pirmojo pradinio žingsnio bus pažymėti vertės 0. Tada visi šių viršūnių yra laikomi, tai yra, tie, kurie gali būti pasiektas iš šaltinio. Jie yra paženklinti, kurio vertė nustatoma kaip šaltinio kodą ir svorio takais suma. Nuo sekančio žingsnio viršuje, pasirinkite vieną, kuris turi mažiausią vertę etiketės ir studijavo visus, kad iš jo mes galime eiti nenaudojant tarpinių mazgų viršūnių. Nurodykite naują etiketę, lygią etiketės viršūnės - kodą plius apie tai, kaip svorį. Jei vertė yra mažesnė nei viršuje etiketės, etiketė pasikeitė. Priešingu atveju, jis lieka pradinės vertės. Tuo pačiu metu į atskirą masyvą, kurio dimensija yra lygi viršūnių skaičius, ji saugo optimizavimo rezultatą, kurioje ir ryžtingai. Įgyvendinti metodą, pavyzdžiui, dijkstros algoritmas Pascal siūlo labai patogi priemonė. Algoritmas turi tą privalumą, kad jis gali būti lengvai programą, kuri turi mažą dydį. Tokių programinės įrangos produktų lengva rasti internete.

DLE sprendimai skirtingų įrankių, galite naudoti šią užduotį rasti optimalų kelią. Sprendimų, pavyzdžiui, dijkstros algoritmas, Delfai sukurs patogią formą vizualiai duomenų įvesties ir išvesties galutinis rezultatas.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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