Tom: Listen, Lineare Verkettung, mehrdimensionale Verkettung

Beitrag lesen

Hello,

Also gibt es in PHP gar keine Baumstrukturen bei den Daten?

Nicht in den von PHP bereitgestellten Variablentypen.

Aber "Arrays" gibt es auch nicht in PHP, auch, wenn sie so genannt werden...
http://de.wikipedia.org/wiki/Array
Denn für eine Array ist die Anreihung gleichartiger Datenstrukruren notwendig.
Aber das habe ich ja schon oft geschrieben.

Alle "niedrigeren" Hochsprachen wie C und Delphi, die u.A. Pointer kennen, erlauben idR das Konstruieren von zur Aufgabe passenden Datentypen. Zum Beispiel von Listen und Bäumen.

Nur, weil PHP hier die Zeigervergabe und -Beseitigung nebst Speicherplatzbeschaffung und -Rückgabe selber vornimmt, ändert sich doch aber nichts am Aufbau der Datenstruktur.

Einen baum zeichnet aus, dass ein Elment (im Normalfall) über genau einen Weg erreichbar ist und dass untergeordnete Elemente nicht angelegt werden können, ohne dass die übergeordneten vorhanden sind. Genauso ist das bei "PHP-Arrays", die ja keine sind...

Was unterscheidet also Listen und Bäume?

Bäume: http://de.wikipedia.org/wiki/Baum_(Graphentheorie)#B.C3.A4ume_als_Datenstruktur
Listen: http://de.wikipedia.org/wiki/Liste_(Datenstruktur)

Die Seiten sind mir bekannt.

Auch bei nochmaliger Lektüre des gesamten Threads habe ich immer noch den Eindruck, dass wir noch nicht am Ziel sind.

Es geht schließlich _auch_ darum, wie man sich "Arrays" in PHP vorstellen sollte, damit man damit zurecht kommt.

Sie sind eine Verkettung auch ungleicher Elemente, die jedes entweder Datenlement, oder Knoten sein können. Auch dies funktioniert bei PHP sicher. Versuch doch mal, für ein Element, dass schon einen Skalar trägt, ein Unterlement anzulegen, ohne es vorher zu redeklarieren.

$_baum[1][2] = 'Blatt';
  $_baum[1][2][1] = 'Kastanie';   ## das funktioniert nicht.

$_baum[1][2] = 'Blatt';
  $_baum[1][2] = array();
  $_baum[1][2][1] = 'Kastanie';   ## das funktioniert

Allerdings geht der Skalar dann dabei verloren.

Hier endet also die implizite Deklaration von Variablen und ihren Typen.

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)