Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Rekursion
Freak87 - Mo 26.02.07 18:46
Titel: Rekursion
hallo,
muss einen vortrag zur Rekusion halten und mir dabei irgendwie selbst was ausdenken. Habe dazu schon die Potenz einer Zahl iterativ und rekursiv gebastelt.
Im unterricht hatten wir schon fibonacci, fakultät und türme von hanoi.
hat jemand irgendeine idee, was relativ einfach (Bin 13.Klasse und habn schlechten Infolehrer) rekursiv umzusetzen ist?
Vielen Dank schonmal
HelgeLange - Mo 26.02.07 19:30
bäume rekursiv durchsuchen ist einfach und.. erm.. rekursiv...
Narses - Mo 26.02.07 19:31
Moin und :welcome: im Forum!
Quicksort :D
cu
Narses
JayEff - Mo 26.02.07 19:40
Auch interessant ist das Durchsuchen von Ordnern mit Unterordnern mit Hilfe von
FINDFIRST etc.
Hierzu kann man die Rekursion für jeden neuen gefundenen Ordner anwenden. Allerdings gibts dazu keine iterative Lösung. Diese Funktion hab ich sogar selbst schonmal hinbekommen :D
GTA-Place - Mo 26.02.07 19:42
Das von JayEff wollte ich sagen :-(
Narses - Mo 26.02.07 19:57
Moin!
Nix gegen eure Vorschläge,
JayEff und
GTA-Place ;) Aber ich halte von diesem Vorschlag nix, weil das mehr oder weniger betriebssystemabhängig ist. :? Und genau deshalb wird das auch bei dem Lehrer nicht gut ankommen... :mahn: aber darum geht´s doch wohl, oder? :zwinker:
Nimm lieber was, das man schön algorithmisch unabhängig darstellen kann, darauf stehen Info-Lehrer! :P
cu
Narses
Jakob Schöttl - Mo 26.02.07 20:54
Bei DSTD.INFO gibt es ein Tutorial zum Thema Rekursion, dass als beispiel die Türme von Hannoi (oder wie die heißen) hat. Ich finds aber nicht ganz so einfach...
Lannes - Mo 26.02.07 21:18
Hallo,
ein kleines bisschen OT
JayEff hat folgendes geschrieben: |
Auch interessant ist das Durchsuchen von Ordnern mit Unterordnern mit Hilfe von FINDFIRST etc.
Hierzu kann man die Rekursion für jeden neuen gefundenen Ordner anwenden. Allerdings gibts dazu keine iterative Lösung. Diese Funktion hab ich sogar selbst schonmal hinbekommen :D |
warum sollte das nicht iterativ gehen. Gefundene Ordner in einer StringList zwischenspeichern und fertig. Die Geschwindigkeit ist annähernd gleich.
Freak87 - Mo 26.02.07 21:33
Joa, Danke euch allen, aber habe hier einen anderen Algorithmus gefunden. "Binärer Suchalgorithmus".
Hab hier versucht diesen rekursiv darzustellen, und Nutzte den (iterativen) Pseudo-Code von Wikipedia.
(Link:
http://de.wikipedia.org/wiki/Bin%C3%A4re_Suche)Das klappt auch soweit aber irgendwo muss noch etwas ergänzt werden für den Fall, Dass das SuchElement nicht in dem zu durchsuchendem Feld vorhanden ist. So gibts nen Stack-Überlauf...
Weiß jemand wo? ich wäre ÜÜÜberdankbar, Find nämlich den Haken nicht..
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| Procedure Suche(ErstesElement,LetztesElement:Integer); Begin While (SucheErfolgreich=False) and (ErstesElement<=LetztesElement) do Begin Mitte:=ErstesElement+((LetztesElement-ErstesElement) Div 2); If Feld[Mitte]=SuchSchl then SucheErfolgreich:=True Else If SuchSchl < Feld[Mitte] then Suche(ErstesElement,Mitte-1) Else Suche(Mitte+1,LetztesElement); End; End; |
PS. Nutzte Turbpascal 7.0
Moderiert von
raziel: Delphi-Tags hinzugefügt
Freak87 - Mo 26.02.07 22:10
Alles klar, habs grad rausgefunden, bedank mich trotzdem für die Bemühungen
Grüße
(Hab die AbbruchBedingung
If ErstesElement<LetztesElement then suche usw.
genommen, falls' wen interessiert...)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!