Hi, ich suche eine Klasse die Binärbäume erstellt. In der Quick-Ref. habe ich nichts gefunden.
Was habe ich vor? Ich will eine Inorder-Notation in eine Preorder-Notation ändern. Dazu dachte ich ich baue einen BinBaum auf und lese den dann rückwärts vom untersten rechten Blatt, linkes Blatt, Vater aus. Wenn ihr zur Implementation Tipps habt, wäre ich euch sehr dankbar.
Viele Grüße aus Bonn
SW
Binärbaum
Hallo!
Sorry, (nervös im Sedgewick blätternd) da kann ich nicht viel Sachdienliches zu beitragen. Schon zu lange her und nie gebraucht. Falls sich sonst hier niemand findet, hilft Dir vielleicht ein Diskussionsthread aus der Python-Mailingliste weiter:
http://starship.python.net/pipermail/py ... .html#3171
Die Mailingliste ist für anspruchsvollere Sachen sehr empfehlenswert. Anmelden kannst Du Dich dafür unter http://python.net/mailman/listinfo/python-de .
Jan
Sorry, (nervös im Sedgewick blätternd) da kann ich nicht viel Sachdienliches zu beitragen. Schon zu lange her und nie gebraucht. Falls sich sonst hier niemand findet, hilft Dir vielleicht ein Diskussionsthread aus der Python-Mailingliste weiter:
http://starship.python.net/pipermail/py ... .html#3171
Die Mailingliste ist für anspruchsvollere Sachen sehr empfehlenswert. Anmelden kannst Du Dich dafür unter http://python.net/mailman/listinfo/python-de .
Jan
Vielleicht mal im Zope-Code "blättern". Dort gibt's Btree, IOBTree, OOBtree
Alles BTrees, je nach Zuordnung Integer->Objekt usw.
Aber da war doch noch nen Unterschied zwischen BTree und binary Tree? Richtig? War aber 'ne Feinheit der Implementation ...
cu beyond
Alles BTrees, je nach Zuordnung Integer->Objekt usw.
Aber da war doch noch nen Unterschied zwischen BTree und binary Tree? Richtig? War aber 'ne Feinheit der Implementation ...
cu beyond
-
- User
- Beiträge: 5
- Registriert: Dienstag 20. Mai 2003, 21:20
- Wohnort: Nähe Bonn
Danke für die Tips!
Beyond: was ist der Zope-Code und wo finde ich den?
Voges: die Mailinglist ist wirklich ein guter Tip. Ich werde vermutlich sehr schnell einige anspruchsvollere Sachen machen müssen. <<Seufz>>
Liebe Grüße
Monika
Beyond: was ist der Zope-Code und wo finde ich den?
Voges: die Mailinglist ist wirklich ein guter Tip. Ich werde vermutlich sehr schnell einige anspruchsvollere Sachen machen müssen. <<Seufz>>
Liebe Grüße
Monika
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi SpiderWoman,
ich hab mal auf die schnelle eine Treeklasse erstellt:
Gruß
Dookie
ich hab mal auf die schnelle eine Treeklasse erstellt:
Code: Alles auswählen
#!/usr/bin/env python
class Node :
def __init__(self, value) :
n = len(value)
a = value[:n/2]
b = value[n/2+1:]
self.value = value[n/2]
if len(a) :
self.left = Node(a)
else :
self.left = None
if len(b) :
self.right = Node(b)
else :
self.right = None
def inorder(self, func, depth = 1) :
if self.left :
self.left.inorder(func, depth+1)
func(self.value, depth)
if self.right :
self.right.inorder(func, depth+1)
def preorder(self, func, depth = 1) :
func(self.value, depth)
if self.left :
self.left.preorder(func, depth+1)
if self.right :
self.right.preorder(func, depth+1)
def postorder(self, func, depth = 1) :
if self.left :
self.left.postorder(func, depth+1)
if self.right :
self.right.postorder(func, depth+1)
func(self.value, depth)
if __name__ == '__main__' :
def out(x, depth):
print " "*depth, x
a = [0,1,2,3,4,5,6,7,8,9]
tree = Node(a)
print "inorder:"
tree.inorder(out)
print "preorder:"
tree.preorder(out)
print "postorder:"
tree.postorder(out)
Dookie
Zope: www.zope.org
Ein objektorientierter Webserver auf Python-Basis --- Wohl die bekannteste Python Anwendung.
Es lohnt sich auf jeden Fall einen Blick darauf und auf den Code zu werfen.
Allerdings mußte ich nach intensiver Beschäftigung damit einige riesen Fehler und Unschönheiten entdecken.
Insgesamt trotzdem ein gutes Konzept.
cu beyond
Ein objektorientierter Webserver auf Python-Basis --- Wohl die bekannteste Python Anwendung.
Es lohnt sich auf jeden Fall einen Blick darauf und auf den Code zu werfen.
Allerdings mußte ich nach intensiver Beschäftigung damit einige riesen Fehler und Unschönheiten entdecken.
Insgesamt trotzdem ein gutes Konzept.
cu beyond
-
- User
- Beiträge: 5
- Registriert: Dienstag 20. Mai 2003, 21:20
- Wohnort: Nähe Bonn
Nochmal danke für die Hilfe.
Gruss
Monika
Gruss
Monika