So ich hab mal in den Quellcode geguckt, den du mir per PN geschickt hast.
Hier schreib ich nur, das was für alle interessant ist, Dinge die sich direkt auf deinen Quellcode beziehen schreibe ich per PN.
Uhrsache für den Crash ist, wie bereits von vieler Seite angenommen, die schiere Größe des Arrays.
Durch Heraufsetzen der Speichergrenzen wie Johannes7146 es erklärt hat, wird es möglich größere Arrays (Dimension 24) zu erstellen. Für jede weitere Dimension musst du den zur Verfügung gestellten Speicher verdoppeln. Jedoch hat sich schon bei der Dimension 25 mein Betriebssystem geweigert genügend freien Speicher zur Verfügung zu stellen. Als ich versucht hab ihn dazu zu zwingen, in dem ich die initiale Größe der VM auf einen Gigabyte festgelegt habe, fing mein OS wie wild an Daten auf die Festplatte auszulagern, und viele Programme reagierten so gut wie gar nicht mehr. Nach fünf Minuten habe ich Eclipse dann abgeschossen, um wieder Kontrolle über mein OS zu erlangen.
Wie ich das sehe, ist die Größe 25 absichtlich so gewählt, um Abgaben zu verhindern, die mit einer Großen Wahrheitstabelle arbeiten.
Des weiteren hast du auch keine Kontrolle darüber welche Rechner dein Programm später ausführen. Ein Ändern der VM Größe auf große Werte, ist also nicht ganz trivial. Du solltest dich also nach einer Möglichkeit umschauen, wie du das Problem ohne große Tabelle lösen kannst.
Wenn die Tabelle Verwendest hast du immer einen exponentiellen Aufwand. Zusätzlich musst du danach auf dieser Riesen Tabelle Algorithmen für NP-Vollständige Probleme (
Wikipedia Link) anwenden. Wenn du da die Dimension nur noch ein wenig erhöhst, landest du bei Berechnungszeiten die die Menschheitsgeschichte Übertreffen.
Alles Weitere dann per PN
MfG
Andibert
P.S. Guter Beitrag Johannes, das gibt n Daumen