User since
2003-11-28
3645
Artikel
ModeratorIn
[quote=format_c,05.May.2004, 00:56]Index lohnt sich nur bei sehr vielen Aufrufen nacheinander auf den selben String da er String bei der ersten Ausführung ausüfhrlich indiziert wird.
Gruß Alex[/quote]
Kannst du etwas mehr dazu sagen? Meinst du evtl. UTF-8-Optimierungen? Fuer "normale" Strings sollte index() bei jedem Aufruf die maximale Geschwindigkeit erreichen.
User since
2003-08-04
5873
Artikel
ModeratorIn
Stellen wir uns mal einen String mit 10000 Stellen vor. Dann muss man im Durchschnitt 5000 Zeichen durchtesten.
Beim Hash berechnet man den Hashwert und liest das Ergebnis ab.
O(n) gegen O(1).
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite
User since
2003-11-28
3645
Artikel
ModeratorIn
Aber nur, wenn es sich um einen UTF-8-String handelt. Ansonsten ist es ein Direktzugriff und damit O(1).
User since
2003-11-28
3645
Artikel
ModeratorIn
Ups, ich lese "index" und denke "substr". Natuerlich habt ihr bei "index" Recht :-)