Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Laufzeitanalyse bei Algorithmen

Diskussion: Laufzeitanalyse bei Algorithmen im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Servus, ich habe schon gesucht und gefragt aber irgendwie hat da keienr so richtig Ahnung von. Ich beschäftige mich ...

Antwort
Alt 16.05.05, 00:12   #1 (permalink)
 
Registriert seit: 19.08.04
Dawen Leistung: Addierstift
Likes: 1
Standard Laufzeitanalyse bei Algorithmen

Anzeige

Servus,

ich habe schon gesucht und gefragt aber irgendwie hat da keienr so richtig Ahnung von. Ich beschäftige mich mit Algortihmen und der Laufzeitanalyse. Habe aber noch einige verständnis Programme und zwar :

T(n) = 695n? + 397n + 6148 = O(n?) , wird dabei immer vom höchsten Wert ausgegangen, also beispielsweise T(n) = 1000n? + 695n? + 397n + 6148 = O(n?) ?

Code:
int[] a = new int[n];
      int[] b = new int[n];
      int   i = 0;
      while( i != n){
         a[i] = 0;
         i    = i+1;
      }
      i = 0;
      while( i != n){
         b[i] = 0;
         i    = i + 1;
      }
Ein Freund hat schon in anderen Boards gefragt und bis jetzt keine Antwort bekommen. Der Prof meint folgendes :

f(n) = (2n+1+)+(2n+1)
f(n) = 4n+2
f(n) = O(n)

Müsste es aber nicht so richtig sein :

( n + 1 + 1 ) " n für die Schleife und zweimal das + 1 wegen dem Vergleich und der Inkrementierung " + 1 " Die 1 wegen der Zuweisung von i + 1 " + ( n + 1 + 1) "Wieder n für die Schleifen und zweimal +1 wegen dem Vergleich und der Inkrementierung "

Also :

f(n) = (n+1+1+1)+1+(n+1+1)
f(n) = 2n + 5
f(n) = 2n

Allgmein paar Tippe und ähnliches wäre auch nicht schlecht, weil irgendwie will das nicht in emeine Birne. Danke euch !!
Dawen ist offline   Mit Zitat antworten
Alt 16.05.05, 12:07   #2 (permalink)
Member of Honour
 
Registriert seit: 03.10.01
blueflash Leistung: Facit NTK
Likes: 1
Standard

Wichtig ist, dass du feststellst, dass in beiden Schleifen n-mal eine konstante Anzahl von Anweisungen durchgeführt wird. Also zB nC1 + nC2 damit kommst du dann auf A(n)=nC3=O(n)


Achja: Es gilt A(f) = O(g), wenn lim ( f / g ) = 0, also g schneller wächst als f.
blueflash ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 16.05.05, 12:16   #3 (permalink)
Themenstarter
 
Registriert seit: 19.08.04
Dawen Leistung: Addierstift
Likes: 1
Standard

Ich bin ja erstmal Froh das mir einer antwortet, danke dir erstmal.

Es wird eine konstante Anzahl durchgeführt, da ja beide Schleifen die gleichen Anweisungen ausführen. Somit wäre also O(n) richtig und nicht wie ich meinte O(n?), da dies ja in verschachtelten Schleifen der Fall wäre. Aber wie genau kommt man auf 2n+1 ?
Dawen ist offline   Mit Zitat antworten
Alt 16.05.05, 14:28   #4 (permalink)
Member of Honour
 
Registriert seit: 03.10.01
blueflash Leistung: Facit NTK
Likes: 1
Standard

die 2 bedeuten die beiden zuweisungsanweisungen ( = ) in den schleifen.
die 1 steht für die initialisierung von i.

offenbar hat dein prof. nur die zuweisungsoperationen gezählt. man könnte auch jede addition usw. mitzählen, dies ist aber relativ egal, wichtig ist, das O(n) rauskommt.
blueflash ist offline   Mit Zitat antworten
Alt 17.05.05, 15:36   #5 (permalink)
 
Registriert seit: 29.01.05
Mat_the_Mad Leistung: Facit NTK
Likes: 0
Standard

Du solltest du dich durch die "O()" -Schreibweise nicht verwirren lassen. Denn sie gibt nur über den "worst-case" Auskunft. O(n) heisst, dass die Anzahl Operationen/Schleifendurchläufe für grosse n (gegen unendlich) proportional zu n ist. Dein "Algorithmus" T(n) = 695n? + 397n + 6148 hat O(n?), weil er für grosse n prop. zu n? ist (die kleineren Potenzen sind für grosse n vernachlässigbar).

Hoffe, hat dir geholfen.
Mat_the_Mad ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Laufzeitanalyse bei Algorithmen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zukunftsträchtige Algorithmen... enkore Cryptography & Encryption 9 09.08.09 21:17
Algorithmen cr4ven Code Kitchen 4 28.10.08 20:35
Algorithmen für die SAM subzeroo Cryptography & Encryption 20 24.10.05 18:17
Algorithmen für WPA Elderan Cryptography & Encryption 4 23.10.05 20:13
Datenstrukturen und Algorithmen Dawen Code Kitchen 0 14.04.05 23:05


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61