Binärbaum

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
SpiderWoman
User
Beiträge: 5
Registriert: Dienstag 20. Mai 2003, 21:20
Wohnort: Nähe Bonn

Binärbaum

Beitragvon SpiderWoman » Donnerstag 22. Mai 2003, 14:23

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
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Re: Binärbaum

Beitragvon Voges » Donnerstag 22. Mai 2003, 18:23

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
Benutzeravatar
Beyond
User
Beiträge: 227
Registriert: Freitag 6. September 2002, 19:06
Kontaktdaten:

Beitragvon Beyond » Freitag 23. Mai 2003, 00:58

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
SpiderWoman
User
Beiträge: 5
Registriert: Dienstag 20. Mai 2003, 21:20
Wohnort: Nähe Bonn

Zope Code?

Beitragvon SpiderWoman » Freitag 23. Mai 2003, 06:44

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
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Freitag 23. Mai 2003, 16:47

Hi SpiderWoman,

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)


Gruß

Dookie
Benutzeravatar
Beyond
User
Beiträge: 227
Registriert: Freitag 6. September 2002, 19:06
Kontaktdaten:

Beitragvon Beyond » Samstag 24. Mai 2003, 11:54

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
SpiderWoman
User
Beiträge: 5
Registriert: Dienstag 20. Mai 2003, 21:20
Wohnort: Nähe Bonn

Ihr seid wirklich super!

Beitragvon SpiderWoman » Donnerstag 29. Mai 2003, 16:13

Nochmal danke für die Hilfe.
Gruss
Monika

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]