Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Salmakis« (08.07.2014, 14:32) aus folgendem Grund: nachträgeliche infos & ergänzungen, sowie rechtschreibfehler
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Ich hoffe Du führst dabei eine Liste der Positionen, die noch nicht gesetzt wurden, damit Du nicht abertausende Misses in einer total leeren Region landest oder bereits bevölkerte Felder untersuchst. Wenn ich mir die 0.5 Sekunden und die Bedingung Deines Algos aber so anschaue (was ARG lange ist), wohl eher nicht. Das sollte dringend nachgeholt werden.Eine zufällige position auf der karte auswählen
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Was man mit so einer Liste soll? Na nur die auswählen, die überhaupt in Frage kommen können!? Sodass jedes Feld genau einmal bearbeitet. Nicht mehr und nicht weniger. Dann hätte der Algo eine Komplexität von O(n), wobei die Anzahl Fehler ist. Deiner bisher hat irgendwas total verrücktes als Laufzeit. Vermutlich irgendwas in O(n²) oder schlimmer.Natürlich kann man das optimieren, aber eine liste mit gesetzten positionen an sich wird nicht viel helfen
da ich ja direkt schauen kann ob das tile an der position gesetzt ist.
Was soll man da mit einer Liste mit leeren positionen?
Einfach eine Liste mit unbesetzten positionen würde nicht viel bringen.Zitat
Ich hoffe Du führst dabei eine Liste der Positionen, die noch nicht
gesetzt wurden, damit Du nicht abertausende Misses in einer total leeren
Region landest oder bereits bevölkerte Felder untersuchst.
Ja das kann sein, wie ich bereits in einem späteren beitrag, den du scheinbar auch nicht gelesen hast (stichwort: erstbesten absatz zitieren)Zitat
Deiner bisher hat irgendwas total verrücktes als Laufzeit. Vermutlich irgendwas in O(n²) oder schlimmer.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Klar, wenn man die falsche Datenstruktur wählt, hat man wohl kaum was gewonnen. Niemand hier sprach aber von einer Linked List. Ich sprach von einer Liste. Das ist ein generischer Datentyp, der verschieden viele Elemente halten, welche hinzufügen und welche entfernen kann. In C++ Sprache wäre das passende offensichtlicherweise ein Vector, aber hier wurde nicht von C++ gesprochen, sondern allgemein.Linked list ist nicht so toll
Sie würde deutlich mehr bringen als Dein bisheriger Bruteforce-Ansatz. Dass da noch mehr dran hängt um sie optimal zu halten, das ist offensichtlich, war für mich aber nicht Kern der notwendigen Aussage. Daher bin ich darauf auch nicht weiter eingegangen.Einfach eine Liste mit unbesetzten positionen würde nicht viel bringen.
Werbeanzeige