Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » ELOPs zählen. » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen ELOPs zählen.
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Nunzio
Jungspund


Dabei seit: 18.04.2013
Beiträge: 13

ELOPs zählen. Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey,

Ich will in einigen Algorithmen die maximalen ELOPS zählen. Hab dafür folgende Aufgabe

Der Algorithmus berechnet die Dualdarstellung einer Dezimalzahl

Eingabe : Positive Zahl x
n:= 1; // 1 ELOP
h:= x; // 1 ELOP
while (h>1) { // n + 1 ELOP (Die Schleife wird ja n mal durchlaufen, also n Abfragen + 1, da die letzte Abfrage ja mit falsch beantwortet wird und es dann weitergeht.
h := h/2; // 2n ELOPS
n := n+1 // 2n ELOPS
}
while (n > 0) { // n + 1 ELOP
yn := x%2; // 2n ELOPS
x := x/2; // 2n ELOPS
n := n-1; // 2n ELOPS
}
Ausgabe : y1, y2,....., yn.

Also 12n + 4 ELOPS. Ist das richtig? Und wie schreibe ich das dann auf also ala Tmax (A,x)?

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Nunzio: 29.01.2016 17:47.

29.01.2016 17:40 Nunzio ist offline E-Mail an Nunzio senden Beiträge von Nunzio suchen Nehmen Sie Nunzio in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

n ist für die erste Schleife vielleicht nicht ganz glücklich gewählt, da n ja zu Beginn 1 ist.
Es sind x-1 Durchläufe und x Abfragen (da liegst du um 1 daneben).
Danach ist n=x, weshalb du x Durchläufe der 2. Schleife hast.

__________________
Syntax Highlighting fürs Board (Link)
29.01.2016 18:30 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Nunzio
Jungspund


Dabei seit: 18.04.2013
Beiträge: 13

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey, danke für deine Antwort.

Könntest du vielleicht meinen Text kopieren und dort die ELOPS ändern? Ich kann nicht verstehen, was du wo änderst.

Liebe Grüße

n muss nehmen, weil das so vorgegeben ist bei mir.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Nunzio: 29.01.2016 18:47.

29.01.2016 18:38 Nunzio ist offline E-Mail an Nunzio senden Beiträge von Nunzio suchen Nehmen Sie Nunzio in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
n:= 1; // 1 ELOP
h:= x; // 1 ELOP
while (h>1) { // x ELOP (Die Schleife wird x-1 mal durchlaufen, also x Abfragen - einfach mal mit kleiner Zahl ausprobieren)
h := h/2; // 2(x-1) ELOPS
n := n+1 // 2(x-1) ELOPS
}
//jetzt ist n==x
while (n > 0) { // x + 1 ELOP
yn := x%2; // xn ELOPS
x := x/2; // xn ELOPS
n := n-1; // xn ELOPS
}


__________________
Syntax Highlighting fürs Board (Link)
29.01.2016 18:53 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Nunzio
Jungspund


Dabei seit: 18.04.2013
Beiträge: 13

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wieso denn xn? Wir haben in der Uni vergleichbare Sachen mit Elops durchgezählt, aber niemals wurden 2 Buchstaben verwendet :/ Jetzt bin ich verwirrt. Was kommt denn dann als Ergebnis raus?
29.01.2016 19:00 Nunzio ist offline E-Mail an Nunzio senden Beiträge von Nunzio suchen Nehmen Sie Nunzio in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ups, ich wollte das n ersetzen, nicht die 2.

__________________
Syntax Highlighting fürs Board (Link)
29.01.2016 19:02 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Nunzio
Jungspund


Dabei seit: 18.04.2013
Beiträge: 13

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also jetzt versteh ich wirklich überhaupt nichts mehr. Kann es sein, das dieses Thema überall anders gelehrt wird? In vielen Skripten die ich mir online rausgesucht habe, steht was anderes :/ Also ist die Zeitkomplexität einfach die Anzahl ELOPS?
29.01.2016 19:20 Nunzio ist offline E-Mail an Nunzio senden Beiträge von Nunzio suchen Nehmen Sie Nunzio in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
n:= 1; // 1 ELOP
h:= x; // 1 ELOP
while (h>1) { // x ELOP (Die Schleife wird x-1 mal durchlaufen, also x Abfragen - einfach mal mit kleiner Zahl ausprobieren)
h := h/2; // 2(x-1) ELOPS
n := n+1 // 2(x-1) ELOPS
}
//jetzt ist n==x
while (n > 0) { // x + 1 ELOP
yn := x%2; // 2x ELOPS
x := x/2; // 2x ELOPS
n := n-1; // 2x ELOPS
}

So wollte ich das eigentlich schreiben.

Bei Eingabe x gibt es 12x-1 Elementaroperationen.
Bei der Zeitkomplexität kommt es darauf an, ob die die genaue Zeit haben willst, oder nur die O-Notation.

__________________
Syntax Highlighting fürs Board (Link)
29.01.2016 19:24 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Nunzio
Jungspund


Dabei seit: 18.04.2013
Beiträge: 13

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wieso wird die erste while Schleife x mal ausgeführt und die 2. x+1? Ich kann mir das überhaupt nicht vorstellen. Also ich habe gedacht, dass die while Schleife x mal durchläuft und beim letzten versuch zwar prüft, aber nicht durchläuft. Wieso ist das in der zweiten so, aber in der ersten nicht?
29.01.2016 19:31 Nunzio ist offline E-Mail an Nunzio senden Beiträge von Nunzio suchen Nehmen Sie Nunzio in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich sollte nicht Handball schauen und nebenher hier schreiben unglücklich
code:
1:
2:
while (h>1) {
h := h/2;

Da wird h jedes mal halbiert, also gibt es nur log2(h) viele Durchläufe.
Deshalb ist auch n nur log2(h), also wird auch die 2. Schleife nicht öfter durchlaufen.

__________________
Syntax Highlighting fürs Board (Link)
29.01.2016 19:55 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Nunzio
Jungspund


Dabei seit: 18.04.2013
Beiträge: 13

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von eulerscheZahl
Ich sollte nicht Handball schauen und nebenher hier schreiben unglücklich


Tut mir leid, ich bin einfach schwer von Begriff. unglücklich

Okay, das leuchtet ein, hast du vielleicht eine kleine Übungsaufgabe für mich?
29.01.2016 20:09 Nunzio ist offline E-Mail an Nunzio senden Beiträge von Nunzio suchen Nehmen Sie Nunzio in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Kannst dir ja mal die Laufzeit der binären Suche anschauen, die ist auch logarithmisch.

__________________
Syntax Highlighting fürs Board (Link)
29.01.2016 20:12 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » ELOPs zählen.