phpbar.de logo

Mailinglisten-Archive

[php] Re: Re: Zufalls Bilder

[php] Re: Re: Zufalls Bilder

Ulf Wendel ulf_(at)_redsys.de
Sun, 18 Jun 2000 21:16:24 +0200


Daniel Nemetz wrote:
> 
> Ulf wrote:
> 
> >Man prüft nie mit einer Schleife, sondern indiziert das Array über die
> >fraglichen Values. Das aufwendige Suchen entspricht einem Aufwand von
> >n/2, der Test ob ein Arrayelement existiert hat einen konstanten Aufwand
> >von 1.
> 
> danke für die verbesserung, sag mal kannst du mir das nochmal in für mich
> verständliche worte kleiden ?

Du willst, wenn ich Dich richtig verstanden habe:

$gefunden[] = $wert;

function istBekannt($value) {
  global $gefunden;

  reset($gefunden);
  while (list($k, $v)=each($gefunden))
   if ($v == $value) 
     return true;

  return false;
}

istBekannt() braucht im Mittel für eine Antwort n/2 Operation mit n =
count($gefunden). Ist also linear und abhängig von n.


Ich will:

$gefunden[$wert] = true (oder $wert)

function istBekannt($value) {
  global $gefunden;

  return isset($gefunden[$value]);
}

istBekannt() benötigt jetzt genau 1 Operation unabhängig von n.

Hoffentlich hat es jetzt nicht den falschen getroffen, aber nach der
letzten Diskussion darüber wie man es ineffektiv machen kann, trigger
ich sehr auf das Thema.

Ulf


php::bar PHP Wiki   -   Listenarchive