Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: Mathematik und Physik ::  Fakultät in logarithmischer Lauftzeit berechnen  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
CBR-Racer
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.12.2003
Beiträge: 15
Beitrag CBR-Racer Mitglied 09:58:47 13.12.2003   Titel:              Zitieren

das würde dann ja nicht der Aufgabenstellung entsprechen :p :D
Jester
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2001
Beiträge: 8532
Beitrag Jester Moderator 10:51:04 13.12.2003   Titel:              Zitieren

Gregor schrieb:
Alles vorher ausrechnen und in nem Array speichern.
[...],ist das IMHO immer noch eine vollkommen legitime, richtige und natürliche Lösung. Es ist sogar die beste Lösung.


Für einen Programmiere/Softwareentwickler ja, für einen Informatiker nicht. Begründung: s.o.

MfG Jester

_________________
Mod im Mathe-Forum

Die dümmsten Programmierer schreiben die dicksten Programme.
PoRcUpInE
Mitglied

Benutzerprofil
Anmeldungsdatum: 13.08.2002
Beiträge: 68
Beitrag PoRcUpInE Mitglied 11:44:57 13.12.2003   Titel:              Zitieren

viel ist die repetitive form schneller:

fac(n) = facrep(n,1)

facrep(n,x) = if n > 0 then facrep(n-1, x*n) else x

Aber obs reicht, probiers mal aus!
Informatiker
Unregistrierter




Beitrag Informatiker Unregistrierter 12:31:01 13.12.2003   Titel:              Zitieren

Wo ist die Begründung? Ich seh sie nicht. :(
Gregor
Moderator

Benutzerprofil
Anmeldungsdatum: 16.01.2002
Beiträge: 7779
Beitrag Gregor Moderator 12:40:00 13.12.2003   Titel:              Zitieren

Jester schrieb:

Für einen Programmiere/Softwareentwickler ja, für einen Informatiker nicht. Begründung: s.o.

Doch, selbstverständlich ist das auch für einen Informatiker die beste Lösung. Es ist der effizienteste Algorithmus für den gewünschten Wertebereich. Warum sollte sich ein Informatiker mit etwas minderwertigem abfinden? Damit es "mathematischer" aussieht? ...BTW: Ich habe sogar ein Skript aus einer Informatikvorlesung, in dem genau dieses Beispiel vorkommt. Dort wird auch eindeutig gesagt, dass dies die beste Lösung.

Du scheinst dich auf den Standpunkt zu stellen, dass man so eine Art "allgemeingültige" Lösung als Informatiker finden muss. Das ist nicht richtig. Ein Informatiker ist sich durchaus darüber im klaren, dass ein Computer, als das Werkzeug, auf dem der Algorithmus irgendwann mal läuft, Beschränkungen hat. Entsprechend beachtet er diese Beschränkungen auch bei der Konstruktion von Algorithmen. Deine Sichtweise ist eher die Sichtweise eines Mathematikers.

Zitat:

das würde dann ja nicht der Aufgabenstellung entsprechen :p :D

Wie du weiter oben an der Definition der O-Notation schon gesehen hast, ist O(1) eine Teilmenge von O(log(n)). Es entspricht also durchaus der Aufgabenstellung. Wenn ein Algorithmus eine Laufzeit von O(1) hat, dann hat er auch eine Laufzeit von O(log(n)).

_________________
"The problem with quotes on the Internet is that it is hard to verify their authenticity" - Abraham Lincoln
Gregor
Moderator

Benutzerprofil
Anmeldungsdatum: 16.01.2002
Beiträge: 7779
Beitrag Gregor Moderator 13:01:25 13.12.2003   Titel:              Zitieren

Jester schrieb:
Auch Sortierung läßt sich in O(1) erledigen. Einfach alle möglichen Ordnungen als Index in die Tabelle der korrekt sortierten Mengen verwenden. Jede Funktion ist über einem endlichen Definitionsbereich O(1), aber das ist hier nicht der Punkt.

Das ist wieder die Sichtweise eines Mathematikers. Völlig an der Realität vorbei! Dein Definitionsbereich ist bei einem Sortieralgorithmus vielleicht endlich, im Regelfall hat der Definitionsbereich hier aber immer noch mehr Elemente als es Atome in unserem Universum gibt. Ich möchte mal sehen, wie du das vorspeicherst.

Dieses Beispiel ist in keinster Weise mit dem hier gegebenen Problem zu vergleichen.

_________________
"The problem with quotes on the Internet is that it is hard to verify their authenticity" - Abraham Lincoln


Zuletzt bearbeitet von Gregor am 23:03:34 13.12.2003, insgesamt 2-mal bearbeitet
TGGC
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.04.2001
Beiträge: 6901
Beitrag TGGC Mitglied 22:53:58 13.12.2003   Titel:              Zitieren

CBR-Racer schrieb:
also ihr werdet es kaum glauben ... also der Prof sprach mich heute an und fragte, ob ich die Aufgabe geschafft hätte ... ich sagte mit herabgesenktem Kopf nein ... fragte aber auch gleich wie man die Fakultät in logarithmischer Laufzeit berechne ... er schaute nur etwas verdutzt und fragte, ob er wirklich Fakultät gesagt hätte ... das wurde ihm dann von mehreren Leuten bestätigt ... er entschuldigte sich höflich ... was er eigentlich wollte war ein Algorithmus um die Fibonacci-Zahlen in logarithmischer Lauftzeit ...
Glaub ich sofort, war ja meine erste Vermutung ;)

_________________
Sollte man gesehen haben: die deutsche Szene - C++ SC2 Liga auf youtube
Jester
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2001
Beiträge: 8532
Beitrag Jester Moderator 01:18:08 14.12.2003   Titel:              Zitieren

Gregor schrieb:

Das ist wieder die Sichtweise eines Mathematikers.


Davon distanziere ich mich entschieden!
Der Informatiker sucht das beste allgemeine Lösungsverfahren für ein Problem... und dieses stelle Dein Vorschlage nunmal nicht dar!

MfG Jester

_________________
Mod im Mathe-Forum

Die dümmsten Programmierer schreiben die dicksten Programme.
WebFritzi
Mitglied

Benutzerprofil
Anmeldungsdatum: 23.09.2001
Beiträge: 9876
Beitrag WebFritzi Mitglied 07:51:58 14.12.2003   Titel:              Zitieren

Jester schrieb:
Davon distanziere ich mich entschieden!

YEAH! Verteidige unsere Stellung! ;)

_________________
Riskiere doch mal einen Blick auf www.WebFritzi.de.vu
FROM: doofie (192.255.2.88); TO: WebFritzi (212.128.130.6)
hi, i'm a signature virus. copy me into your signature to help me spread.
c++.de :: Mathematik und Physik ::  Fakultät in logarithmischer Lauftzeit berechnen  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.