Dennis Heidsiek wrote:

> Herzlichen Glückwunsch, eine Verbesserung in dieser Größenordung ist
> doch ziemlich beträchtlich :). Es ist halt doch sehr wichtig, die
> passenden Datenstrukturen zu verwenden …

Und wie :) 

Ich bin vor allem drauf gekommen, weil das in irgendeinem Programmieren für 
Unix guide stand: Erst saubere Datenstrukturen, der Rest ist dann nicht mehr 
so schwer. 

Die Hauptkosten lagen allerdings woanders. Etwas gekürzt: 

A = [i for i in worte if not i.lower() == i]
B = [i for i in worte if not i in A]

Wer sieht den Fehler, der aus einem einfachen O(N) Code einen teuren O(N²) 
Code macht? :) 


Als Tipp: Die Korrektur war: 

A = [i for i in worte if not i.lower() == i]
B = [i for i in worte if i.lower() == i]

und schon hatte ich etwa einen Faktor von 2 rausgeholt. Danach erst ging es 
dann an echte Optimierung (das hier war eher schon ein Bugfix :) ). 


Liebe Grüße, 
Arne

Antwort per Email an