Fächer

Fächer

Mehr

Rekursion einfach erklärt: Beispiele und Vorteile von rekursiver Programmierung

Öffnen

Rekursion einfach erklärt: Beispiele und Vorteile von rekursiver Programmierung
user profile picture

Ellen Schw

@ellenschw

·

21 Follower

Follow

Rekursive und iterative Algorithmen sind grundlegende Konzepte in der Informatik. Rekursive Funktionen rufen sich selbst auf, während iterative Algorithmen Schleifen verwenden. Beide Ansätze haben ihre Vor- und Nachteile:

  • Rekursive Programmierung ist oft eleganter und einfacher zu implementieren
  • Iterative Methoden sind in der Regel effizienter bezüglich Speicherverbrauch und Rechenzeit
  • Die Wahl zwischen rekursiv und iterativ hängt vom spezifischen Problem ab

1.3.2021

853

Vergleich von iterativen und rekursiven Algorithmen

Der Vergleich zwischen iterativen und rekursiven Algorithmen zeigt wichtige Unterschiede in der Herangehensweise an Problemlösungen in der Informatik.

Iterative Algorithmen verwenden Wiederholungen von Anweisungen durch Schleifen. Sie zählen vorwärts, beginnend bei 1 bis zu einer beliebigen Zahl n. Die Methode wird nur einmal ausgeführt und nutzt typischerweise for- oder while-Schleifen.

Example: Ein Beispiel für einen iterativen Algorithmus zur Berechnung einer Summe:

public int gibSummeIterativ(int pZahl) {
    int summe = 0;
    for (int i = 1; i <= pZahl; i++) {
        summe = summe + i;
    }
    return summe;
}

Im Gegensatz dazu wiederholen rekursive Algorithmen eine Methode durch Selbstaufruf. Sie zählen rückwärts bis zur 1 und verwenden if- oder else-Anweisungen. Ein wichtiges Konzept bei der Rekursion ist der Rekursionsanker, der ein unendliches Fortsetzen verhindert.

Example: Ein Beispiel für einen rekursiven Algorithmus zur Berechnung derselben Summe:

public int gibSummeRekursiv(int pZahl) {
    if (pZahl == 1) {
        return 1;
    } else {
        return gibSummeRekursiv(pZahl-1) + pZahl;
    }
}

Definition: Der rekursive Algorithmus wiederholt eine Methode mit if oder else so lange, bis der Rekursionsanker bzw. die Abbruchbedingung erreicht ist. Dabei wird rückwärts gezählt. Die Wiederholung entsteht durch einen Selbstaufruf, und der Vorgang kann wiederholt ausgeführt werden.

Rekursive Algorithmen folgen oft dem "Teile und Herrsche"-Prinzip, bei dem ein Problem in kleinere Teilprobleme zerlegt wird, bis diese gelöst werden können. Aus den Teillösungen wird dann eine Gesamtlösung gebildet.

Highlight: Rekursive Algorithmen gelten oft als elegant und schön und können in manchen Fällen Schreibarbeit ersparen.

Es gibt jedoch auch Nachteile bei der Rekursion. Viele Ergebnisse werden vom Computer mehrfach berechnet, was zu Ineffizienz führen kann. Zudem benötigen rekursive Algorithmen oft einen höheren Speicherbedarf.

Vocabulary:

  • Rekursionsanker: Die Bedingung, die den rekursiven Aufruf beendet.
  • Teile und Herrsche: Ein Problemlösungsansatz, bei dem ein Problem in kleinere Teilprobleme zerlegt wird.

Die Wahl zwischen iterativ und rekursiv hängt vom spezifischen Problem und den Anforderungen an Effizienz und Lesbarkeit des Codes ab. Beide Ansätze haben ihre Berechtigung in der modernen Programmierung.

ITERATIVER ALGORITHMUS
Wiederholung
von Anweisungen
- Es wird vorwärts gezählt, beginnend bei 1
REKURSIVE algoniennen
bis beliebige tahl n (

Nichts passendes dabei? Erkunde andere Fachbereiche.

Knowunity ist die #1 unter den Bildungs-Apps in fünf europäischen Ländern

Knowunity wurde bei Apple als "Featured Story" ausgezeichnet und hat die App-Store-Charts in der Kategorie Bildung in Deutschland, Italien, Polen, der Schweiz und dem Vereinigten Königreich regelmäßig angeführt. Werde noch heute Mitglied bei Knowunity und hilf Millionen von Schüler:innen auf der ganzen Welt.

Ranked #1 Education App

Laden im

Google Play

Laden im

App Store

Knowunity ist die #1 unter den Bildungs-Apps in fünf europäischen Ländern

4.9+

Durchschnittliche App-Bewertung

13 M

Schüler:innen lieben Knowunity

#1

In Bildungs-App-Charts in 12 Ländern

950 K+

Schüler:innen haben Lernzettel hochgeladen

Immer noch nicht überzeugt? Schau dir an, was andere Schüler:innen sagen...

iOS User

Ich liebe diese App so sehr, ich benutze sie auch täglich. Ich empfehle Knowunity jedem!! Ich bin damit von einer 4 auf eine 1 gekommen :D

Philipp, iOS User

Die App ist sehr einfach und gut gestaltet. Bis jetzt habe ich immer alles gefunden, was ich gesucht habe :D

Lena, iOS Userin

Ich liebe diese App ❤️, ich benutze sie eigentlich immer, wenn ich lerne.

Nichts passendes dabei? Erkunde andere Fachbereiche.

Knowunity ist die #1 unter den Bildungs-Apps in fünf europäischen Ländern

Knowunity wurde bei Apple als "Featured Story" ausgezeichnet und hat die App-Store-Charts in der Kategorie Bildung in Deutschland, Italien, Polen, der Schweiz und dem Vereinigten Königreich regelmäßig angeführt. Werde noch heute Mitglied bei Knowunity und hilf Millionen von Schüler:innen auf der ganzen Welt.

Ranked #1 Education App

Laden im

Google Play

Laden im

App Store

Knowunity ist die #1 unter den Bildungs-Apps in fünf europäischen Ländern

4.9+

Durchschnittliche App-Bewertung

13 M

Schüler:innen lieben Knowunity

#1

In Bildungs-App-Charts in 12 Ländern

950 K+

Schüler:innen haben Lernzettel hochgeladen

Immer noch nicht überzeugt? Schau dir an, was andere Schüler:innen sagen...

iOS User

Ich liebe diese App so sehr, ich benutze sie auch täglich. Ich empfehle Knowunity jedem!! Ich bin damit von einer 4 auf eine 1 gekommen :D

Philipp, iOS User

Die App ist sehr einfach und gut gestaltet. Bis jetzt habe ich immer alles gefunden, was ich gesucht habe :D

Lena, iOS Userin

Ich liebe diese App ❤️, ich benutze sie eigentlich immer, wenn ich lerne.

Öffnen

Rekursion einfach erklärt: Beispiele und Vorteile von rekursiver Programmierung
user profile picture

Ellen Schw

@ellenschw

·

21 Follower

Follow

Rekursion einfach erklärt: Beispiele und Vorteile von rekursiver Programmierung

Rekursive und iterative Algorithmen sind grundlegende Konzepte in der Informatik. Rekursive Funktionen rufen sich selbst auf, während iterative Algorithmen Schleifen verwenden. Beide Ansätze haben ihre Vor- und Nachteile:

  • Rekursive Programmierung ist oft eleganter und einfacher zu implementieren
  • Iterative Methoden sind in der Regel effizienter bezüglich Speicherverbrauch und Rechenzeit
  • Die Wahl zwischen rekursiv und iterativ hängt vom spezifischen Problem ab

1.3.2021

853

Vergleich von iterativen und rekursiven Algorithmen

Der Vergleich zwischen iterativen und rekursiven Algorithmen zeigt wichtige Unterschiede in der Herangehensweise an Problemlösungen in der Informatik.

Iterative Algorithmen verwenden Wiederholungen von Anweisungen durch Schleifen. Sie zählen vorwärts, beginnend bei 1 bis zu einer beliebigen Zahl n. Die Methode wird nur einmal ausgeführt und nutzt typischerweise for- oder while-Schleifen.

Example: Ein Beispiel für einen iterativen Algorithmus zur Berechnung einer Summe:

public int gibSummeIterativ(int pZahl) {
    int summe = 0;
    for (int i = 1; i <= pZahl; i++) {
        summe = summe + i;
    }
    return summe;
}

Im Gegensatz dazu wiederholen rekursive Algorithmen eine Methode durch Selbstaufruf. Sie zählen rückwärts bis zur 1 und verwenden if- oder else-Anweisungen. Ein wichtiges Konzept bei der Rekursion ist der Rekursionsanker, der ein unendliches Fortsetzen verhindert.

Example: Ein Beispiel für einen rekursiven Algorithmus zur Berechnung derselben Summe:

public int gibSummeRekursiv(int pZahl) {
    if (pZahl == 1) {
        return 1;
    } else {
        return gibSummeRekursiv(pZahl-1) + pZahl;
    }
}

Definition: Der rekursive Algorithmus wiederholt eine Methode mit if oder else so lange, bis der Rekursionsanker bzw. die Abbruchbedingung erreicht ist. Dabei wird rückwärts gezählt. Die Wiederholung entsteht durch einen Selbstaufruf, und der Vorgang kann wiederholt ausgeführt werden.

Rekursive Algorithmen folgen oft dem "Teile und Herrsche"-Prinzip, bei dem ein Problem in kleinere Teilprobleme zerlegt wird, bis diese gelöst werden können. Aus den Teillösungen wird dann eine Gesamtlösung gebildet.

Highlight: Rekursive Algorithmen gelten oft als elegant und schön und können in manchen Fällen Schreibarbeit ersparen.

Es gibt jedoch auch Nachteile bei der Rekursion. Viele Ergebnisse werden vom Computer mehrfach berechnet, was zu Ineffizienz führen kann. Zudem benötigen rekursive Algorithmen oft einen höheren Speicherbedarf.

Vocabulary:

  • Rekursionsanker: Die Bedingung, die den rekursiven Aufruf beendet.
  • Teile und Herrsche: Ein Problemlösungsansatz, bei dem ein Problem in kleinere Teilprobleme zerlegt wird.

Die Wahl zwischen iterativ und rekursiv hängt vom spezifischen Problem und den Anforderungen an Effizienz und Lesbarkeit des Codes ab. Beide Ansätze haben ihre Berechtigung in der modernen Programmierung.

ITERATIVER ALGORITHMUS
Wiederholung
von Anweisungen
- Es wird vorwärts gezählt, beginnend bei 1
REKURSIVE algoniennen
bis beliebige tahl n (

Melde dich an, um den Inhalt freizuschalten. Es ist kostenlos!

Zugriff auf alle Dokumente

Werde Teil der Community

Verbessere deine Noten

Mit der Anmeldung akzeptierst du die Nutzungsbedingungen und die Datenschutzrichtlinie

Nichts passendes dabei? Erkunde andere Fachbereiche.

Knowunity ist die #1 unter den Bildungs-Apps in fünf europäischen Ländern

Knowunity wurde bei Apple als "Featured Story" ausgezeichnet und hat die App-Store-Charts in der Kategorie Bildung in Deutschland, Italien, Polen, der Schweiz und dem Vereinigten Königreich regelmäßig angeführt. Werde noch heute Mitglied bei Knowunity und hilf Millionen von Schüler:innen auf der ganzen Welt.

Ranked #1 Education App

Laden im

Google Play

Laden im

App Store

Knowunity ist die #1 unter den Bildungs-Apps in fünf europäischen Ländern

4.9+

Durchschnittliche App-Bewertung

13 M

Schüler:innen lieben Knowunity

#1

In Bildungs-App-Charts in 12 Ländern

950 K+

Schüler:innen haben Lernzettel hochgeladen

Immer noch nicht überzeugt? Schau dir an, was andere Schüler:innen sagen...

iOS User

Ich liebe diese App so sehr, ich benutze sie auch täglich. Ich empfehle Knowunity jedem!! Ich bin damit von einer 4 auf eine 1 gekommen :D

Philipp, iOS User

Die App ist sehr einfach und gut gestaltet. Bis jetzt habe ich immer alles gefunden, was ich gesucht habe :D

Lena, iOS Userin

Ich liebe diese App ❤️, ich benutze sie eigentlich immer, wenn ich lerne.