Azərbaycan  AzərbaycanDeutschland  DeutschlandLietuva  LietuvaMalta  Maltaශ්‍රී ලංකාව  ශ්‍රී ලංකාවTürkmenistan  TürkmenistanTürkiyə  TürkiyəУкраина  Украина
Pagalba
www.datawiki.lt-lt.nina.az
  • Pradžia

Hamiltono maršrutas maršrutas grafe kuriuo galima pereiti visas jo viršūnes po vieną kartą Jei tokiu maršrutu grįžtama į

Hamiltono maršrutas

  • Pagrindinis puslapis
  • Hamiltono maršrutas
Hamiltono maršrutas
www.datawiki.lt-lt.nina.azhttps://www.datawiki.lt-lt.nina.az

Hamiltono maršrutas - maršrutas grafe, kuriuo galima pereiti visas jo viršūnes po vieną kartą. Jei tokiu maršrutu grįžtama į pradinę viršūnę, jis vadinamas Hamiltono ciklu, jei ne - Hamiltono keliu arba Hamiltono grandine. Pavadinimas kilo nuo pavardės matematiko Viljamo Rovano Hamiltono, 1857 m. sukūrusio žaidimą, kuriame reikėjo apeiti visas dodekaedro (tiksliau - jį atitinkančio grafo) viršūnes einant jo briaunomis.

Egzistavimo sąlygos

Nėra žinoma jokios paprastos būtinos ir pakankamos Hamiltono maršruto egzistavimo sąlygos.

Taikymai

Uždavinys, kai pilnajame svoriniame grafe ieškoma minimalaus Hamiltono ciklo, vadinamas keliaujančio pirklio uždaviniu ir taikomas logistikoje.

Algoritmas Hamiltono ciklui rasti C++ kalba:

 /* Paste your code here (You may delete these lines if not writing code) */ // Program to print Hamiltonian cycle #include<stdio.h> // Number of vertices in the graph #define V 5 void print(int soln[V]) { int i,j; printf("solution exists\n"); for(i=0;i<V;i++,printf("\n")) //for(j=0;j<V;j++) printf("%d ",soln[i]); printf("\n\n"); } int findcycle(int graph[V][V],int soln[],int pos,int c,int path[]) { if(c==V) return graph[pos][0]; int i; for(i=0;i<V;i++) { if(graph[pos][i] && soln[i]==0) { soln[i]=1,path[c]=i; if(findcycle(graph,soln,i,c+1,path)) return 1; soln[i]=0; } } return 0; } void hamCycle(int graph[V][V]) { int soln[V]={0},path[V]={0}; soln[0]=1; if(findcycle(graph,soln,0,1,path)) print(path); else printf("no soln\n"); } int main() { /* Let us create the following graph (0)--(1)--(2) | / \ | | / \ | | / \ | (3)-------(4) */ int graph1[V][V] = {{0, 1, 0, 1, 0}, {1, 0, 1, 1, 1}, {0, 1, 0, 0, 1}, {1, 1, 0, 0, 1}, {0, 1, 1, 1, 0}, }; // Print the solution hamCycle(graph1); /* Let us create the following graph (0)--(1)--(2) | / \ | | / \ | | / \ | (3) (4) */ int graph2[V][V] = {{0, 1, 0, 1, 0}, {1, 0, 1, 1, 1}, {0, 1, 0, 0, 1}, {1, 1, 0, 0, 0}, {0, 1, 1, 0, 0}, }; // Print the solution hamCycle(graph2); return 0; } 


Išnašos

  1. Kostas Plukas, Eugenijus Mačikėnas, Birutė Jarašiūnienė, Irena Mikuckienė „Taikomoji diskrečioji matematika“, Kaunas, „Technologija“, 2007


Vikiteka: Hamiltono maršrutas – vaizdinė ir garsinė medžiaga
   Šis su matematika susijęs straipsnis yra nebaigtas. Jūs galite prisidėti prie Vikipedijos papildydami šį straipsnį.

Autorius: www.NiNa.Az

Išleidimo data: 19 Lie, 2025 / 06:21

vikipedija, wiki, lietuvos, knyga, knygos, biblioteka, straipsnis, skaityti, atsisiųsti, nemokamai atsisiųsti, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, pictu, mobilusis, porn, telefonas, android, iOS, apple, mobile telefl, samsung, iPhone, xiomi, xiaomi, redmi, pornografija, honor, oppo, Nokia, Sonya, mi, pc, web, kompiuteris, Informacija apie Hamiltono maršrutas, Kas yra Hamiltono maršrutas? Ką reiškia Hamiltono maršrutas?

Hamiltono marsrutas marsrutas grafe kuriuo galima pereiti visas jo virsunes po viena karta Jei tokiu marsrutu grįztama į pradine virsune jis vadinamas Hamiltono ciklu jei ne Hamiltono keliu arba Hamiltono grandine Pavadinimas kilo nuo pavardes matematiko Viljamo Rovano Hamiltono 1857 m sukurusio zaidima kuriame reikejo apeiti visas dodekaedro tiksliau jį atitinkancio grafo virsunes einant jo briaunomis Hamiltono ciklas grafe atitinkanciame dodekaedraEgzistavimo salygosNera zinoma jokios paprastos butinos ir pakankamos Hamiltono marsruto egzistavimo salygos TaikymaiUzdavinys kai pilnajame svoriniame grafe ieskoma minimalaus Hamiltono ciklo vadinamas keliaujancio pirklio uzdaviniu ir taikomas logistikoje Algoritmas Hamiltono ciklui rasti C kalba Paste your code here You may delete these lines if not writing code Program to print Hamiltonian cycle include lt stdio h gt Number of vertices in the graph define V 5 void print int soln V int i j printf solution exists n for i 0 i lt V i printf n for j 0 j lt V j printf d soln i printf n n int findcycle int graph V V int soln int pos int c int path if c V return graph pos 0 int i for i 0 i lt V i if graph pos i amp amp soln i 0 soln i 1 path c i if findcycle graph soln i c 1 path return 1 soln i 0 return 0 void hamCycle int graph V V int soln V 0 path V 0 soln 0 1 if findcycle graph soln 0 1 path print path else printf no soln n int main Let us create the following graph 0 1 2 3 4 int graph1 V V 0 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 Print the solution hamCycle graph1 Let us create the following graph 0 1 2 3 4 int graph2 V V 0 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 Print the solution hamCycle graph2 return 0 IsnasosKostas Plukas Eugenijus Macikenas Birute Jarasiuniene Irena Mikuckiene Taikomoji diskrecioji matematika Kaunas Technologija 2007 Vikiteka Hamiltono marsrutas vaizdine ir garsine medziaga Sis su matematika susijes straipsnis yra nebaigtas Jus galite prisideti prie Vikipedijos papildydami sį straipsnį

Naujausi straipsniai
  • Liepa 19, 2025

    Mantviliškių koplyčia

  • Liepa 19, 2025

    Mantas Gimžauskas

  • Liepa 19, 2025

    Mangėliškės

  • Liepa 19, 2025

    Mamu regionas

  • Liepa 19, 2025

    Malų Plocko Šv. Kryžiaus parapija

www.NiNa.Az - Studija

    Susisiekite
    Kalbos
    Susisiekite su mumis
    DMCA Sitemap
    © 2019 nina.az - Visos teisės saugomos.
    Autorių teisės: Dadash Mammadov
    Nemokama svetainė, kurioje galima dalytis duomenimis ir failais iš viso pasaulio.
    Viršuje