[Python-de] Primzahlenberechnung, Effiziente Speicherung

Robert Heumüller robert at joshavg.de
Di Jan 27 13:51:47 UTC 2009


Vielen dank an Alle für eure schnelle Hilfe bei meinem Primzahlenproblem. Der Irrglaube,
dass Listen in Python als verkettete Elemente dargestellt werden kommt daher, dass mir in 
einer Vorlesung "Grundlagen der Programmierung" erzählt wurde, dass Listen dynamischer
Länge - egal in welcher Programmiersprache - nur als Verkettete Elemente darstellbar sind.
Daher nahm ich an, dass dies auch bei Python der Fall ist. Einen weiteren Zeitfaktor, den
sich die von Gregor gepostete Implementierung zu nutze macht, ist der Verzicht auf die 
math.sqrt() Funktion, denn

i*i > pruefen

ist logischerweise schneller als das nahezu bedeutungsgleiche 

i > math.sqrt(pruefen)

Klar, denn bei Methode 1 handelt es sich um die simple Multiplikation zweier Ganzzahlen,
während Methode 2 die Annäherung einer Wurzel beinhaltet. Für die ersten 10.000 Primzahlen
ist die "i*i" Implementierung sogar um das 1.4 fache schneller. Für die ersten 100.000 sogar
das fast 1.5 fache.

Vielen Dank nochmal an Alle

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://python.net/pipermail/python-de/attachments/20090127/c9c5edb8/attachment.htm>


Mehr Informationen über die Mailingliste python-de