Apfelsine Geschrieben 2. Januar 2007 Geschrieben 2. Januar 2007 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: Zitieren
kingofbrain Geschrieben 2. Januar 2007 Geschrieben 2. Januar 2007 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 Zitieren
Klotzkopp Geschrieben 3. Januar 2007 Geschrieben 3. Januar 2007 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. Zitieren
Apfelsine Geschrieben 3. Januar 2007 Autor Geschrieben 3. Januar 2007 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. Zitieren
Klotzkopp Geschrieben 3. Januar 2007 Geschrieben 3. Januar 2007 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? Zitieren
Apfelsine Geschrieben 3. Januar 2007 Autor Geschrieben 3. Januar 2007 Ja gut komme soweit mit. Aber wie ich dies "induktiv erläutern soll" ist mir ein Rätsel.:confused: Zitieren
Apfelsine Geschrieben 3. Januar 2007 Autor Geschrieben 3. Januar 2007 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"? Zitieren
Klotzkopp Geschrieben 3. Januar 2007 Geschrieben 3. Januar 2007 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. Zitieren
Apfelsine Geschrieben 3. Januar 2007 Autor Geschrieben 3. Januar 2007 Der Code ist doch sozusagen die allgemeine Version oder seh ich das falsch. Zitieren
kingofbrain Geschrieben 3. Januar 2007 Geschrieben 3. Januar 2007 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 Zitieren
Apfelsine Geschrieben 3. Januar 2007 Autor Geschrieben 3. Januar 2007 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 Zitieren
Apfelsine Geschrieben 3. Januar 2007 Autor Geschrieben 3. Januar 2007 Hab's nun gemacht , kanns ja auch nachvollziehen aber wie ich es erläutern soll, dadran scheiter ich einfach Zitieren
kingofbrain Geschrieben 3. Januar 2007 Geschrieben 3. Januar 2007 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 Zitieren
Apfelsine Geschrieben 4. Januar 2007 Autor Geschrieben 4. Januar 2007 Hi, ja es ist mir klar. Zitieren
kingofbrain Geschrieben 4. Januar 2007 Geschrieben 4. Januar 2007 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.