Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Python koordináták

854
Írjon egy programot, amely megkapja N darab (1<=N<=40) pont (x,y) koordinátáját (0<=|x|<=1000
és 0<=|y|<=1000). Két pont (a és b) távolságát számítsuk a következő képlet segítségével
min(|ax - bx|, |ay - by|). A program válasszon egy alkalmas kiinduló pontot és adja meg azt a
bejárási útvonalat (az útvonalhoz a pontok sorszámát használjuk), amelynek segítségével minden
pontot pontosan egyszer érintünk és a bejárt távolság a lehető legkisebb. Ha több megoldás is van,
akkor a pontok sorszáma szerint NÖVEKVŐ sorrend szerint történjen a bejárás.
Jelenleg 1 felhasználó nézi ezt a kérdést.
infó, python, bejárás, Algoritmus
0
Felsőoktatás / Informatika

Válaszok

1
Ha fix lenne a kezdőpont vagy random, akkor azt mondanám, hogy vezesd vissza dijkstra algoritmusra, de ez így már nem annyira egyszerű.
Én azt mondanám anélkül, hogy utánanéztem volna, hogy random válassz egy pontot és nézd meg, hogy ahhoz mi van a legközelebb (mármint melyik pont). A két pont által meghatározott élet vedd be az útba. Majd nézd meg, hogy a két pont közül melyik az a csúcs, ami a legközelebb van. Majd a legközelebbi éllel vedd be az útba. Majd ismét az út két végpontját hasonlítsd össze a többi csúccsal, hogy melyik van a legközelebb és azt vedd be. És így tovább.
Így a program nem egy alkalmas kiinduló pontot választ, hanem egy random pontot és abból építi fel az utat. Nem tudom, hogy ez baj-e, de én először ezzel próbálkoznék.

Gyorsan összedobtam egy egyszerű szemléltető ábrát. Tehát az i-edik lépésnél már van valamilyen utad. Megnézed, hogy melyik a következő csúcs, amit beveszel az alapján, hogy az E vagy F van közelebb, és megnézed, hogy melyik csúcshoz. Ez az csúcs az E, még pedig az e1 él miatt. Ezután megint megnézed, hogy az eddigi utad két végpontja közül melyikhez van közelebb csúcs stb.
Remélem ebből látszik, hogy mire gondolok.
0