Γηάιεμε 17: Γπαδηθά Γέληξα

Σχετικά έγγραφα
Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Διδάσκων: Κωνσταντίνος Κώστα

ηδάζθσλ: εµήηξεο Εετλαιηπνύξ

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

Δηάιεμε 10: Λίζηεο Υινπνίεζε & Εθαξκνγέο

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Ππογπαμμαηιζμόρ Ι (ΗΥ120)

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

x x x x tan(2 x) x 2 2x x 1

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

Constructors and Destructors in C++

ΓΗΜΟΙΑ ΟΙΚΟΝΟΜΙΚΗ ΣΟΜΟ Γ

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: /27 Υπνδίθηπν Β:

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

ΘΔΜΑ 1 ο Μονάδες 5,10,10

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

Γηάιεμε 18: B-Γέλδξα

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

Σρήκα Α. Γξάθνπκε ηα ζηνηρεία ηνπ Πξνκεζεπηή θαη παηάκε Δηζαγσγή. Σρήκα Β1

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

Λεκηική έκθραζη, κριηική, οικειόηηηα και ηύπος δεζμού ζηις ζηενές διαπροζωπικές ζτέζεις

Master Class 3. Ο Ν.Ζανταρίδης προτείνει θέματα Μαθηματικών Γ Λσκειοσ ΘΕΜΑ 1.

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

Δηάιεμε 9: Σηνίβεο:Υινπνίεζε & Εθαξκνγέο

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Μηα ζπλάξηεζε κε πεδίν νξηζκνύ ην Α, ζα ιέκε όηη παξνπζηάδεη ηοπικό μέγιζηο ζην, αλ ππάξρεη δ>0, ηέηνην ώζηε:

ΜΑΘΗΜΑΤΙΚΑ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΦΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ Β ΛΥΚΔΙΟΥ ΤΔΣΤ(1) ΣΤΑ ΓΙΑΝΥΣΜΑΤΑ

Γηάιεμε 16: Δηζαγσγή ζε Γελδξηθέο Γνκέο Γεδνκέλσλ

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

3ο Δπαναληπηικό διαγώνιζμα ζηα Μαθημαηικά καηεύθσνζης ηης Γ Λσκείοσ Θέμα A Α1. Έζησ f κηα ζπλερήο ζπλάξηεζε ζ έλα δηάζηεκα

Τν Πξόγξακκα ζα αλαθνηλσζεί, ακέζσο κεηά ηηο γηνξηέο ηνπ Πάζρα.

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ. ΜΕΤΑΣΦΗΜΑΤΙΣΜΟΣ Laplace

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

ΠΔΡΗΓΡΑΦΖ ΛΔΗΣΟΤΡΓΗΚΟΣΖΣΑ ΥΔΓΗΟΤ ΑΡΗΘΜ. 1

Κόληξα πιαθέ ζαιάζζεο κε δηαζηάζεηο 40Υ40 εθ. Καξθηά 3 θηιά πεξίπνπ κε κήθνο ηξηπιάζην από ην πάρνο ηνπ μύινπ θπξί κεγάιν θαη ππνκνλή

ΜΑΘΗΜΑ: ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Γ ΛΥΚΕΙΟΥ

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

Άσκηση 1 - Μοπυοποίηση Κειμένου

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

Δηάιεμε 13: Αιγόξηζκνη Ταμηλόκεζεο

Να ζρεδηαζζεί ην θαηεπζπλόκελν γξάθεκα πνπ νξίδεηαη από ηνλ εμήο πίλαθα γεηηλίαζεο.

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

Δυναμικοί πίνακες. Πνιιέο δνκέο δεδνκέλσλ πινπνηνύληαη κε ρξήζε πηλάθσλ. π.ρ. Σηνίβεο. α β γ δ. tail. head % N. Οπξέο Ν-1. θάησ όξην.

Transcript:

Γηάιεμε 7: Γπαδηθά Γέληξα Σηελ ελόηεηα απηή ζα κειεηεζνύλ ηα εμήο επηκέξνπο ζέκαηα: Δςαδικά Δένδπα Δςαδικά Δένδπα Αναζήηηζηρ Ππάξειρ Ειζαγωγήρ, Εύπεζηρ Σηοισείος, Διαγπαθήρ Μικπόηεπος Σηοισείος ηδάζθσλ: εµήηξεο Εετλαιηπνύξ 7-

Γπαδηθά Γέλδξα Έλα δέλδξν είλαη δπαδηθό αλ όινη νη θόκβνη ηνπ έρνπλ βαζκό 2. Οξηζκόο: Γπαδηθό δέλδξν ιέγεηαη έλα δέλδξν ην νπνίν : είηε είλαη θελό, ή απνηειείηαη από κηα ξίδα θαη δύν δπαδηθά ππόδελδξα. Αλαθεξόκαζηε ζηα δύν ππόδελδξα σο ην αξηζηεξό θαη ην δεμηό ππόδελδξν. Τν ύςνο ελόο δπαδηθνύ δέλδξνπ κε n θόκβνπο κπνξεί λα είλαη ην 2 πνιύ : n- (ζπλδεδεκέλε ιίζηα) θαη ην ιηγόηεξν lg n. Έλα δπαδηθό δέλδξν είλαη γεκάην (full), αλ θάζε εζσηεξηθόο ηνπ θόκβνο έρεη δύν απνγόλνπο. Έλα δπαδηθό δέλδξν είλαη ηέιεην (perfect), αλ είλαη γεκάην θαη όινη ηνπ νη θόκβνη πνπ βξίζθνληαη ζην ίδην επίπεδν έρνπλ ην ίδην βάζνο. 3 floor(lg 4)= 2 h=2 2 3 5 8 3 3 7 9 FULL 2 5 8 3 PERFECT 7-2

Παξαδείγκαηα Γπαδηθά Γέλδξα Παξαδείγκαηα δπαδηθώλ δέλδξσλ 7-3

Υινπνίεζε Γπαδηθώλ Γέλδξσλ Αθνύ θάζε θόκβνο ζε έλα δπαδηθό δέλδξν έρεη ην πνιύ δύν παηδηά, κπνξνύκε λα θξαηνύκε δείθηεο ζην θαζέλα από απηά. Γειαδή, έλαο θόκβνο κπνξεί λα πινπνηεζεί σο κηα εγγξαθή NODE κε ηξία πεδία (παξόκνηα κε θόκβν δηπιά ζπλδεδεκέλεο ιίζηαο).. val, όπνπ απνζεθεύνπκε ηελ πιεξνθνξία ηνπ θόκβνπ, 2. left, ηύπνπ pointer, ν νπνίνο δείρλεη ην αξηζηεξό, ππόδελδξν πνπ ξηδώλεη ζηνλ ζπγθεθξηκέλν θόκβν, θαη 3. right, ηύπνπ pointer, ν νπνίνο δείρλεη ην δεμηό ππόδελδξν πνπ ξηδώλεη ζηνλ ζπγθεθξηκέλν θόκβν. typedef struct node { int val; val struct node *left; struct node *right; NODE; Έηζη, έλα δπαδηθό δέλδξν πινπνηείηαη σο έλαο δείθηεο ζηε ξίδα ηνπ δέλδξνπ, δειαδή δείθηεο ζε εγγξαθή ηύπνπ NODE. NODE *root; 7-4

Γπαδηθά Γέλδξα Αλαδήηεζεο ΓΓΑ (Binary Search Trees) Τν πην ζεκαληηθό πιενλέθηεκα ηεο ρξήζεο δπαδηθώλ δέλδξσλ ε απνδνηηθή αλαδήηεζε ζε έλα ζύλνιν ζηνηρείσλ Υπνζέηνπκε ηελ ύπαξμε κηαο ζρέζεο ζην ζύλνιν ησλ ζηνηρείσλ πνπ επεμεξγαδόκαζηε, έζησ ηε ζρέζε < πάλσ ζην ζύλνιν ησλ αθεξαίσλ. Έλα δσαδικό δένδρο αναζήτησης (ΔΔΑ) είλαη έλα δπαδηθό δέλδξν θάζε θόκβνο u ηνπ νπνίνπ ηθαλνπνηεί ηα εμήο:. ηα θιεηδηά ηνπ αξηζηεξνύ ππνδέλδξνπ ηνπ u είλαη κηθξόηεξα από ην θιεηδί ηνπ u 2. ηα θιεηδηά ηνπ δεμηνύ ππνδέλδξνπ ηνπ u είλαη κεγαιύηεξα (ή ίζν) από ην θιεηδί ηνπ u. 7-5

Παξάδεηγκα Κηηζίκαηνο ελόο ΓΓΑ 37 37 37 37 24 24 42 24 42 37 37 24 42 24 42 40 40 0 7-

Κηίδνληαο έλα ΓΓΑ Γέλδξν κε ηα ίδηα ζηνηρεία ηνπνζεηεκέλα κε δηαθνξεηηθή ζεηξά: 0, 42,, 24 37, 40. 42 24 0 37 Πνην είλαη ην ρεηξόηεξν ζελάξην? Οη ηηκέο εηζόδνπ θζάλνπλ κε ηελ αθόινπζε ζεηξά 0,42,40,37,24, (θζίλνπζα ζεηξά) ή,24,37,40,42,0 (αύμνπζα ζεηξά) Απηέο νη δπν ηηκέο εηζόδνπ παξάγνπλ κηα ζπλδεκέλε ιίζηα 40 7-7

Δύξεζε Μεγέζνπο ΓΓΑ Αλαδροκηθή Υιοποίεζε int size(node *root) { // ηερμαηίζοσμε αν βρήκαμε κόμβο θύλλο if (root == NULL) { return 0; return (size(root->left) + + size(root->right)); 3 2 5 8 3 7 9 Σεκεηώζηε όηη ε κε-αλαδροκηθή σιοποίεζε τρεηάδεηαη ηελ τρήζε κηας βοεζεηηθής δοκής (π.τ. ζηοίβας) Όκως ε αλαδροκηθή σιοποίεζε είλαη πηο εύθοια θαηαλοεηή 7-8

Γηαδηθαζία Δύξεζεο Σηνηρείνπ FindNode() Απιή αλαδξνκηθή ζηξαηεγηθή: ζπγθξίλνπκε ην ζηνηρείν πνπ καο ελδηαθέξεη α κε ην ζηνηρείν ηεο ξίδαο ηνπ δέλδξνπ β (αλ ππάξρεη) θαη. αλ α=β, ζηακαηνύκε, 2. αλ α<β, πξνρσξνύκε ζην αξηζηεξό ππόδελδξν, 3. αλ α>β πξνρσξνύκε ζην δεμηό ππόδελδξν. NODE *FindNode(NODE *root, int val) { if (root == NULL) return NULL; // ηο ζηοιχείο δεν βπέθηκε 2 else if (root->val == val) // ηο ζηοιχείο βπέθηκε! return root; else { // ακόμα δεν βπέθηκε ηο ζηοιχείο if (val < root->val) return FindNode(root->left, val); else return FindNode(root->right, val); Χείξηζηε πεξίπηωζε Ο(n) (εάλ έρνπκε ιίζηα) 3 5 8 3 7 9 7-9

Γηαδηθαζία Δηζαγσγήο Κόκβνπ InsertNode() NODE *InsertNode(NODE *root, int val){ if (root == NULL) { // ειζαγωγή κόμβου root = (NODE *) malloc(sizeof(node)); if (root==null) { printf("out of Memory!"); exit(); else { root->val = val; root->left = NULL; root->right = NULL; root if (val < root->val) // ειζαγωγή απιζηεπά root->left = InsertNode(root->left, val); else // ειζαγωγή δεξιά root->right = InsertNode(root->right, val); 2 3 5 8 3 7 9 return root; 7-0

Εμαγωγή ηνπ κηθξόηεξνπ θόκβνπ DeleteMin(). Αθνινπζνύκε ηνπο αξηζηεξνύο δείθηεο όζν κπνξνύκε, θζάλνληαο ζηνλ θόκβν κε ην κηθξόηεξν ζηνηρείν, u. 2. Βξίζθνπκε ηνλ παηέξα v ηνπ u θαη αιιάδνπκε ηνλ αξηζηεξό δείθηε ηνπ v ώζηε λα δείρλεη ζην δεμηό παηδί ηνπ u. v u 45 45 34 7 7 3 3 7-

Δμαγσγή ηνπ κηθξόηεξνπ θόκβνπ NODE *deletemin(node *root) { NODE *p; if (root == NULL) { // μικπόηεπο ζηοιχείο δεν βπέθηκε return NULL; // πχ αν είναι κενό ηο δένδπο else if (root->left == NULL) { // θηάζαμε ζηο μικπόηεπο 3 p = root; root = root->right; free(p); 7 else {// αναδρομική προτώρηζε προς ηα αριζηερά root->left = deletemin(root->left); return root; 5 8 3 9 7-2

Γηαγξαθή θόκβνπ i (κόλν ε ηδέα) Γηα λα αθαηξέζνπκε έλα θιεηδί X από έλα ΓΓΑ:. Βξίζθνπκε ηνλ θόκβν u πνπ πεξηέρεη ην X. 2. Πξηλ δηαγξάςνπκε ηνλ u βξίζθνπκε ηνλ κηθξόηεξν (από δεμηά) απόγνλν ηνπ (ηνλ νπνίν νλνκάδνπκε v). 3. Ζ ηδέα είλαη όηη ν v πξέπεη λα αληηθαηαζηήζεη ηνλ u! H πινπνίεζε γίλεηαη πην απιή ρξεζηκνπνηώληαο επαλαιεπηηθνύο βξόγρνπο παξά αλαδξνκή. u v 7-3

Σύγθξηζε Γπαδηθώλ Γέλδξσλ Να γξαθεί κηα ζπλάξηεζε ε νπνία λα επηζηξέθεη αλ δπν δπαδηθά δέλδξα είλαη ηα ίδηα θαη 0 ζηελ αληίζεηε πεξίπηωζε int sametree(node *a, NODE *b) { // θαη ηα δσο δέλδρα είλαη θελά => άρα επηζηρέθοσκε TRUE if (a==null && b==null) return ; // θαη ηα δσο δέλδρα δελ είλαη θελά ζσγθρίλοσκε ηης ρίδες ηοσς else if (a!=null && b!=null) { return( (a->data == b->data) && 3 3 sametree(a->left, b->left) && 5 8 3 8 sametree(a->right, b->right) ); 7 9 7 9 5 3 // ηο ένα εκ ηων δσο σπό-δένδρων είναι κενό => επιζηρέθοσμε FALSE else return 0; 7-4