Komputer, Programming
Algoritma Dijkstra lan menehi implementasine
Ana area kapisah disebut teori graph ing matématika lan èlmu komputer. Minangka bagéan saka pesawat lan kanggo ngatasi macem-macem masalah, kayata nemokake path paling cedhak antarane vertex. Salah umum ing antawisipun para matématikawan cara mecahaken masalah iki wis dawa wis algoritma sing Dijkstra kang.
Punika pitados bilih ing pemanggih saka graph iki sijine menyang dienggo ing abad kaping wolulas Leonardom Eylerom. Iku kang announced ngrumusake lan solusi saka salah siji masalah klasik teori iki - pitu kreteg Königsberg. Supaya kanggo nerangake obyek teori iki kerep nggunakake analogi iki minangka gerakan ing antarané kutha beda. Banjur graph ing bidang bakal kabeh diagram rute, ngendi vertex dadi item tartamtu (contone, kutha), lan sudhut - path saka siji pucuk liyane (analog dalan antarane kutha). algoritma Dijkstra kang, saliyane cara liyane, bisa nyedhiyani solusi kanggo masalah iki.
Salah tugas umum teori graph iku salah siji sing kudu nemtokake path biaya optimal antarane loro nilai. Sampeyan bisa nyuda bidang kaputusan saka graph kang vertex - cities - sing igo interconnected, kang dalan bisa. Saben dalan wis dawa dhewe, mulane, lelungan ing iku kudu nglampahi dhuwit sawetara. Iki jumlah padha karo bobot saka sudhut ing graph ing. Banjur masalah ing laku bisa dirumuske minangka nderek: carane pave cara saka siji kota maring kota liyane, ngginakaken ing liya minimal dalan.
cara kanggo ngatasi
Kanggo ngatasi masalah kita wis nemokke dening sawetara kalkulus sing wis dadi dikenal ing donya ngelmu. Contone, algoritma Floyd - Uorshella, Renault - Bellman. Cara klasik nemokake solusi uga algoritma Dijkstra kang. Bisa digunakake kanggo bobot (bobot dikenal saka saben pojok) graph, lan kanggo dilute. Kanggo nemokake cara pokok sampeyan kudu nggawe sawetara langkah.
algoritma Dijkstra kang
Titik cara iki dumunung ing kasunyatan sing kabeh vertex saka biaya, diwiwiti karo diwenehi, endi saben tag diutus Nilai tartamtu. Banjur asil kalebu vertex kang label sing paling tithik. Ing ndhuwur langkah dhisikan pisanan bakal diwenehi karo nilai 0. Banjur, kabeh saka pucuk ngisor iki dianggep, sing, sing bisa tekan saka sumber. Lagi cap, nilai kang wis ditemtokake minangka jumlah kode sumber lan bobot saka dalan. Saka ndhuwur langkah sabanjure, pilih salah siji sing nduweni nilai paling cilik saka label, lan sinau kabeh vertex ing saka iku kita bisa pindhah tanpa nggunakake kelenjar penengah. Nemtokake label anyar witjaksono kanggo menang label - kode sumber plus bobot saka cara. Yen nilai kurang saka label ndhuwur, label wis diganti. Yen ora, iku tetep nilai asli. Ing wektu sing padha ing Uploaded kapisah, kang ukuran padha karo nomer vertex, iku nyimpen asil Optimization, kang lan cara ditemtokake. Kanggo ngleksanakake cara kayata algoritma Dijkstra kang, Pascal nawakake liya banget trep. algoritma nduweni kauntungan sing bisa gampang dadi basis kanggo program sing nduweni ukuran cilik. Conto produk lunak kuwi gampang golek ing internet.
Similar articles
Trending Now