Στις βασικές λειτουργίες με δυαδικά δέντρα, η διάλεξη αφήνει ως άσκηση:
Υλοποιήστε την προσθήκη ενός ακεραίου σε δυαδικό δέντρο αναζήτησης (BST) με κόμβους
typedef struct treenode {
int value;
struct treenode *left;
struct treenode *right;
} *Tree;
ώστε το δέντρο να παραμένει ταξινομημένο. Ελέγξτε το αποτέλεσμα τυπώνοντας το δέντρο με in-order διάσχιση.
Ακολουθήστε την ίδια διαδρομή με την αναζήτηση στο BST· όταν φτάσετε σε NULL, εκεί ανήκει ο νέος κόμβος, που δεσμεύεται με malloc. Για να αλλάξει ο δείκτης του γονιού (ή η ρίζα, αν το δέντρο είναι άδειο), είτε επιστρέψτε το νέο δέντρο είτε περάστε δείκτη σε Tree, όπως στην insert των λιστών.
Αριθμός στον οδηγό: Α22.12
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: slides-lec22-tree-insert ·
Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec22-tree-insert.html ·
Markdown (GitHub)