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

Σχετικά έγγραφα
Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων

Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων

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

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

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

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

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

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

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

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

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

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

ηόρνη ηεο δηάιεμεο Ση είλαη γξάθνο; Πνηνη είλαη νη δηάθνξνη ηύπνη γξάθσλ; Ση είλαη ην πξόβιεκα ηζνκνξθηζκνύ ησλ γξάθσλ;

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

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

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

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

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

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

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

Constructors and Destructors in C++

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

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

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

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

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

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

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

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

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

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

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

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

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ: έζησ

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

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

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

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

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

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

DOM. Γηδάζθνληεο: Π. Αγγειάηνο, Γ. Εήλδξνο Δπηκέιεηα δηαθαλεηώλ: Π. Αγγειάηνο. Σρνιή Ζιεθηξνιόγωλ Μεραληθώλ θαη Μεραληθώλ Υπνινγηζηώλ

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

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

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

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

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

Αντισταθμιστική ανάλυση

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

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

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

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

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

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

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

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

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

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

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

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

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) FritzBox Fon WLAN Annex B ( )

Σύλζετα Δίθτπα. com+plex: with+ -fold (having parts) Διδάζκων Δημήηριος Καηζαρός

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

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

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

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

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

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

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

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

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W.

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

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

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou

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

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

1. Άζξνηζκα. Να ππνινγηζηεί ην άζξνηζκα κε ηελ ηερληθή ηεο εμίζσζεο αζξνίζκαηνο. Χξεζηκνπνηνύκε ηνλ ηύπν: ( ) ( )

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

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

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

Αιγόξηζκνη θαη Γνκέο Γεδνκέλσλ(Θ) Δπάγγεινο Γ. Ούηζηνο

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

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

Ηλεκηπονικά Απσεία και Διεπαθέρ

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

ΕΞΙΣΩΣΕΙΣ. Α. Πρωτοβάθμιεσ Εξιςώςεισ. Β. Διερεφνηςη Εξιςώςεων. 1x είναι αδφνατθ. x 1 x 1. Άλγεβρα Α Λυκείου

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

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

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

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

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) =

ΜΗΧΑΝΟΛΟΓΙΚΟ ΣΧΔΓΙΟ ΙΙ

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

Σύνθετα Δίκτυα. com+plex: with+ -fold (having parts) Δηδάζθσλ Δεκήηξηνο Καηζαξόο

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

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

ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΔΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΥΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

T A E K W O N D O. Δ. ΠπθαξΨο. ΔπΫθνπξνο ΘαζεγεηΪο ΑζιεηηθΪο ΦπζηθνζεξαπεΫαο ΡΔΦΑΑ - ΑΞΘ

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

Transcript:

Γηάιεμε 16: Δηζαγσγή ζε Γελδξηθέο Γνκέο Γεδνκέλσλ Σηελ ελόηεηα απηή ζα κειεηεζνύλ ηα εμήο επηκέξνπο ζέκαηα: Ειζαγωγή ζε δενδπικέρ δομέρ δεδομένων, Οπιζμοί και ππάξειρ Αναπαπάζηαζη δενδπικών δομών δεδομένων ζηη μνήμη Διάζχιζη Δένηπων ηδάζθσλ: εµήηξεο Εετλαιηπνύξ 16-1

Γέλδξα Μέρξη ηώξα κειεηνύζακε γπαμμικέρ δνκέο δεδνκέλσλ (linear data structures) π.ρ. Stacks, queues, arrays, lists, θηι Σε απηή ηελ ελόηεηα ζα κειεηήζνπκε δενδπικέρ δνκέο δεδνκέλσλ (δειαδή μη-γπαμμικέρ δνκέο) Δέλδρο είλαη έλα ζύλνιν θόκβσλ (θνξπθώλ) πνπ ζπλδένληαη από αθκέο (ή ηόμα) κε ηνλ αθόινπζν αλαδξνκηθό νξηζκό: 1. Έλα δέλδξν είλαη είηε θελό ή 2. απνηειείηαη από: κηα ρίδα (root), δειαδή έλα θόκβν ζηνλ νπνίν δελ θαηαιήγνπλ αιιά κόλν μεθηλνύλ αθκέο, θαη 0 ή περηζζόηερα σποδέλδρα Τ 1, Τ 2,,, Τ k, ην θαζέλα μερσξηζηό από ηα άιια θαη από ηε ξίδα. Υπάξρεη κηα αθκή από ηε ξίδα ζηηο ξίδεο ησλ Τ 1, Τ 2,,, Τ k. Από θάζε θόκβν μεθηλνύλ 0 ή πεξηζζόηεξεο αθκέο (edges). Σε θάζε θόκβν θαηαιήγεη κία κόλν αθκή (αιιηώο ζα είρακε κηα άιιε δνκή ηνλ γξάθν) Σηε ξίδα δελ θαηαιήγεη θακηά αθκή. 16-2

Παξάδεηγκα 1: Οξγάλσζε Μνλνπαηηώλ ζε έλα OS /maria /usr root /christos /yiannis Αθκέο (edges) /courses /mail /.netscape /epl034 /epl035 /homeworks /notes hw1 Υπνδεληξό (subtree) 16-3

Παξάδεηγκα ζπλέρεηα Υπνζέζηε όηη ρξεζηκνπνηνύζακε κηα γξακκηθή δνκή (π.ρ. έλα πίλαθα) γηα ηελ απνζήθεπζε ησλ δηάθνξσλ κνλνπαηηώλ /usr/maria /usr/christos /usr/christos/courses /usr/christos/courses/epl034 /usr/christos/courses/epl035 /usr/christos/courses/epl035/homeworks /usr/christos/courses/epl035/homeworks/hw1 /usr /christos/courses/epl035/notes /usr /christos/mail /usr /christos/.netscape /usr /yiannis Μεηνλεθηήκαηα Καηαιακβάλνπκε πνιύ ρώξν Δπαλαιεπηηθή απνζήθεπζε κνλνπαηηνύ Η αλαδήηεζε θάπνηνπ ζηνηρείνπ ρξεηάδεηαη Ο(n) (n κέγεζνο ιίζηαο) Σηα δέλδξα ηα δεδνκέλα είλαη θαιύηεξα νξγαλσκέλα ώζηε νη δηαδηθαζίεο αλαδήηεζεο, εηζαγσγήο θαη εμαγσγήο θόκβνπ λα είλαη πην απνδνηηθέο (ηάμεσο O(logn)). 16-4

Παξάδεηγκα 2: Suffix Trie (ReTrieval) Μπνξνύκε λα θξαηήζνπκε έλα κεγάιν ιεμηθό ζηελ κλήκε ηνπ ππνινγηζηή θαη λα θάλνπκε αλαδεηήζεηο γηα ιέμεηο απνδνηηθά PATRICIA Trie: Κάζε αθκή πεξηέρεη 1 ή πεξηζζόηεξνπο ραξαθηήξεο (ζπκπίεζε) 16-5

Οξηζκνί Όηαλ ππάξρεη αθκή από έλα θόκβν u ζε έλα θόκβν v ηόηε ν u είλαη ν παηέξαο ή ν πξνθάηνρνο (parent) ηνπ v, θαη ν v είλαη παηδί (child) ηνπ u. Ζ νξνινγία απηή γεληθεύεηαη ώζηε λα κηινύκε γηα πξνγόλνπο (ancestors) θαη απνγόλνπο (descendants) θόκβσλ. Κόκβνη πνπ έρνπλ ηνλ ίδην πξνθάηνρν νλνκάδνληαη αδέιθηα (siblings) Κόκβνη πνπ δελ έρνπλ παηδηά ιέγνληαη θύιια (leaves). Οη ππόινηπνη ιέγνληαη εζσηεξηθνί (non-leaves - branches). Βαζκόο (degree) ελόο θόκβνπ είλαη ν αξηζκόο ησλ παηδηώλ ηνπ. Βαζκόο ελόο δέλδξνπ είλαη ν κέγηζηνο από ηνπο βαζκνύο ησλ θόκβσλ ηνπ. Γέλδξα βαζκνύ n ιέγνληαη n-αδηθά. Γέλδξα πνπ ρξεζηκνπνηνύληαη ζπρλά είλαη ηα δπαδηθά (binary), ηεηξαδηθά (quadtrees), νθηαδηθά (octtrees). Parent(6) => 3 Sibling(1) => 6 Leaves = {1,4,7,13} Non-leaves={3,6,7,10,14} Root={7} Degree(Tree)=2 degree(14) = 1 16-6

Βάζνο θαη ύςνο ελόο δέλδξνπ Βάζνο ελόο θόκβνπ (Node Depth) (ή επίπεδν Level) => αξηζκόο πξνγόλσλ + 1. π.ρ. ην βάζνο ηεο ξίδαο ελόο δέλδξνπ είλαη 1. Βάζνο ελόο δέλδξνπ νλνκάδνπκε ηνλ κέγηζην από ηα βάζε ησλ θόκβσλ. Μνλνπάηη ή δηαδξνκή (path) ελόο δέλδξνπ είλαη κηα αθνινπζία θόκβσλ v 1, v 2,,, v k, όπνπ θάζε v i είλαη παηέξαο ηνπ v i+1. Τν κήθνο ηνπ κνλνπαηηνύ v 1, v 2,,, v k είλαη k-1. Ύςνο ελόο θόκβνπ : ην κήθνο ηνπ κνλνπαηηνύ από ην βαζύηεξν θόκβν (ζην ίδην ππό-δέλδξν) πξνο ηνλ θόκβν. π.ρ. ην ύςνο νπνηνπδήπνηε θύιινπ είλαη 0. Ύςνο ελόο δέλδξνπ : ην ύςνο ηεο ξίδαο ηνπ δέλδξνπ. Βάζνο(6) = 3 Ύςνο(6): 1 16-7

Παξάδεηγκα βάζνο 37 37 37 Βάζνο (Depth/Level) θόκβνπ:1 ύςνο Ύςνο (Height) θόκβνπ: 0 Βαζκόο Γέλδξνπ = 0 Βάζνο (Γέλδξνπ): 2 Ύςνο (Γέλδξνπ): 1 Βάζνο θόκβνπ 37: 1 Ύςνο θόκβνπ 37: 1 Βάζνο θόκβνπ 24: 2 Ύςνο θόκβνπ 24: 0 Βαζκόο Γέλδξνπ = 2 24 42 24 42 6 Βάζνο (Γέλδξνπ) : 3 Ύςνο (Γέλδξνπ) : 2 Βάζνο θόκβνπ 24: 2 Ύςνο θόκβνπ 24: 1 Βάζνο θόκβνπ 6: 3 Ύςνο θόκβνπ 6: 0 Βαζκόο Γέλδξνπ = 2 16-8

Αλαπαξάζηαζε Γέλδξσλ ζηε Μλήκε Μπνξνύκε λα ρξεζηκνπνηήζνπκε ζηαηηθή ή δπλακηθή ρνξήγεζε κλήκεο, αλ θαη ην δεύηεξν είλαη πην θπζηνινγηθόο ηξόπνο. Κάζε θόκβνο απνηειείηαη από θάπνην αξηζκό πεδίσλ: 1. Τα πραγκαηηθά δεδοκέλα ηοσ θόκβοσ (DATA θαη ην θιεηδί), θαη 2. Δείθηες ζε άιιοσς θόκβοσς ηνπ δέλδξνπ (έλα αλά παηδί). Γηα δέλδξν βαζκνύ n θάζε θόκβνο έρεη ηελ πην θάησ κνξθή: Info p 1 p 2 p n typedef struct node { int val; struct node *left; struct node *right; } NODE; όπνπ ν p i είλαη δείθηεο ζην i-νζηό παηδί ηνπ θόκβνπ. Δλαιιαθηηθά ζα κπνξνύζακε λα αλαπαξαζηήζνπκε έλα δέλδξν κέζα ζε έλα ζηαηηθά νξηζκέλν πίλαθα. Π.ρ. όπνπ νη δείθηεο είλαη απιά αξηζκνί (ζέζεηο ηνπ πίλαθα). N=2 παηδηά αλά θόκβν Καη ζηηο δπν πεξηπηώζεηο ζέινπκε 4 bytes αλά δείθηε (ζε x86) ή integer ζέζεο πίλαθα. Αλ έρνπκε έλα 5-αδηθό δέληξν ηόηε θάζε θόκβνο ρξεηάδεηαη επηπιένλ 20 bytes. Αλ έλαο θόκβνο δελ έρεη παηδία ηόηε απηνί νη δείθηεο ζα κέλνπλ αλαμηνπνίεηνη, επνκέλσο ζα έρνπκε ζπάηαιε ρώξνπ. 16-9

Αλαπαξάζηαζε Γέλδξσλ ζηε Μλήκε Πξόβιεκα: Μείσζε ηεο ζπαηάιεο ρώξνπ από αρξεζηκνπνίεηνπο δείθηεο. Λύζε: Μπνξνύκε λα κεηαηξέςνπκε έλα δέληξν n-αδηθό (θάζε θόκβνο κε n παηδηά) ζε έλα 2-αδηθό (θάζε θόκβνο κε 2 παηδηά) ρξεζηκνπνηώληαο ηελ πνιηηηθή «Πξώην Παηδί / Δπόκελν Αδέξθη» (First Child/Next Sibling) Γειαδή θάζε θόκβνο u πεξηέρεη 1. ηα δεδνκέλα ηνπ θόκβνπ, 2. δείθηε ζην αξηζηεξόηεξν (πξώην) παηδί ηνπ u, 3. δείθηε ζηνλ επί δεμηά αδειθό ηνπ u, αλ ππάξρεη. Απηή ε πνιηηηθή καο επηηξέπεη λα κεηώζνπκε ηνλ αξηζκό ησλ δεηθηώλ 16-10

[Normal Tree] Παξάδεηγκα αλαπαξάζηαζεο δέλδξνπ A B Γ Γ Γέλδξν Βαζκνύ n (n=4) Σπλνιηθνί δείθηεο: 9 nodes *4 pointers = 36 Δ Ε Ζ Θ Η [First Child/Next Sibling] Α Β Γ Γ Γέλδξν Βαζκνύ n (n=2) Σπλνιηθνί δείθηεο: 9 nodes *2 pointers = 18 NULL Pointer Δ Ε Ζ Θ Η Next sibling 16-11

Γηάζρηζε Γέλδξσλ Αλ ζέινπκε λα επηζθεθζνύκε όινπο ηνπο θόκβνπο ελόο δέλδξνπ, κπνξνύκε λα ρξεζηκνπνηήζνπκε έλα από ηνπο πην θάησ ηξόπνπο, νη νπνίνη δηαθέξνπλ ζηε ζεηξά κε ηελ νπνία εμεηάδνπλ ηνπο θόκβνπο. 1. Προζεκαηηθή Δηάζτηζε: (Preorder Traversal) επηζθεπηόκαζηε (εθηππώλνπκε) πξώηα ηε ξίδα θαη ύζηεξα ηα παηδηά ηεο. Αλαδξνκηθά ε πξάμε νξίδεηαη σο εμήο: Print_Preorder(treenode u) Print u; foreach child v of u Print_Preorder(v) 2. Μεηαζεκαηηθή Δηάζτηζε: (Postorder Traversal) επηζθεπηόκαζηε (εθηππώλνπκε) πξώηα ηα παηδηά θαη ύζηεξα ηε ξίδα ηνπ δέλδξνπ. Αλαδξνκηθά ε πξάμε νξίδεηαη σο εμήο: Print_Postorder(treenode u) foreach child v of u Print_Postorder(v) Print u; 16-12

Παξάδεηγκα Γηάζρηζεο δέλδξνπ A B Γ Γ Δ Ε Ζ Θ Η Print_Preorder(treenode u) Print u; foreach child v of u Print_Preorder(v) Print_Postorder(treenode u) foreach child v of u Print_Postorder(v) Print u; Πξνζεκαηηθή Γηάζρηζε (Preorder) : Α Β Δ Γ Γ Ε Ζ Θ Η Μεηαζεκαηηθή Γηάζρηζε (Postorder) : Δ Β Γ Ε Ζ Θ Η Γ Α 16-13

Φξήζηκεο Πξάμεηο ηνπ ΑΤΓ Γέλδξν Parent(u) Children(u) FirstChild(u) RightSibling(u) LeftSibling(u) IsLeaf(u) επέζηξεςε ηνλ παηέξα ηνπ u επέζηξεςε ηα παηδηά ηνπ u επέζηξεςε ην πξώην παηδί ηνπ u επέζηξεςε ηνλ θόκβν ζηα δεμηά ηνπ u επέζηξεςε ηνλ θόκβν ζηα αξηζηεξά ηνπ u αλ ην u είλαη θύιιν ηόηε δώζε true, δηαθνξεηηθά δώζε false IsRoot(u) Depth(u) αλ ην u είλαη ε ξίδα ηνπ δέλδξνπ δώζε true, δηαθνξεηηθά δώζε false δώζε ην βάζνο ηνπ u ζην δέλδξν. Ζ πινπνίεζε απηώλ ησλ ζπλαξηήζεσλ ζα γίλεη ζην εξγαζηήξην 16-14