Mailinglisten-Archive |
On Wednesday 26 May 2004 20:36, patrick müller (aka elias) wrote:
>
> hmm, wenn du den bereich deiner zufälligen
> zahl kennst, könntest du einfach mit ner
> for schleife von zb 0-100 über das array
> iterieren, prüfen ob was da ist und ggf
> ausgeben. wenn der bereich nicht zu groß
> ist könnte ich mir vorstellen bist du
> etwas scheller zu gange.
>
> just my 2 europfennig ;)
... hmm, das ist eine interessante Idee
also
<code>
... //wie oben
for($i=1; $i <=100; $i++ ) {
if ( isset( $array[$i] ) ) {
echo "<br>$i";
}
}
</code>
... mal sehen ... die Komplexität hier ist O(m)
mit m = obergrenze($array) , im Unterschied zu bspw. Quicksort mit
O(n*log2(n)) mit n=count($array),
die Frage ist also: wann ist m > n*log2(n)?
D.h. wenn ich die Obergrenze gut abschätze, lohnt sich die letztere Variante,
hier jedoch nicht
100 > 10*4 > 10*log2(10) (mit 2^4=16).
Das obere ist ja nur ein Beispiel, in Wirklichkeit geht es um Positionen von
suchstrings in einem größeren Text, d.h. die Indezes können sehr groß werden,
da lohnt sich wahrscheinlich ksort ( weiß jemand welchen Algorithmus es
verwendet?).
Grüße.
--
Konstantin Rekk
Berlin
phone: +49 (0) 30 48623452
mobil: 0176 2100 6000
www.rekk.de
www.tanden-aikido.de
php::bar PHP Wiki - Listenarchive