[Python-de] binaerer Baum in Python

Gerhard Häring haering_python at gmx.de
Sun Oct 28 21:17:26 EST 2001


On Sun, Oct 28, 2001 at 08:48:32PM +0100, Albert Hermeling wrote:
> Am Freitag, 26. Oktober 2001 14:21 schrieben Sie:
> 
> Guten Abend,
> >
> > bei meinen selbst Studien zum Thema Informatik bin ich jetzt bei den
> > binären Bäumen angekommen.
> 
> Erstmal danke an allen die mir durch ihre Tipps und ihrem Rat geholfen haben. 
> Ich habe zwar noch nicht alles verstanden aber zumindest weis ich jetzt 
> welche Richtung ich einschlagen muss.
> 
> Bevor diese Mail endet habe ich aber doch noch eine (zwei) Fragen ;-))).
> 
> Wie organisiert Python eigentlich die Speicherverwaltung auch als Baum oder 
> wie?
> 
> Beispiel:
> 
> Gegeben sind 6 Elemente die einmal als Baum aus Objekten, einmal als Baum aus 
> Listen und zum Schluss als einzelne Liste organisiert werden. [...]

Ich hoffe ich sehe das richtig, das du wissen willst, wie in Python
intern Listen, Dictionaries usw. aufgebaut sind. Diese Algorithmen sind
im Python-Sourcecode ausführlich dokumentiert. Du kannst dir also einen
Python-Sourcetree herunterladen und in

dist/src/Objects/listobject.c           # Python liste
dist/src/Objects/dictobject.c           # Python dictionary
dist/src/Objects/tupleobject.c          # Python Tupel

reinschauen. Die Algorithmen sind dort ganz gut in Kommentaren
beschrieben. Um auch die Implementierung verstehen zu können, muss man
halt C lesen können.

Du kannst dir das ganze auch online hier anschauen (aktueller Source mit
Syntax-Highlithing). Z. B. für die Listen:

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Objects/listobject.c?rev=2.102&content-type=text/vnd.viewcvs-markup

(Die ganze URL gehört in eine Zeile)

Gerhard
-- 
mail:   gerhard <at> bigfoot <dot> de       registered Linux user #64239
web:    http://www.cs.fhm.edu/~ifw00065/    OpenPGP public key id 86AB43C0
public key fingerprint: DEC1 1D02 5743 1159 CD20  A4B6 7B22 6575 86AB 43C0
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))



More information about the Python-de mailing list