Forum » Programiranje » [C++] Eulerjev obhod oz. Fleuryjev algoritem
[C++] Eulerjev obhod oz. Fleuryjev algoritem
alfi ::
LP
Pri matematiki imamo projektno nalo o Eulerjevem obhodu, poleg teoretične vsebine moramo izdelati tudi nekakšen program... implementirati fleuryjev algoritem v C++ ali v R. Ker je programiranje zame kot slepa ulica, bi prosil nekoga če mi poda kakšen primer oz. navodila kako se implementira graf.
hvala
Pri matematiki imamo projektno nalo o Eulerjevem obhodu, poleg teoretične vsebine moramo izdelati tudi nekakšen program... implementirati fleuryjev algoritem v C++ ali v R. Ker je programiranje zame kot slepa ulica, bi prosil nekoga če mi poda kakšen primer oz. navodila kako se implementira graf.
hvala
dolenc ::
Najlažje je kot neko matriko, sosednjosti ali pa incidenčno matriko. Glede na to da se boš z algoritmom premikal po povezavah bo tadruga verjetno bolša izbira.
V C++, uporabiš za določevanje matrike 2d polje(tabelo), v R pa imaš direkt matriko
Primerček
Se pravi določiš vrednosti po vrsticah, število vrstic, število stolpcev in kako jih zloži.
Prvo preveriš če so vse točke sode, že če ta pogoj ni izpolnjen ni E graf, to lahko nekako tako narediš da prebereš celo vrstico (za eno vozlišče) in če je seštevk vseh v vrstici % 2 == 0 potem ima to vozlišče sodo število povezav.
Za E obhod pa potem preletavaš vrstice in stolpce(dve for zanki) in iščeš povezave (torej 1 v matriki). Tko se premikaš po matriki in če končaš v tisti vrstici kjer si začel in si šeč čez vse povezave, je to to :)
V C++, uporabiš za določevanje matrike 2d polje(tabelo), v R pa imaš direkt matriko
Primerček
A <- matrix ( c(0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0 ), nrow = 5, ncol = 5, byrow = TRUE)
Se pravi določiš vrednosti po vrsticah, število vrstic, število stolpcev in kako jih zloži.
Prvo preveriš če so vse točke sode, že če ta pogoj ni izpolnjen ni E graf, to lahko nekako tako narediš da prebereš celo vrstico (za eno vozlišče) in če je seštevk vseh v vrstici % 2 == 0 potem ima to vozlišče sodo število povezav.
Za E obhod pa potem preletavaš vrstice in stolpce(dve for zanki) in iščeš povezave (torej 1 v matriki). Tko se premikaš po matriki in če končaš v tisti vrstici kjer si začel in si šeč čez vse povezave, je to to :)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C++] NalogeOddelek: Programiranje | 4035 (2366) | LordiBoy |
» | Kaj pa, če so nevtrini vendarle hitrejši od svetlobe?Oddelek: Novice / Znanost in tehnologija | 9818 (8367) | one too many |
» | Rubik's cube - algoritemOddelek: Programiranje | 3298 (2842) | urosz |
» | mnozenje matrikOddelek: Programiranje | 4729 (4391) | Vesoljc |
» | problem v c++ kako prebrati matriko?Oddelek: Programiranje | 1390 (1207) | robinzon |