Znate li zašto je dalje u ravnoj liniji nego u luku? Određivanje udaljenosti između dvaju usporednih pravaca Kolika je najkraća udaljenost između dviju točaka
Put duž isprekidane linije na slici je kraći od puta duž pune linije. A sada malo detaljnije na primjeru morskih ruta:
Ako plovite stalnim kursom, tada je putanja kretanja broda duž Zemljina površina bit će krivulja koja se u matematici zove logaritamskispirala.
U navigaciji se ova složena linija dvostruke zakrivljenosti naziva loksodromija, što na grčkom znači "kosi hod".
Međutim, najkraća udaljenost između dviju točaka na globusu mjeri se duž luka velike kružnice.
Luk velikog kruga dobiva se kao trag iz sjecišta zemljine površine s ravninom koja prolazi kroz središte Zemlje, uzeta kao lopta.
U navigaciji se veliki kružni luk naziva veliki krug, što znači "ravno trčanje". Druga značajka velikog kruga je da siječe meridijane pod različitim kutovima (slika 29).
Razlika u udaljenosti između dviju točaka na zemljinoj površini duž loksodroma i ortodrome od praktične je važnosti samo za velika prelaženja oceana.
U normalnim uvjetima ta se razlika zanemaruje i plovidba se odvija stalnim kursom, tj. po loksodromu.
Da bismo izveli jednadžbu, uzimamo loksodromije (Sl. 30, a) dvije točkice ALI i NA, udaljenost između njih je jednostavno mala. Crtajući meridijane i paralelu kroz njih, dobivamo elementarni pravokutni sferni trokut ABC. U tom trokutu kut koji tvori sjecište meridijana i paralele je prav, a kut PnAB jednak kursu broda K. Katet AC predstavlja segment meridijanskog luka i može se izraziti
gdje R - radijus Zemlje uzet kao sfera;
Δφ - elementarni prirast geografske širine (razlika geografskih širina).
noga SW predstavlja lučni segment paralelan
gdje je r - radijus paralele;
Δλ - elementarna razlika zemljopisnih dužina.
Iz trokuta OO 1 C može se naći da
Zatim u konačnom obliku nogu SW može se izraziti ovako:
Uz pretpostavku elementarnog sfernog trokuta ABC za stan, napišite
Nakon smanjenja R i zamjenom elementarnih malih inkremenata koordinata infinitezimalnima, imamo
Dobiveni izraz integriramo u rasponu od φ 1, λ 1 do φ 2, λ 2 uzimajući u obzir vrijednost tgK kao konstantnu vrijednost:
Na desnoj strani imamo tablični integral. Nakon što zamijenimo njegovu vrijednost, dobivamo jednadžbu loksodroma na lopti
Analiza ove jednadžbe omogućuje nam da izvučemo sljedeće zaključke:
Na kursevima od 0 i 180 °, loksodrom se pretvara u luk velike kružnice - meridijan;
Na kursevima od 90 i 270 °, loksodrom se poklapa s paralelom;
Loksodrom prelazi svaku paralelu samo jednom, a svaki meridijan nebrojeno puno puta. oni. spiralno se približava polu, ne doseže ga.
Plovidba u stalnom kursu, odnosno po loksodromu, iako to nije najkraća udaljenost između dviju točaka na Zemlji, predstavlja znatnu pogodnost za navigatora.
Zahtjevi za pomorsku navigacijsku kartu mogu se formulirati na temelju prednosti plovidbe duž loksodroma i rezultata analize njegove jednadžbe kako slijedi.
1. Loksodrom, koji siječe meridijane pod stalnim kutom, trebao bi biti prikazan kao ravna linija.
2. kartografska projekcija, koji se koristi za izradu karata, mora biti jednakokutan tako da kursevi, smjerovi i kutovi na njemu odgovaraju njihovoj vrijednosti na tlu.
3. Meridijani i paralele, kao i linije kursa 0, 90, 180° i 270°, moraju biti međusobno okomite ravne linije.
Najkraća udaljenost između dviju danih točaka na površini Zemlje, uzeta kao sfera, je manji od lukova velike kružnice koji prolaze kroz te točke. Osim u slučaju kada brod prati meridijan ili ekvator, veliki krug siječe meridijane pod različitim kutovima. Stoga brod koji slijedi takvu krivulju mora cijelo vrijeme mijenjati svoj kurs. Praktično je praktičnije slijediti kurs koji s meridijanima čini stalni kut i koji se na karti u Mercatorovoj projekciji prikazuje ravnom linijom - loksodromom. Međutim, na velikim udaljenostima razlika u duljini ortodrome i loksodrome doseže značajnu vrijednost. Stoga se u takvim slučajevima računa ortodroma i na njoj se označavaju međutočke, između kojih se pliva po loksodromi.
Kartografsku projekciju koja udovoljava navedenim zahtjevima predložio je nizozemski kartograf Gerard Cramer (Mercator) 1569. godine. U čast svog tvorca projekcija je nazvana Mercator.
A tko želi dobiti još više zanimljiva informacija Saznajte više Izvorni članak nalazi se na web stranici InfoGlaz.rf Link na članak iz kojeg je napravljena ova kopija -
DALJINA, daljine, usp. 1. Prostor koji odvaja dvije točke, jaz između nečega. Najkraća udaljenost između dviju točaka na ravnoj liniji. Živi od nas na udaljenosti od dva kilometra. “Komandant ih je pustio unutra na najbližoj udaljenosti... Rječnik Ushakov
udaljenost- imenica, s., upotreba. često Morfologija: (ne) što? udaljenost za što? udaljenost, (vidjeti) što? udaljenost nego? udaljenost, što? o udaljenosti; pl. što? udaljenost, (ne) što? udaljenosti, zašto? daljine, (vidjeti) što? udaljenost nego? udaljenosti... Rječnik Dmitrieva
udaljenost- ja; usp. Prostor koji razdvaja dvije točke, dva predmeta itd., jaz između nekoga, nego l. Najkraća rijeka između dvije točke. R. od kuće do škole. Povucite se do obližnje rijeke. Na udaljenosti od jednog metra, raširenih ruku. Znati nešto, osjetiti nešto. na…… enciklopedijski rječnik
udaljenost- ja; usp. vidi također udaljenost a) Prostor koji dijeli dvije točke, dva predmeta itd., razmak između nekoga, nego l. Najkraća udaljenost između dvije točke. Udaljenost od kuće do škole. Povucite se na malu udaljenost / nie ... Rječnik mnogih izraza
GEOMETRIJA- grana matematike koja proučava svojstva raznih oblika (točaka, linija, kutova, dvodimenzionalnih i trodimenzionalnih predmeta), njihovu veličinu i međusobni položaj. Radi lakšeg poučavanja, geometrija se dijeli na planimetriju i geometriju tijela. NA…… Collier Encyclopedia
Navigacija*
Navigacija- odjel za navigaciju (vidi), završavajući prezentacijom načina određivanja mjesta broda na moru, pomoću kompasa i dnevnika (vidi). Odrediti mjesto broda na moru znači staviti na kartu točku u kojoj se brod nalazi ovaj trenutak nalazi se.…… Enciklopedijski rječnik F.A. Brockhaus i I.A. Efron
COGEN- (Cohen) Hermann (1842. 1918.) njemački filozof, utemeljitelj i najistaknutiji predstavnik marburške škole neokantijanizma. Glavna djela: 'Kantova teorija iskustva' (1885), 'Kantovo opravdanje etike' (1877), 'Kantovo opravdanje estetike' (1889), 'Logika… ...
Kant Imanuel- Životni put i spisi Kanta Immanuel Kant rođen je u Konigsbergu (danas Kaliningrad) u Istočnoj Pruskoj 1724. Otac mu je bio sedlar, a majka domaćica, šestero njihove djece nije doživjelo punoljetnost. Kant se uvijek sjećao svojih roditelja s ... ... Zapadna filozofija od svojih početaka do danas
KANTOVA KRITIČKA FILOZOFIJA: DOKTRINA O SPOSOBNOSTIMA- (La philosophie critique de Kant: Doctrines des facultes, 1963) od Deleuzea. Opisujući transcendentalnu metodu u uvodu, Deleuze napominje da Kant shvaća filozofiju kao znanost o odnosu sveg znanja prema bitnim ciljevima... ... Povijest filozofije: Enciklopedija
princip farme- osnovni princip geometrijske optike (Vidi Geometrijska optika). Najjednostavniji oblik F. p. je izjava da se zraka svjetlosti uvijek širi u prostoru između dviju točaka na stazi duž koje je vrijeme njezina prolaska manje od ... Velik sovjetska enciklopedija
(nacrtna geometrija)(nacrtna geometrija)
Određivanje udaljenosti dviju paralelnih ravnina
Određivanje udaljenosti dviju paralelnih ravnina u općem položaju 01| x zgodno ga je svesti na problem određivanja udaljenosti između istih dviju ravnina, transformiranih u položaj projiciranih. U ovom slučaju, udaljenost između ravnina definirana je kao okomica između linija, ...(nacrtna geometrija)
Određivanje udaljenosti između dviju linija koje se sijeku
Ako želite odrediti najkraću udaljenost između dviju linija koje se sijeku, morate dva puta promijeniti sustave ravnina projekcije. Prilikom rješavanja ovog problema izravna CD (CXDX, C2D2) prikazan kao točka C5 = D5(Slika 198). Udaljenost od ove točke do projekcije A5B5 jednako...(nacrtna geometrija)
Kut između dviju ravnih linija koje se sijeku
Ovo je kut između dviju linija koje se sijeku i koje su paralelne s podacima. Dakle, ovaj zadatak je sličan prethodnom. Da biste ga riješili, potrebno je uzeti proizvoljnu točku i kroz nju povući dva pravca paralelna sa zadanim kosopravama, te pomoću transformacije projekcije odrediti traženi kut....(Osnove nacrtne geometrije. Kratki tečaj i zbirka zadataka.)
Određivanje udaljenosti između dva paralelna pravca
Problem se rješava metodom dvostruke zamjene ravnina projekcija. U završnoj fazi jedna od ravnina projekcije mora biti okomita na jednu od linija koje se sijeku. Tada je najkraći razmak između njih određen vrijednošću segmenta okomice na drugu zakrivljenu liniju (slika 199)....(nacrtna geometrija)
Nakon što je kredom ocrtao dvije točke na ploči, učitelj mladom učeniku daje zadatak: nacrtati najkraći put između obje točke.
Učenik, nakon razmišljanja, marljivo povlači vijugavu liniju između njih.
- To je najkraći put! učiteljica je iznenađena. - Tko te to naučio?
- Moj otac. On je taksist.
Crtež naivnog školarca je, naravno, anegdotalan, ali ne biste se nasmiješili kad bi vam rekli da je točkasti luk na sl. 1 je najkraći put od Rta dobre nade do južnog vrha Australije!
Još je upečatljivija sljedeća izjava: prikazana na sl. 2 povratna putovanja od Japana do Panamskog kanala kraća je od ravne crte povučene između njih na istoj karti!
Riža. 1. Uključeno morska karta najkraći put od Rta dobre nade do južnog vrha Australije nije označen ravnom linijom ("loksodrom"), već krivuljom ("ortodromija")
Sve ovo izgleda kao šala, ali u međuvremenu pred vama su nepobitne istine, dobro poznate kartografima.
Riža. 2. Čini se nevjerojatnim da je zakrivljeni put koji povezuje Yokohamu na pomorskoj karti s Panamskim kanalom kraći od ravne linije povučene između istih točaka
Da bismo razjasnili problem, treba reći nekoliko riječi o kartama općenito, a posebno o pomorskim kartama. Crtanje dijelova zemljine površine na papir nije lak zadatak, čak ni u principu, jer je Zemlja kugla, a poznato je da se nijedan dio sferne površine ne može rasporediti na ravninu bez nabora i lomova. Nehotice se mora pomiriti s neizbježnim iskrivljenjima na kartama. Izumljeno je mnogo načina crtanja karata, ali nisu sve karte lišene nedostataka: neke imaju iskrivljenja jedne, druge druge vrste, ali nema karata bez iskrivljenja.
Pomorci koriste karte nacrtane prema metodi starog nizozemskog kartografa i matematičara iz 16. stoljeća. Mercator. Ova metoda se naziva Mercatorova projekcija. Pomorsku kartu lako je prepoznati po pravokutnoj mreži: meridijani su na njoj prikazani kao niz paralelnih ravnih linija; krugovi zemljopisne širine - također u ravnim crtama okomito na prvi (vidi sl. 5).
Zamislite sada da želite pronaći najkraći put od jedne oceanske luke do druge na istoj paraleli. Na oceanu su svi putevi dostupni, a tamo se uvijek može putovati najkraćim putem ako se zna kako leži. U našem slučaju prirodno je misliti da najkraći put ide uzduž paralele na kojoj leže obje luke: uostalom, na karti je to ravna crta, a što može biti kraće od ravnog puta! Ali varamo se: put uz paralelu uopće nije najkraći.
Doista: na površini kugle, najkraća udaljenost između dviju točaka je luk velikog kruga koji ih povezuje. Ali krug paralele mali krug. Luk velike kružnice je manje zakrivljen od luka bilo koje male kružnice povučene kroz iste dvije točke: veći radijus odgovara manjoj zakrivljenosti. Povucite konac na globusu između naše dvije točke (usp. sl. 3); uvjerit ćete se da uopće ne leži uz paralelu. Čvrsta nit - neosporan pokazatelj najkraći put, a ako se ne poklapa s paralelom na globusu, tada na pomorskoj karti najkraći put nije označen ravnom linijom: podsjetimo da su krugovi paralela na takvoj karti prikazani ravnim crtama, svaka linija koja ne podudaraju se s ravnom linijom zavoj .
Riža. 3. Jednostavan način da pronađete stvarno najkraći put između dvije točke: između tih točaka trebate povući konac na globusu
Nakon rečenog postaje jasno zašto je najkraća staza na pomorskoj karti prikazana ne kao ravna, već kao zakrivljena linija.
Kažu da pri odabiru smjera za Nikolaevskaya (sada Oktyabrskaya) željeznička pruga vodile su se beskrajne rasprave o tome na koji način ga položiti. Sporovima je stala na kraj intervencija cara Nikole I., koji je problem riješio doslovce "direktno": linijom je povezao Petrograd s Moskvom. Da je to učinjeno na Mercatorovoj karti, bilo bi to neugodno iznenađenje: umjesto ravne linije, cesta bi bila krivulja.
Tko ne izbjegava kalkulacije, može se jednostavnom računicom uvjeriti da je put koji nam se na karti čini zakrivljenim zapravo kraći od onog koji smo spremni smatrati ravnim. Neka naše dvije luke leže na 60. paraleli i međusobno su udaljene 60°. (Postoje li takve dvije luke stvarno nije bitno za izračun.)
Riža. 4. Izračunu udaljenosti između točaka A i B na lopti po luku paralele i po luku velike kružnice
Na sl. 4 boda O - centar globus, AB - luk kruga zemljopisne širine na kojem leže luke A i B; u njezinih 60°. Središte kruga geografske širine je u točki IZ Zamislite to iz centra O globusa je kroz iste luke povučen veliki kružni luk: njegov radijus OB = OA = R; proći će blizu nacrtanog luka AB, ali ne poklapa se.
Izračunajmo duljinu svakog luka. Budući da bodovi ALI i NA leže na zemljopisnoj širini od 60°, zatim radijusi OA i OV pomiriti se OS(osi globusa) kut od 30°. U pravokutnom trokutu ASO noga AC (=r), koja leži nasuprot kutu od 30° jednaka je polovici hipotenuze dd;
sredstva, r=R/2 Dužina luka AB je jedna šestina duljine kruga zemljopisne širine, a budući da ovaj krug ima polovicu duljine velikog kruga (što odgovara polovici polumjera), tada je duljina luka malog kruga
Da bismo sada odredili duljinu luka velike kružnice povučene između istih točaka (tj. najkraći put između njih), moramo znati veličinu kuta AOW. Akord KAO, oduzimajući luk do 60 ° (mali krug), je stranica pravilnog šesterokuta upisana u isti mali krug; zato AB \u003d r \u003d R / 2
Crtanje ravne linije od, središte povezivanja O globus sa sredinom D akordi AB, dobiti pravokutni trokut ODA, gdje je kut D- ravno:
DA= 1/2 AB i OA=R.
sinAOD=AD: AO=R/4:R=0,25
Odavde nalazimo (prema tablicama):
=14°28",5
i zbog toga
= 28°57".
Sada nije teško pronaći željenu duljinu najkraće staze u kilometrima. Izračun se može pojednostaviti ako se sjetimo da je duljina minute velikog kruga na zemaljskoj kugli
Saznajemo da je put po krugu širine, prikazanom na pomorskoj karti ravnom linijom, 3333 km, a put po velikom krugu - po krivulji na karti - 3213 km, tj. 120 km kraći.
Naoružani koncem i globusom pri ruci, lako možete provjeriti točnost naših crteža i uvjeriti se da lukovi velikih krugova doista leže kao što je prikazano na crtežima. Prikazano na sl. 1 kao da je "ravna" morska ruta od Afrike do Australije 6020 milja, a "krivulja" - 5450 milja, tj. kraća za 570 milja, odnosno 1050 km. "Izravna" zračna ruta na pomorskoj karti od Londona do Šangaja prolazi kroz Kaspijsko jezero, dok stvarno najkraća ruta leži sjeverno od St. Jasno je kakvu ulogu ova pitanja imaju u uštedi vremena i goriva.
Ako se u eri plovidbenog broda vrijeme nije uvijek cijenilo - tada se "vrijeme" još nije smatralo "novcem", tada se s pojavom parnih brodova mora platiti za svaku dodatnu potrošenu tonu ugljena. Zato danas brodovi plove stvarno najkraćim putem, često koristeći karte napravljene ne u Mercatoru, već u takozvanoj "centralnoj" projekciji: na tim su kartama lukovi velikih kružnica prikazani kao ravne linije.
Zašto su se onda bivši moreplovci služili takvim varljivim kartama i birali nepovoljne putove? Pogrešno je misliti da u stara vremena nisu znali za danas naznačeno obilježje pomorskih karata. Stvar se objašnjava, naravno, ne time, već činjenicom da karte iscrtane po Mercatorovoj metodi, uz neugodnosti, imaju itekako dragocjene koristi za nautičare. Takva karta, prvo, prikazuje odvojene male dijelove zemljine površine bez izobličenja, čuvajući kutove konture. Tome ne proturječi činjenica da se s udaljenošću od ekvatora sve konture primjetno rastežu. Na visokim geografskim širinama rastezanje je toliko značajno da morska karta nadahnjuje osobu koja nije upoznata s njegovim značajkama s potpuno lažnom idejom o pravoj veličini kontinenata: čini se da je Grenland iste veličine kao Afrika, Aljaska je veća od Australije, iako je Grenland 15 puta manji od Afrike, a Aljaska zajedno s Grenlandom upola manja od Australije. Ali mornar koji je dobro upoznat s ovim značajkama karte ne može ih zavesti. On ih podnosi, tim više što na malim površinama morska karta daje točnu sliku prirode (sl. 5).
S druge strane, pomorska karta uvelike olakšava rješavanje zadataka plovidbene prakse. Ovo je jedina vrsta karata na kojima je putanja broda na stalnom kursu prikazana kao ravna linija. Slijediti "konstantan kurs" znači uvijek se držati jednog smjera, jednog određenog "loksfa", drugim riječima, ići tako da prelaziš sve meridijane pod jednakim kutom. Ali ovaj put ("loxodrome") može se prikazati kao ravna linija samo na karti na kojoj su svi meridijani ravne linije paralelne jedna s drugom. A budući da se na globusu krugovi zemljopisne širine sijeku s meridijanima pod pravim kutom, tada bi na takvoj karti krugovi zemljopisne širine trebali biti ravne linije okomite na linije meridijana. Ukratko, dolazimo upravo do koordinatne mreže koja je karakteristična za pomorsku kartu.
Riža. 5. Pomorska ili Mercatorova karta globusa. Na takvim su kartama dimenzije kontura daleko od ekvatora jako preuveličane. Što je, na primjer, veće: Grenland ili Australija? (odgovor u tekstu)
Sklonost mornara prema Mercatorovim kartama sada je razumljiva. U želji da odredi kurs koji treba slijediti pri dolasku u zadanu luku, navigator prisloni ravnalo na krajnje točke puta i mjeri kut koji ono čini s meridijanima. Držeći se na otvorenom moru cijelo vrijeme u ovom smjeru, navigator će točno dovesti brod do cilja. Vidite da je "loxodrome" iako ne najkraći i ne najekonomičniji, ali u određenom pogledu vrlo pogodan put za nautičara. Da bi se stiglo, na primjer, od Rta dobre nade do južnog vrha Australije (vidi sliku 1), mora se uvijek držati isti kurs S 87 °.50 ". U međuvremenu, kako bi se brod doveo na isto mjesto konačna točka najkraći put(prema "ortodromi"), potrebno je, kao što se vidi sa slike, kontinuirano mijenjati kurs plovila: početi od kursa S 42 °, 50" i završiti kursom N 53 °, 50 “ (u ovom slučaju, najkraći put nije niti izvediv – upire se u antarktički ledeni zid).
Oba puta - duž "loksodroma" i duž "ortodromije" - podudaraju se samo kada je put duž velikog kruga prikazan na pomorskoj karti kao ravna linija: kada se kreće duž ekvatora ili duž meridijana. U svim drugim slučajevima ti su putovi drugačiji.
Dijkstrin algoritam je grafov algoritam koji je izumio nizozemski znanstvenik Edsger Dijkstra 1959. godine. Pronalazi najkraće putove od jednog od vrhova grafa do svih ostalih. Algoritam radi samo za grafove bez bridova negativne težine.
Razmotrimo izvođenje algoritma na primjeru grafa prikazanog na slici.
Neka se traži najkraća udaljenost od 1. vrha do svih ostalih.
Krugovi označavaju vrhove, linije označavaju putove između njih (rubovi grafa). Brojevi vrhova označeni su u krugovima, njihova "cijena" - duljina staze - naznačena je iznad rubova. Pored svakog vrha označena je crvena oznaka - duljina najkraćeg puta do tog vrha od vrha 1.
Prvi korak. Razmotrimo korak u Dijkstrinom algoritmu za naš primjer. Oznaku minimuma ima vrh 1. Vrhovi 2, 3 i 6 su njegovi susjedi.
Prvi susjed vrha 1 je pak vrh 2, jer je duljina puta do njega minimalna. Duljina puta do njega kroz vrh 1 jednaka je zbroju vrijednosti oznake vrha 1 i duljine brida koji ide od 1. do 2., odnosno 0 + 7 = 7. To je manje od trenutna oznaka vrha 2, beskonačnost, tako da je nova oznaka 2. vrha 7.
Sličnu operaciju izvodimo s druga dva susjeda 1. vrha - 3. i 6.
Provjeravaju se svi susjedi čvora 1. Trenutna minimalna udaljenost do vrha 1 smatra se konačnom i ne podliježe reviziji (činjenicu da je to doista tako prvi je dokazao E. Dijkstra). Precrtajte ga na grafu da označite da je ovaj vrh posjećen.
Drugi korak. Korak algoritma se ponavlja. Opet nalazimo "najbliži" od neposjećenih vrhova. Ovo je vrh 2 označen sa 7.
Opet pokušavamo reducirati oznake susjeda odabranog vrha, pokušavajući ih proći kroz 2. vrh. Susjedi vrha 2 su vrhovi 1, 3 i 4.
Prvi (po redu) susjed vrha 2 je vrh 1. Ali on je već posjećen, tako da ne radimo ništa s 1. vrhom.
Sljedeći susjed vrha 2 je vrh 3, budući da ima minimalnu oznaku vrhova označenih kao neposjećeni. Ako idete do njega kroz 2, tada će duljina takvog puta biti jednaka 17 (7 + 10 = 17). Ali trenutna oznaka trećeg vrha je 9, što je manje od 17, tako da se oznaka ne mijenja.
Još jedan susjed vrha 2 je vrh 4. Ako idete do njega kroz 2., tada će duljina takvog puta biti jednaka zbroju najkraće udaljenosti do 2. vrha i udaljenosti između vrhova 2 i 4, tj. , 22 (7 + 15 = 22) . Od 22<, устанавливаем метку вершины 4 равной 22.
Svi susjedi vrha 2 su pregledani, zamrzavamo udaljenost do njega i označavamo ga kao posjećenog.
Treći korak. Ponavljamo korak algoritma odabirom vrha 3. Nakon njegove “obrade” dobivamo sljedeće rezultate:
Sljedeći koraci. Ponavljamo korak algoritma za preostale vrhove. To će biti vrhovi 6, 4 i 5, redom.
Završetak izvođenja algoritma. Algoritam se završava kada više nije moguće obraditi vrhove. U ovom su primjeru svi vrhovi prekriženi, ali pogrešno je pretpostaviti da će to biti slučaj u bilo kojem primjeru - neki vrhovi mogu ostati neprecrtani ako ih se ne može dosegnuti, tj. ako je graf nepovezan. Rezultat algoritma vidljiv je na zadnjoj slici: najkraći put od vrha 1 do 2 je 7, do 3 je 9, do 4 je 20, do 5 je 20, do 6 je 11.
Implementacija algoritma u različitim programskim jezicima:
C++
#include "stdafx.h" #includePascal
program DijkstraAlgorithm; usescrt; constV=6; inf=100000; tip vector=niz cijelih brojeva; var start: integer; const GR: niz cijelih brojeva=((0, 1, 4, 0, 2, 0), (0, 0, 0, 9, 0, 0), (4, 0, 0, 7, 0, 0), (0, 9, 7, 0, 0, 2), (0, 0, 0, 0, 0, 8), (0, 0, 0, 0, 0, 0)); (Dijkstrin algoritam) procedure Dijkstra(GR: niz cijelih brojeva; st: cijeli broj); var broj, indeks, i, u, m, min: cijeli broj; udaljenost: vektor; posjećeno: niz booleovih; beginm:=st; za i:=1 do V započnite udaljenost[i]:=inf; posjećeno[i]:=false; kraj; udaljenost:=0; za count:=1 do V-1 do begin min:=inf; za i:=1 do V učiniti ako (nije posjećeno[i]) i (udaljenost[i]<=min) then begin min:=distance[i]; index:=i; end; u:=index; visited[u]:=true; for i:=1 to V do if (not visited[i]) and (GR<>0) i (udaljenost[u]<>inf) i (udaljenost[u]+GRJava
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.StringTokenizer; javna klasa Rješenje ( private static int INF = Integer.MAX_VALUE / 2; private int n; //broj vrhova u digrafu private int m; //broj lukova u digrafu private ArrayListDruga opcija:
Uvezi java.io.*; import java.util.*; javna klasa Dijkstra ( privatni statički konačni Graph.Edge GRAPH = ( new Graph.Edge("a", "b", 7), new Graph.Edge("a", "c", 9), new Graph.Edge( "a", "f", 14), novi Graph.Edge("b", "c", 10), novi Graph.Edge("b", "d", 15), novi Graph.Edge("c" ", "d", 11), novi Graph.Edge("c", "f", 2), novi Graph.Edge("d", "e", 6), novi Graph.Edge("e", "f", 9), ); privatni statički konačni niz START = "a"; privatni statički konačni niz END = "e"; javni statički void main(String args) ( Graph g = new Graph(GRAPH); g.dijkstra (START); g.printPath(END); //g.printAllPaths(); ) ) klasa Graph ( privatna konačna karta