Algorithmen[Prog1]

Enkidu
Beiträge: 2
Registriert: Mo 27. Apr 2009, 17:08

Re: Algorithmen[Prog1]

Beitrag von Enkidu »

das mit dem jdk-qs kann ich mir auch nicht erklären, ist nur bei mir so. und ja wir ham das mit assertions getestet. Das p haben wir rausgeworfen weil wir den algo einfach nur noch als einen quicksort mit kluger pivotwahl betrachten... so kommts dann auch zur performance. aber naja, die kernprobleme haben wir auch nicht anders gelößt und erkennen kann man den algo auch noch - denke ich.
Chrisss
Beiträge: 63
Registriert: So 25. Jan 2009, 20:21

Re: Algorithmen[Prog1]

Beitrag von Chrisss »

wie witzig das bei mir is^^
genau wenn ich die sache mit dem p rausnehm und stattdessen einfach das ganze restliche array als U annehme sortiert er bei mir wunderbar!
bau ich das p wieder ein gehts nur gut wenn die 3. rekursion nichts mehr tun muss >.< ich versteh es nicht aber ich denke wenn ichs nich noch hinkrieg muss ich die lösung ohne p einreichen^^
Misda
Beiträge: 10
Registriert: Do 4. Dez 2008, 17:05

Re: Algorithmen[Prog1]

Beitrag von Misda »

Also wenn ihr "die Sache mit dem P" rausnehmt, isses ja nimmer wirklich der Algorithmus, imho.
aaa1989
Beiträge: 8
Registriert: Do 13. Nov 2008, 12:39

Re: Algorithmen[Prog1]

Beitrag von aaa1989 »

Hallo nochmal,

Kommt bei jemanden auch bei zu vielen Zahlen ein StackOverFlow Error? Bei mir funktioniert der Algorithmus, allerdings für max. 500 Zahlen.

Die Struktur sieht ungefährt so aus:

presortedPrefixSort(Array a, int from, int to, int s) {
if (s < toIndex + 1 && toIndex > fromIndex) {
int sLend, sRstart, sRend, uLstart, uLend, uRstart, uRend, pivot & 4 weitere ints...
....
rekursion(a, fromIndex, uLend, uLstart);
rekursion(a, sRstart, uRend, uRstart);
rekursion(a, fromIndex, toIndex, uRend + 1);
) else {
//do nothing
}
}

Wenn ich bei Eclipse versuche, die SortingFrameworkRandom auszuführen kommt nach ner Weile n StackOverFlow Error.
Wenn ich eine eigene Main-Methode habe und dort den Algorithmus ausführe mit bis ca. 400 zufällige Zahlen werden sie richtig sortiert.
Muss ich diese Parameter "-ea -Xms512M -Xmx512M" da bei "Run Configurations" bei "SortingFramework...." unter VM arguments bei "Arguments" eintragen? Das scheint irgendwie bei mir nichts zu bringen. Sorry, bin nicht grad n richtiger Profi :( .
Romeo
Beiträge: 50
Registriert: Fr 19. Dez 2008, 20:24

Re: Algorithmen[Prog1]

Beitrag von Romeo »

Guten Morgen,

Also es ist auf jeden Fall richtig, wenn du "-ea","-Xmx" usw. unter VM arguments einträgst. "Arguments" sind für das Programm; man kann die dann aus dem Array, welches an die main-Methode übergeben wird, auslesen.

Zwar erscheint mir das nicht besonders wahrscheinlich, aber wie behandelst du das Problem, dass SL UL oder SR UR nicht leer sein dürfen? Wenn du in Eclipse im Debugger guckst (Programm mit F11 ausführen und dazu an einer passenden Stelle einen Breakpoint setzen [Rechtsklick neben der betreffenden Zeile und dann "Toggle Breakpoint"]), dann kannst du dir den Stack anzeigen lassen, wie er sich allmählich aufbaut. Du kannst dir auch einfach den (sehr langen) Stack ansehen, wie er dir von der Exception ausgegeben wird. Dort kannst du dann nachsehen, wo er sich dann aufhängt. (Meistens siehst du eine ganze Reihe von gleichen Zeilennummern hintereinander).

Dann weißt du schon mal, in welcher der drei Rekursionen es wohl hängt (wahrscheinlich in der ersten oder zweiten). Warum es gerade für wenigen Zahlen gut funktioniert und ab ca. 500 wie du schreibst nicht, weiß ich leider auch nicht :unknown:

Wenn du mit "rekursion" den direkten Aufruf von presortedPrefixSort meinst, dann musst du auch immer aufpassen, ob du mit "uLstart" bzw "uRstart" eine Länge oder einen Index meinst. Für mich hört sich das nämlich so an, als ob "start" eher ein Index ist; du willst aber (eigentlich?) eine Länge (nämlich s), oder?

Grüße
Roland
aaa1989
Beiträge: 8
Registriert: Do 13. Nov 2008, 12:39

Re: Algorithmen[Prog1]

Beitrag von aaa1989 »

Hallo,

Bei mir zeig s immer den Index an, bis wohin schon sortiert wurde. Hab den Fehler aber raus gekriegt, hatte irgendwie noch eine vierte Rekursion drinne die ich nicht gelöscht habe :). Vielen Dank.
peterlustig
Beiträge: 13
Registriert: So 9. Nov 2008, 16:27

Re: Algorithmen[Prog1]

Beitrag von peterlustig »

Hallo,

man muss das Programm ja an den Tutor schicken, ich hab aber die E-Mail Adresse nicht. Kann mir vllt jemand helfen? Mein Tutor ist Markus Roth. Ich hab nirgends ne Liste mit den E-Mail Adressen finden können.

Danke schonmal
elTybbq
Beiträge: 49
Registriert: Mo 27. Okt 2008, 21:28

Re: Algorithmen[Prog1]

Beitrag von elTybbq »

peterlustig
Beiträge: 13
Registriert: So 9. Nov 2008, 16:27

Re: Algorithmen[Prog1]

Beitrag von peterlustig »

Danke, aber da kommt der Fehler, dass ich nicht die Berechtigung habe auf das Objekt zuzugreifen :(
elTybbq
Beiträge: 49
Registriert: Mo 27. Okt 2008, 21:28

Re: Algorithmen[Prog1]

Beitrag von elTybbq »

dann halt so:
Über mich

* Name: Markus Roth
* Alter: 22 Jahre
* Semester: 4
* Studiengang: Informatik (D)
* eMailadresse: markus [dot] roth@student.kit.edu
Antworten

Zurück zu „Übung“