PočítačeProgramování

Dijkstrův algoritmus a jeho implementace

Tam je oddělený prostor s názvem teorie grafů v matematice a informatice. Jako součást své sady a řešit různé problémy, jako je například hledání nejkratší cestu mezi vrcholy. Jeden obyčejný mezi matematiky způsobů řešení tohoto problému je již dlouho Dijkstrův algoritmus.

To, co je matematický graf

Předpokládá se, že pojem grafu byla uvedena do provozu v osmnáctém století Leonardom Eylerom. Byl to on, kdo oznámil formulaci a řešení jednoho z klasických problémů této teorie - sedm mostů Königsberg. Aby bylo možné vysvětlit předmětem této teorie často používají tuto analogii jako pohyb mezi jednotlivými městy. Pak graf na letadlo bude celá trasa diagram, kde vrcholy stávají konkrétní položky (např., Města) a hrany - cesta od jednoho vrcholu k druhému (analog silnice mezi městy). Dijkstrův algoritmus, kromě jiných metod, může poskytnout řešení tohoto problému.

Nalezení nejkratší cesty

Jedním ze společných úkolů teorie grafů je ten, ve kterém je třeba určit optimální cestu nákladů mezi dvěma body. Je možné snížit letadlo rozhodnutí graf, v němž vrcholy - Města - jsou propojeny žebry, který je možný silnice. Každá cesta má svou vlastní délku, a proto cestovat na ní bude muset utratit nějaké peníze. Toto množství je ekvivalentní hmotnosti hran v grafu. Pak je problém v praxi lze formulovat takto: Jak vytvořit cestu z jednoho města do druhého, které mají být vynaloženy na silnici minimálními prostředky.

způsoby, jak řešit

K vyřešení tohoto problému jsme byli vynalezl některé algoritmy, které se staly široce známými ve vědeckém světě řešit. Například Floyd algoritmus - Uorshella, Ford - Bellman. Klasický způsob, jak najít řešení, je také Dijkstrův algoritmus. Může být použit pro vážený (známé hmotnosti každé hrany) v grafu, a ředit. Při hledání nejvhodnějšího způsobu je nutné provést několik kroků.

Dijkstrův algoritmus

Smyslem tohoto způsobu spočívá v tom, že všechny vrcholy nákladů, počínaje daná, přičemž každá značka je přiřazena určitou hodnotu. Pak výsledek bude obsahovat vrcholy, jejichž štítky jsou minimální. Na horní část první počátečním kroku budou označeny s hodnotou 0. Potom se všechny tyto píky jsou považovány, tedy těch, které může být dosaženo ze zdroje. Jsou označeny, jehož hodnota je určena jako součet zdrojového kódu a hmotnosti cest. Z vrcholu k dalšímu kroku, vyberte ten, který má nejmenší hodnotu štítku a studoval všechny vrcholy v tom, že z ní můžeme jít bez použití mezilehlých uzlů. Zadejte nový štítek rovnající se štítky vrcholy - zdrojový kód, plus hmotnost cesty. Pokud je hodnota menší než horní štítek, štítek se změní. V opačném případě zůstane původní hodnota. Zároveň se v samostatném poli, jejíž rozměr je roven počtu vrcholů, uloží výsledek optimalizace, ve kterém a rozhodným způsobem. Implementovat metody, jako Dijkstrův algoritmus, Pascal nabízí velmi pohodlný způsob. Algoritmus má tu výhodu, že může být snadno základem pro program, který má malou velikost. Příklady takových softwarových produktů snadno najít na internetu.

DLE řešení různé nástroje, které lze použít za úkol najít optimální cestu. Pro řešení, jako Dijkstrův algoritmus, bude Delphi vytvořit výhodnou formu vizuální datový vstup a výstup konečný výsledek.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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