Τα δέντρα (trees) είναι μια μη γραμμική δομή δεδομένων που οργανώνει τα δεδομένα σε ιεραρχική μορφή. Αποτελούνται από κόμβους που συνδέονται μεταξύ τους με ακμές.
Παραστάσεις ενός δέντρου με ρίζα τον κόμβο Α. Οι κόμβοι Β και Γ είναι παιδιά του Α, ενώ οι Δ, Ε, Ζ είναι παιδιά των Β και Γ αντίστοιχα.
Παρακάτω παρουσιάζονται θεωρητικά παραδείγματα δέντρων και πώς μπορούν να χρησιμοποιηθούν για την αναπαράσταση διάφορων δομών.
Ένα δέντρο μπορεί να χρησιμοποιηθεί για να αναπαραστήσει το οργανώγραμμα μιας εταιρείας:
Διευθύνων Σύμβουλος (Α)
/ \
Διευθυντής Πωλήσεων (Β) Διευθυντής Παραγωγής (Γ)
/ \ / \
Υπεύθυνος Πωλήσεων (Δ) Υπεύθυνος Marketing (Ε) Υπεύθυνος Παραγωγής (Ζ) Υπεύθυνος Ποιοτικού Ελέγχου (Η)
Εδώ, ο Διευθύνων Σύμβουλος είναι η ρίζα του δέντρου, και κάθε διευθυντής και υπεύθυνος είναι κόμβοι του δέντρου.
Ένα δέντρο μπορεί να αναπαραστήσει την ιεραρχία ενός συστήματος αρχείων:
C:\
│
├── Documents
│ ├── Work
│ │ ├── Project1.docx
│ │ └── Project2.docx
│ └── Personal
│ ├── Notes.txt
│ └── Photos
│
└── Programs
├── App1.exe
└── App2.exe
Εδώ, ο φάκελος C:\ είναι η ρίζα, και κάθε υποφάκελος ή αρχείο είναι κόμβος του δέντρου.
Ένα δέντρο μπορεί να αναπαραστήσει ένα γενεαλογικό δέντρο:
Παππούς (Α)
/ \
Πατέρας (Β) Θείος (Γ)
/ \
Εγώ (Δ) Αδερφή (Ε)
Εδώ, ο Παππούς είναι η ρίζα, και κάθε απόγονος είναι κόμβος του δέντρου.
Ένα δυαδικό δέντρο αναζήτησης (BST) οργανώνει τις τιμές έτσι ώστε για κάθε κόμβο:
8
/ \
3 10
/ \ \
1 6 14
/ \ /
4 7 13
Ένα δέντρο απόφασης μπορεί να χρησιμοποιηθεί για να λάβει αποφάσεις βάσει συνθηκών:
Θα πάω εκδρομή;
/ \
Καλός καιρός; Κακός καιρός;
/ \
Ναι Όχι
/ \
Πάω Δεν πάω
Ερώτηση 1: Ποιος είναι ο κόμβος που δεν έχει γονέα σε ένα δέντρο;
Ερώτηση 2: Ποιος είναι ο ορισμός του βάθους ενός κόμβου σε ένα δέντρο;
Ερώτηση 3: Ποιος από τους παρακάτω όρους περιγράφει έναν κόμβο που δεν έχει παιδιά;
Ερώτηση 4 (Θεωρητική): Ποια είναι η διαφορά μεταξύ ενός δέντρου και ενός γράφου;
Ερώτηση 5 (Θεωρητική): Ποιος από τους παρακάτω τύπους διασχίσεων δέντρου επισκέπτεται πρώτα τον κόμβο και μετά τα υποδέντρα;
Ερώτηση 6 (Θεωρητική): Ποιος είναι ο μέγιστος αριθμός παιδιών που μπορεί να έχει ένας κόμβος σε ένα δυαδικό δέντρο;
Παρακολουθήστε πώς λειτουργούν οι βασικές έννοιες ενός δέντρου με οπτικοποίηση.