Aktueller Inhalt von member42

  1. M

    Problem mit ArrayList

    Habe nochmal ne Frage zu den Zügen. Wenn ich in jedem Knoten bis(bis auf Startknoten) den Zug speichere der vom vorherigen zu diesem Knoten führt, wie soll ich dann über prüfen ob der Lösungszustand schon erreicht wurde? So wie ich es bisher habe, kann ich ja einfach das Lösungsfeld mit dem Feld...
  2. M

    Problem mit ArrayList

    Dann müsste ich doch einmal die Distanz vorm swapen berechen(z.B bei 0 und 6 , die Distanz zur richtigen Position der 6) und nach dem swapen nochmal. Und jenachdem wie dann der Unterschied dieser beiden Distanzen ist, ist die Distanz der neuen Boardposition +1 oder -1 von der vorherigen. Wäre...
  3. M

    Problem mit ArrayList

    Ich glaube das ist nicht ganz richtig(korriegiere mich wenn mein Beispiel falsch ist). 4 1 5 0 1 5 0 6 3 -> 4 6 3 Manhattan -1 2 7 8 2 7 8 4 1 5 4 1 5 0 6 3 -> 6 0 3 Manhattan +1 2 7 8 2 7 8 Dann müsste sich die Distanz doch um 1 oder -1 ändern können?
  4. M

    Problem mit ArrayList

    Es funktioniert ja, nur teilweise sehr langsam. z.B für ein random 8er Puzzle teilweise über 2min. Deswegenwollte ich noch was optimieren, weil ich auch ein 15er lösen möchte, was bisher aber nicht möglich ist. Ist das was ich geschrieben hatte den von der Logik her richtig? Das müsste dann...
  5. M

    Problem mit ArrayList

    Danke, ich versuche das so umzusetzen. Bisher berechne ich für jeden Knoten die Manhattandistanz. Wäre es sinnvoll nur für die Brettausgangstellung die Manhattandistanz zuberechen und die dann immer weiter an die Nachbarknoten zugeben? Da sich beim Vertauschen von leerem und anliegenden Feld die...
  6. M

    Problem mit ArrayList

    Also müssen in einem Knoten nur die Koordinaten des leeren Feldes und der Vorgängerknoten gespeichert werden? Ich muss ja für jeden Knoten eine Heuristik berechenen(ich verwende Manhattan Distanz), dafür brauche ich dann aber wieder das komplette Feld um diese zuberechen. Wie soll das dann...
  7. M

    Problem mit ArrayList

    Wie meinst du das genau? So ähnlich wie du es beschrieben hast mache ich es eigentlich(also mit Zug rückgägig machen und so). Hier ist einmal die Methode um alle Child Knoten von einem Node zubestimmen:
  8. M

    Problem mit ArrayList

    Habs etwas ungenau beschrieben. Ich löse das SlidingPuzzle mit dem A* Algorithmus, was auch soweit funktioniert. In jedem Knoten speichere ich u.a die Brettstellung. Aber wenn ich für jeden Knoten wie oben in #5 die Nachfolgeknoten berechne(also mit Kopie) und das bei Millionen von Knoten...
  9. M

    Problem mit ArrayList

    Beim Sliding-Puzzle gibt es maximal 4 verschiedene Zugmöglichkeiten, die ich durch das Zahlenvertauschen bestimme und dann in der Liste speichere.
  10. M

    Problem mit ArrayList

    Weil sonst, wie schon geschrieben die Werte in der Liste nachträglich verändert werden was nicht passieren soll.
  11. M

    Problem mit ArrayList

    Ja, das war auch nur ein Beispiel. Ich habe das Array auch in einer Klasse(das ist für ein Sliding-Puzzle, das Nummern vertauschen ist für die Verschiebungen), mir geht geht es nur darum das Array nicht jedesmal kopieren zu müssen, auch wenn es so funktioniert.
  12. M

    Problem mit ArrayList

    Da ich bisher noch keine bessere Lösung zu dem aus Post #3 gefunden habe, wollte ich nochmal fragen ob es eine bessere Alternative gibt. Ich tausche in dem Array zwei Zahlen und füge es zu einer ArrayList hinzu. Danach soll das Array in der Liste nicht mehr verändert werden, auch wenn an dem...
  13. M

    Zahlen in Array anordnen

    Danke, es funktioniert jetzt hatte da einen ziemlichen Denkfehler.:) Ich hatte das nicht genau geschrieben, es zählen nur Anordnungen wo z.B die 1 und 2 jeweils genau einmal vorkommen, also müsste das mit 240 Anordnungen(wie om Programm jetzt zurückgeben) auch stimmen. Warum ist das so...
  14. M

    Zahlen in Array anordnen

    Hallo, ich habe z.B 2 Zahlen und ein 4*4 Array und möchte die Anzahl der Anordnungsmöglichkeiten der Zahlen im Array finden. Das müssten dann 16 * 15 = 240 verschiedene Anordungen sein, ich bekomme aber als Anzahl 256 zurück. Kann wer einen Tipp geben woran das liegt? static class Test {...
  15. M

    Problem mit ArrayList

    Ok, danke. In meinem Programm tausche ich 2 Zahlen in einem Array und füge das Array dann zu einer Liste hinzu. Danach werden die Zahlen wieder zurückgetauscht und ich habe dasselbe Problem wie oben. Ich habe das Problem mit einer Arraykopie gelöst, gibt es noch eine bessere Möglichkeit?
Oben