Hallo,
ich entwickele grade eine Software um Sotier Algorithmen zu Visualisieren und ihre Laufzeit zu messen, dabei bin ich aber auf ein Problem gestoßen. Bei Quicksort, was rekursiv ist, wird im Worst-Case die Rekursion zu tief. Dann tritt immer folgende Exception auf:
An unhandled exception of type 'System.StackOverflowException' occurred in SAV.exe
Das Problem ist wohl, dass jeder rekursive Aufruf auf den Stack gelegt wird. Der Stack aber für die Rekursion Tiefe zu klein ist. Diese Exception ist wohl dafür gedacht, um endlos Rekursionen abzufangen. Bei dieser Rekursion handelt es sich aber um eine Gewollte Rekursion die sehr tief werden kann!
Bei C++ gab es noch die Möglichkeit einen Flag für den Compilieren zu setzen und so die Stack größe Festzulegen. Gibt es so etwas auch in .NET? Wie kann ich das Problem lösen?
Mit freundlichen Grüßen
Tobias Allweier
ich entwickele grade eine Software um Sotier Algorithmen zu Visualisieren und ihre Laufzeit zu messen, dabei bin ich aber auf ein Problem gestoßen. Bei Quicksort, was rekursiv ist, wird im Worst-Case die Rekursion zu tief. Dann tritt immer folgende Exception auf:
An unhandled exception of type 'System.StackOverflowException' occurred in SAV.exe
Das Problem ist wohl, dass jeder rekursive Aufruf auf den Stack gelegt wird. Der Stack aber für die Rekursion Tiefe zu klein ist. Diese Exception ist wohl dafür gedacht, um endlos Rekursionen abzufangen. Bei dieser Rekursion handelt es sich aber um eine Gewollte Rekursion die sehr tief werden kann!
Bei C++ gab es noch die Möglichkeit einen Flag für den Compilieren zu setzen und so die Stack größe Festzulegen. Gibt es so etwas auch in .NET? Wie kann ich das Problem lösen?
Mit freundlichen Grüßen
Tobias Allweier
Comment