Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

J.M.K.

Alter Hase

  • »J.M.K.« ist der Autor dieses Themas

Beiträge: 500

Wohnort: BW Karlsruhe Ittersbach

Beruf: Schüler

  • Private Nachricht senden

1

12.03.2006, 16:22

Warum Rekursionen wenn es Schleifen gibt?

Hmm arg viel mehr kann ich zu meiner Frage ja nicht schreiben. ;)
Vegetarier essen meinem Essen das Essen weg.

Anonymous

unregistriert

2

12.03.2006, 16:30

J.M.K.
Manchmal geht es vom rein logischen Aufbau nicht. Versuch mal einen Quicksort ohne Rekursion zu schreiben, da wirste nen Dr. Titel für bekommen. Oder einen Baum ohne rekursion zu erstellen. (Okay, Baum geht noch so GRADE! aber bei Quiclsort ist ende)

3

12.03.2006, 19:05

Ums mal praktischer und verständlicher zu machen...

Versuch ma Backtracking mit Schleifen ^^. Sprich Wegfindung in einem Labyrinth!

Anonymous

unregistriert

4

12.03.2006, 19:07

Man kann jede Rekursion durch eine Implementierung eines
entsprechenden Stacks in einen - scheinbar - iterativen Algorithmus
verwandeln. Aber man hat dann nur das nachgebaut was der Compiler von
alleine viel besser kann.

Und wirklich iterativ ist dann nur der Ablauf, aber der Algorithmus ist und
bleibt rekursiv.

Viele Probleme sind rekursiv auch viel eleganter zu lösen als iterativ. Denk nur
mal an Raytracing - wenn der Strahl auf eine Glaskugel trifft und dann
in verschiedene Richtungen teilreflektiert wird... und diese Strahlen dann
wieder... usw. usf.

Grüße
Stefan

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

5

12.03.2006, 19:54

Zitat


Aber man hat dann nur das nachgebaut was der Compiler von
alleine viel besser kann.


Wieso Compiler? Jede CPU kann Rekursionen

Anonymous

unregistriert

6

12.03.2006, 20:47

Zitat

Wieso Compiler? Jede CPU kann Rekursionen


Ja, stimmt schon - aber für den korrekten Aufruf von
Konstruktoren und Destruktoren und auch für umfangreiche lokale Variable
reicht eine CPU alleine ja soweit ich weiß nicht. Soweit ich mich erinnern
kann muß man in Assembler bei jedem Aufruf manuell auf dem Stack
Platz für lokale Variablen reservieren indem man den Stackpointer
entsprechend erhöht...

Die CPU hat das Rüstzeug, ja... aber in Assembler Rekursionen zu
programmieren fand ich noch nie so intuitiv wie in C z.B..

Grüße
Stefan

J.M.K.

Alter Hase

  • »J.M.K.« ist der Autor dieses Themas

Beiträge: 500

Wohnort: BW Karlsruhe Ittersbach

Beruf: Schüler

  • Private Nachricht senden

7

12.03.2006, 22:54

Danke Leutz

Ihr seid Spitze!!!


So das musste jetzt mal raus. :)
Vegetarier essen meinem Essen das Essen weg.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

8

12.03.2006, 22:55

Naja... aber du kannst doch die Variablen immer auf den Stack pushen. Jede CPU (zumindest weiss ich das von µC) hat doch einen SRAM, an dessen Ende wird der Stack aufgebaut.

Werbeanzeige