Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να εφαρμόσουν ένα δυαδικό δέντρο Χρησιμοποιώντας Pascal

Δυαδικά δέντρα μπορεί να αποτελούν τα δομικά στοιχεία της αποτελεσματικής αναζήτησης και αλγόριθμοι ταξινόμησης και γι 'αυτό έχουν ευρεία εφαρμογή στην επιστήμη των υπολογιστών . Όπως Pascal έχει υποστήριξη για τα αρχεία και τους τύπους δείκτη , μπορείτε να εφαρμόσετε κομψά δυαδικά δένδρα σε αυτό . Χρησιμοποιήστε το πρόγραμμα Pascal σας ως βάση ένα δυαδικό ουρά προτεραιότητας σωρό ή να το τροποποιήσει για να υποστηρίξει οποιοδήποτε είδος των συγκρίσιμων δεδομένων . Οδηγίες
Η

1 Ανοίξτε ένα νέο αρχείο Pascal σε πρόγραμμα επεξεργασίας κειμένου ή IDE σας 2

Προσθήκη ακόλουθη γραμμή στο αρχείο : . Bintree πρόγραμμα ?
Η
3

Πληκτρολογήστε το επόμενο τμήμα του κώδικα σε editor σας για να καθορίσει τα βασικά είδη για το δυαδικό δέντρο : TypeBinTree = ^ κόμβου ? Node = RecordI : ακέραιος ? L , R : BinTree ? τέλος?
Η 4

Αντιγράψτε το παρακάτω στον επεξεργαστή για να κατασκευάσει ένα άδειο δέντρο : MakeTree λειτουργίας : BinTree ? beginMakeTree : = nilend ?
5

Τοποθετήστε τον παρακάτω κώδικα στο αρχείο σας για να ελέγξετε το δέντρο για το κενό : Λειτουργία IsEmptyTree ( Β : BinTree ) : Boolean ? beginIsEmptyTree : = ( Β = μηδέν) ? τέλος?
Η 6

Συμπεριλάβετε τις ακόλουθες γραμμές στο κείμενό σας για να κατασκευάσει ένα κόμβο παιδί με τη συγκεκριμένη ακέραια τιμή : MakeNode λειτουργίας ( I : ακέραιος αριθμός) : BinTree ? Βαρρές : BinTree ? beginNew ( Res ) ? Res ^ Ι: . = I ? Res ^ L : = MakeTree ? Res ^ R : . = MakeTree ? MakeNode : . = Res ? τέλος?
Η 7

Προσθέστε αυτές τις γραμμές για να απελευθερώσει ένα δέντρο από το δεδομένο κόμβο ρίζας : Διαδικασία DeallocateTree ( var Β : BinTree ) ? beginif δεν IsEmptyTree ( Β ) τότε beginDeallocateTree ( Β ^ L . ) ? DeallocateTree ( B . ^ R) ? Απορρίψτε ( Β) ? endend ?
8

Τοποθετήστε το επόμενο τμήμα του κώδικα στο αρχείο σας για την εισαγωγή της δοσμένης αξίας σε διέταξε τη θέση του στο δυαδικό δένδρο : . διαδικασία InsertInTree ( I : ακέραιος ? var Β : BinTree ) ? beginif IsEmptyTree ( Β ) thenB : . . . = MakeNode ( Ι) else if I <Β ^ I thenInsertInTree (Ι , Β ^ L ) elseInsertInTree (Ι , Β ^ R) τέλος?
Η 9

Προσθέστε τον παρακάτω κώδικα για να αναζητήσετε ένα δέντρο για μια δεδομένη τιμή : FindInTree λειτουργίας ( S : ακέραιος ? Β : BinTree ) : Boolean ? beginif IsEmptyTree ( Β ) thenFindInTree : = Falseelse αν S Η 10

Επικολλήστε την επόμενη διαδικασία σε Pascal πρόγραμμα σας για να δείτε τα περιεχόμενα του δέντρου σε ταξινομημένη σειρά : Διαδικασία PrintTree ( Β : BinTree ) ? beginif δεν IsEmptyTree ( Β ) τότε beginPrintTree ( Β ^ L . ) ? writeln ( Β ^ . I ) ? PrintTree ( Β ^ R) endend ?

11

Προσθέστε αυτές τις τελευταίες γραμμές στο αρχείο σας για να ολοκληρώσετε το πρόγραμμα Pascal : . beginend

Η .

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα