2. Januar 200718 j Hallo Zusammen hoffe ihr hattet ein guten übergang ins neue Jahr, Es geht um die angehängte AUFGABE : Hier ist in 5) l+1 = 1 Zu beginn sprigt er doch von 7) auf 1) vertauscht dann möglicherweise in 3) und 4) dann geht er zu 8) ertauscht dann möglicherweise in 3) und 4) dann geht er zu 9) ertauscht dann möglicherweise in 3) und 4) und startet wieder bei 5) Ergibt nun l+1 , 2 oder wird hier l+1 immer 1? Bin auf jeden fall verwirrt:rolleyes:
2. Januar 200718 j Servus, hattest Du auch eine Frage? Deine Aussagen sind auf jeden Fall nicht richtig, und verwirrt bin ich jetzt auch. Schöne Grüße, Peter
3. Januar 200718 j Ergibt nun l+1 , 2 oder wird hier l+1 immer 1?Du musst beachten, dass die Werte von l und r bei jeder Rekursion die Werte annehmen, die als zweiter und dritter Parameter im Aufruf stehen.
3. Januar 200718 j Versuche wiederzugeben wie ich den Algorithmus verstehe. Meine frage 1 ist ob dieser durch 5), die drei sort Abfragen direkt durchläuft ( 7)8)9) ) oder nur eine 7) um wieder bei 1) zu starten 2 (diese wurde geklärt) und ob sich bei 5) (l+1<r) der linke Wert und rechte ändert.
3. Januar 200718 j Meine frage 1 ist ob dieser durch 5), die drei sort Abfragen direkt durchläuft ( 7)8)9) ) oder nur eine 7) um wieder bei 1) zu startenIch weiß nicht, was du mit "direkt" meinst. Wenn die Bedingung in 5 wahr ist, ruft die Funktion sich dreimal selbst auf, hintereinander. Die inneren Aufrufe können das natürlich ihrerseits auch wieder tun. Ist dir klar, was eine Rekursion ist?
3. Januar 200718 j Ja gut komme soweit mit. Aber wie ich dies "induktiv erläutern soll" ist mir ein Rätsel.:confused:
3. Januar 200718 j Versuche es mal : Der Algorithmus Sort(a,0,n-1) untersucht im 1. Schritt den linken Schlüssel mit dem rechten Schlüssel, tauscht diese gegebenenfalls if(a[l]<a[r]). Weitere vertauschungen starten falls die linke Position +1 < als die recht Position ist. so ungefähr oder?? Aber wie ich nun weiter " induktiv Erläutern soll"?
3. Januar 200718 j Induktiv bedeutet hier vermutlich, vom Einzelfall auf die allgemeine Regel zu schließen. Erkläre also, wie die Funktion triviale Schlüssel (n = 2, n = 3 usw.) sortiert, und versuche das Verhalten auf längere Schlüssel zu verallgemeinern.
3. Januar 200718 j Servus, das stimmt, der Code ist allgemein und auch für längere Schlüsselketten geeignet. Wenn Du allerdings den nachweis für eine kurze Kette (1-5 oder 1-7) geliefert hast, kannst Du damit auf grössere Ketten schließen. Ich denke, das war es, was Klotzkopp gemeint hat. Du könntest also für eine Kette mit den nicht sortierten Schlüsseln 1 bis 7 das Programm mit Stift und Zettel "durchspielen" und so herausfinden, was mit der Kette passiert. Wenn Dir dann das Prinzip klar ist, hast Du den Nachweis für die Allgemeinheit. Peter
3. Januar 200718 j Hi, Ok wenn ich es nun z.B. für n=5 aufschreibe und erkläre was passiert, und das allgemein erkläre dann hab ich die Fragestellung beantwortet:marine
3. Januar 200718 j Hab's nun gemacht , kanns ja auch nachvollziehen aber wie ich es erläutern soll, dadran scheiter ich einfach
3. Januar 200718 j Servus, ich habe jetzt nur kurz drübergeschaut, aber kann es sein, das Du überhaupt keine richtige Beispielliste hattest? Dein Array war doch leer, oder? Peter
4. Januar 200718 j Hallo nochmal, rein interessehalber: was war der ausschlaggebende Punkt, damit Du die Aufgabe lösen konntest? Hast Du den Beispieldurchlauf gemacht oder hast Du eine andere Eingebung gehabt? Peter
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.