matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenAlgorithmen und DatenstrukturenKomplexität von Algos
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Geschichte • Erdkunde • Sozialwissenschaften • Politik/Wirtschaft
Forum "Algorithmen und Datenstrukturen" - Komplexität von Algos
Komplexität von Algos < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Komplexität von Algos: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:46 Fr 09.01.2009
Autor: Phecda

Hi
hab ne aufgabe wo ich nicht mal ansatzweise verstehe was ich machen soll [mm] =\ [/mm]

gegeben ist die rek fkt f:

int f(int a,int b){
    if (a >= b) {
       return g(a);
    } else {
        return f(a,b-1) + f(a+1,b);
    }
}

die frage ist:
berechnen sie die algorithmische komplexität der funktion f. dabei sei n = b-a der komplexitätsparameter.
Überlegen sie eine formel für T(n), die anzahl der additionen bei der berechnung von f(a,b) wobei n = b-a. Dieser aufwand ist abhängig von T(g), der anzahl der additionen in der berechnung von g. T(g) sei dabei unabhängig vom eingabeparameter von g, also eine konstante.

kann mir jmd erklären was ich machen soll?
hab schon 2 stunden skripte gelesen aber blick einfach nicht durch... sry
danke :)
lg    

        
Bezug
Komplexität von Algos: Antwort
Status: (Antwort) fertig Status 
Datum: 09:43 Mo 12.01.2009
Autor: bazzzty


> Hi
>  hab ne aufgabe wo ich nicht mal ansatzweise verstehe was
> ich machen soll
>  
> gegeben ist die rek fkt f:
>  
> int f(int a,int b){
>      if (a >= b) {
>         return g(a);
>      } else {
>          return f(a,b-1) + f(a+1,b);
>      }
>  }
>  
> die frage ist:
>  berechnen sie die algorithmische komplexität der funktion
> f. dabei sei n = b-a der komplexitätsparameter.
>  Überlegen sie eine formel für T(n), die anzahl der
> additionen bei der berechnung von f(a,b) wobei n = b-a.
> Dieser aufwand ist abhängig von T(g), der anzahl der
> additionen in der berechnung von g. T(g) sei dabei
> unabhängig vom eingabeparameter von g, also eine
> konstante.
>  
> kann mir jmd erklären was ich machen soll?
>  hab schon 2 stunden skripte gelesen aber blick einfach
> nicht durch... sry

Dass spricht ja nur für Dich, dass Du schon Skripte gelesen hast, kein Grund, sich zu entschuldigen.

Ich verstehe die Aufgabe so:

Wenn man die Funktion mit Parametern $a,b$ aufruft, dann kann man bei der Berechnung die Additionen (Subtraktionen zählen als Additionen) zählen und die als $T(a,b)$ bezeichnen. Das entspricht der Laufzeit, wenn man annimmt, dass nur Additionen Zeit kosten.

Einen wichtigen Schritt hat man schon mit der Aufgabe vorweggenommen: $T(a,b)$ hängt nicht wirklich von beiden Parametern ab, sondern ist nur von der Differenz abhängig. Es reicht also, nur $T(n)$ zu betrachten.

Die Laufzeit kann man dann auch wieder rekursiv aufschreiben:

[mm]T(n)=\begin{cases}c\cdot T(n-1)&:n>0\\ T(g)&:n\leq 0\end{cases}[/mm]

Das $c$ kannst Du Dir selbst überlegen, denke ich!
Man kann das dann auch geschlossen darstellen; ich weiß aber nicht, ob das gefragt ist.

>  danke :)
>  lg    


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.schulmatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]