upsidedown
18.03.2002, 21:42
Is vielleicht nicht das richtige board dafür, aber schaden kanns ja nicht. Vielleicht hat ja doch jemand eine Idee..
Bei mir klemmts zur Zeit bei folgendem:
Ich schreib zur Zeit an einem Programm (C++) bei dem ständig sehr grosse arrays (von ein paar hundert bis zu einigen zehntausend bis knapp 100k Elementen) sortiert werden müssen. Dabei hab ich zwei Probleme:
1. da das [U]sehr[\U] häufig geschieht (geschätzte Laufzeit bei dem vollständigen später zu verarbeitenden Datensatz: 20-30h...) bin ich zwingend auf einen schneller Sortieralgorithmus angewiesen.
2. auf die zu sortierende Datenstruktur kann ich keinen fertig implementierten qsort anwenden.
Bis jetzt habe ich ein Lehrbuchbeispiel zum Quicksort an die Datenstruktur angepasst was auch ganz passabel funktioniert. Bei bestimmten Datensätzen kommt es aber zu einem stack-overflow, was ziemlich lästig ist, da damit mehrere Stunden Berechnungen verloren gehen.
Als Compiler verwende ich WEdit Win32 Ver 3.3, da MS-VC++ das Programm nicht kompilieren kann - der Debugger funktioniert allerdings.
Irgendjemand eine praktische Idee das Problem in den Griff zu bekommen oder zumindest eine brauchbare Abschätzung ab welcher Arraygrösse der stackoverflow auftritt (einzelne Datensätze dürfen übergangen werden)?
:help: :help: :help: :help: :help:
Das wirklich blöde ist nämlich, dass das Programm gebraucht wird (aus Spass anner Freud würd ich nicht 1400++ Zeilen Code zusammenstoppeln...)
Gruß,
UpsideDown
Bei mir klemmts zur Zeit bei folgendem:
Ich schreib zur Zeit an einem Programm (C++) bei dem ständig sehr grosse arrays (von ein paar hundert bis zu einigen zehntausend bis knapp 100k Elementen) sortiert werden müssen. Dabei hab ich zwei Probleme:
1. da das [U]sehr[\U] häufig geschieht (geschätzte Laufzeit bei dem vollständigen später zu verarbeitenden Datensatz: 20-30h...) bin ich zwingend auf einen schneller Sortieralgorithmus angewiesen.
2. auf die zu sortierende Datenstruktur kann ich keinen fertig implementierten qsort anwenden.
Bis jetzt habe ich ein Lehrbuchbeispiel zum Quicksort an die Datenstruktur angepasst was auch ganz passabel funktioniert. Bei bestimmten Datensätzen kommt es aber zu einem stack-overflow, was ziemlich lästig ist, da damit mehrere Stunden Berechnungen verloren gehen.
Als Compiler verwende ich WEdit Win32 Ver 3.3, da MS-VC++ das Programm nicht kompilieren kann - der Debugger funktioniert allerdings.
Irgendjemand eine praktische Idee das Problem in den Griff zu bekommen oder zumindest eine brauchbare Abschätzung ab welcher Arraygrösse der stackoverflow auftritt (einzelne Datensätze dürfen übergangen werden)?
:help: :help: :help: :help: :help:
Das wirklich blöde ist nämlich, dass das Programm gebraucht wird (aus Spass anner Freud würd ich nicht 1400++ Zeilen Code zusammenstoppeln...)
Gruß,
UpsideDown