Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Einen schönen guten Tag wünsche ich euch allen,

ich habe noch eine offene Frage, wo ich mir nicht so sicher bin.

Ich soll die Laufzeitkomplexität herausfinden.

void func( int n ) {

int h = 1;

while ( h <= n ) {

c= c + h;

h= h * 2; }}

Würde dann hier T(n) = 1*n+3 also O(n) rauskommen?

Geschrieben

Hi,

deine Rechnung verstehe ich nicht ganz, aber meiner Meinung nach ist es sogar O(log_n). N wäre es, wenn n=10 ist und es 10 Berechnungen gäbe, was aber nicht der Fall ist.

Die Variable "c" ist egal, aber da "h" ja bei jedem Durchgang verdoppelt wird, verringert sich dadurch die Laufzeit, weil die Bedingung schneller erfüllt ist.

Geschrieben
Hi,

deine Rechnung verstehe ich nicht ganz, aber meiner Meinung nach ist es sogar O(log_n). N wäre es, wenn n=10 ist und es 10 Berechnungen gäbe, was aber nicht der Fall ist.

Die Variable "c" ist egal, aber da "h" ja bei jedem Durchgang verdoppelt wird, verringert sich dadurch die Laufzeit, weil die Bedingung schneller erfüllt ist.

Also würde dann T(n)=1+2log(n) ?

Geschrieben

Hi,

so würde ich das sehen: Du hast eine Operation die nur einmal ausgeführt wird (h = 1) , und zwei die eben solange ausgeführt werden, wie die Bedingung erfüllt ist.

Also quasi 2 * ((((n/2)/2)/2)....), was eben der Logarithmus zur Basis 2 von n ist.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...