Δημιουργήστε μια κλάση που θα αναπαριστά το δέντρο . Όλος ο κώδικας θα εμπίπτουν σε αυτή την κατηγορία και τον έλεγχο πώς λειτουργεί το δέντρο :
>>> τάξη BinaryTree : 2
Ορίστε τα δεδομένα δέντρο στην τάξη . Στη συγκεκριμένη κατηγορία , να ορίσετε το δέντρο ως λίστα Python . Ο κατάλογος στο δυαδικό δέντρο ξεκινά με ένα αρχικό μέγεθος των 50 :
. . . _tree = [ -1 ] * 50
εικόνων 3
Δημιουργήστε τη λειτουργία ένθετο . Η λειτουργία αυτή χρησιμοποιεί απλές μαθηματικές πράξεις για να καθορίσει τα σημεία εισαγωγής . Θα ελέγχουν κάθε τόπου . Εάν το σημείο περιέχει έναν αρνητικό αριθμό ( -1 ), τότε το σημείο είναι άδειο και θα εισάγει . Αν όχι , κινείται προς το επόμενο σημείο . Η εισαγωγή σε ένα δυαδικό δέντρο σημαίνει ότι μικρότερες τιμές θα μετακινηθεί στην " αριστερά " κόμβου ( 2i + 1 , όπου το "i " είναι ο τρέχων δείκτης λίστα) και μεγαλύτερες τιμές θα μετακινηθεί στην " δεξί χέρι " του κόμβου (2θ +2 ) :
. . . def εισάγετε ( self , τιμή) : . . . index = 0 . . . ενώ self._tree [index ] > = 0 : . . . αν η αξία > self._tree [index ] : . . . = δείκτης (δείκτης 2 * ) + 1 . . . άλλο : . . . index = ( 2 * index ) + 2 . . . self._tree [index ] = αξία
Η 4
Δημιουργήστε μια λειτουργία αναζήτησης . Η λειτουργία αναζήτησης θα συμπεριφέρονται παρόμοια με τη λειτουργία ένθετο , αλλά θα ελέγξει μόνο αν υπάρχει η τιμή στο δέντρο :
. . . def αναζήτησης ( self , τιμή) : . . . index = 0 . . . ενώ self._tree [index ] > = 0 : . . . αν η αξία self._tree [index ] == : . . . επιστρέψει True . . . επιστρέφει False
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα