Autor |
Beitrag |
Freak87
Hält's aus hier
Beiträge: 8
|
Verfasst: Mo 26.02.07 18:46
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
      
Beiträge: 735
Erhaltene Danke: 6
Windows 7
Delphi7 - Delphi XE
|
Verfasst: Mo 26.02.07 19:30
bäume rekursiv durchsuchen ist einfach und.. erm.. rekursiv...
_________________ "Ich bin bekannt für meine Ironie. Aber auf den Gedanken, im Hafen von New York eine Freiheitsstatue zu errichten, wäre selbst ich nicht gekommen." - George Bernhard Shaw
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 26.02.07 19:31
Moin und  im Forum!
Quicksort
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: 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 
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mo 26.02.07 19:42
Das von JayEff wollte ich sagen 
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: 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...  aber darum geht´s doch wohl, oder?
Nimm lieber was, das man schön algorithmisch unabhängig darstellen kann, darauf stehen Info-Lehrer!
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
Zuletzt bearbeitet von Narses am Mo 26.02.07 21:35, insgesamt 1-mal bearbeitet
|
|
Jakob Schöttl
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: 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...
Einloggen, um Attachments anzusehen!
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: 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  |
warum sollte das nicht iterativ gehen. Gefundene Ordner in einer StringList zwischenspeichern und fertig. Die Geschwindigkeit ist annähernd gleich.
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
Freak87 
Hält's aus hier
Beiträge: 8
|
Verfasst: 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: 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 
Hält's aus hier
Beiträge: 8
|
Verfasst: 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...)
|
|