Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Γραφήματα & Επίπεδα Γραφήματα
Advertisements

Δομές Δεδομένων και Αλγόριθμοι
Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση.
Αντισταθμιστική ανάλυση Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή.
Δυναμικοί πίνακες Πολλές δομές δεδομένων υλοποιούνται με χρήση πινάκων
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Εισαγωγή στους Η/Υ Πίνακες.
Πινακες (Arrays) Σημασια Συνταξη Αρχικοποιηση Προσβαση Παραμετροι
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Διακριτά Μαθηματικά ΙI Δέντρα
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A εισαγωγή αναζήτησηεπιλογή διατεταγμένος πίνακας.
Εντολες Επιλογης (Selection)
Αλγόριθμοι Ταξινόμησης
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Καλή και δημιουργική χρονιά.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Συστολικοί επεξεργαστές.
Αλγόριθμοι και Πολυπλοκότητα
Δ Η Μ Η Τ Ρ Η Σ Ε Υ Σ Τ Α Θ Ι Α Δ Η Σ Τ Α Ξ Η : ΑΤ’1
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
Γραφήματα & Επίπεδα Γραφήματα
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
Προσεγγιστικοί Αλγόριθμοι
Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Έλεγχος της.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Τυχαιοκρατικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
A Balanced Tree Structure for Peer-to-Peer Networks
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Γράφοι – Διάσχιση.
Ουρά Προτεραιότητας: Heap
Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Ειδικά Θέματα Αλγορίθμων και Δομών Δεδομένων
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Συγγραφείς Α.Βακάλη Η. Γιαννόπουλος Ν. Ιωαννίδης Χ.Κοίλιας Κ. Μάλαμας Ι. Μανωλόπουλος Π. Πολίτης Γ΄ τάξη.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Ελάχιστο Συνδετικό Δέντρο
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα Data Engineering Lab 1.
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
Δομές Δεδομένων 2η Διάλεξη Αλγόριθμοι Ένωσης-Εύρεσης (Union-Find)
Διερεύνηση γραφήματος
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Ουρά Προτεραιότητας (priority queue)
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε στοιχείο έχει ένα κλειδί από ολικά διατεταγμένο σύνολο Θέλουμε να υποστηρίξουμε δύο.
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α Μας δίνεται ένα δένδρο Τ με ρίζα και μια λίστα Λ από ζεύγη κόμβων. Θέλουμε να υπολογίσουμε τον κκπ(x,y ) για κάθε ζεύγος κόμβων {x,y} της Λ. Λ = { {ι,ξ}, {τ,θ}, {ο,μ}, {λ,ι}, {τ,σ}, {λ,π}, {π,σ}, {ξ,ο} }

Κοντινότεροι Κοινοί Πρόγονοι Στατικό δένδρο, γνωστά ζεύγη Μας δίνεται ένα δένδρο Τ και μια λίστα Λ από ζεύγη κόμβων. Θέλουμε να υπολογίσουμε τον κκπ(x,y ) για κάθε ζεύγος κόμβων {x,y} της Λ. Στατικό δένδρο, άγνωστα ζεύγη Μας δίνεται ένα δένδρο Τ το οποίο θέλουμε να επεξεργαστούμε ώστε να μπορούμε να υπολογίσουμε γρήγορα τον κκπ(x,y ) για οποιοδήποτε ζεύγος κόμβων {x,y}. Δυναμικό πρόβλημα Το δένδρο Τ μπορεί να μεταβάλλεται.

Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(π,σ)=γ ξο Στατικό δένδρο, γνωστά ζεύγη Απλοϊκή λύση για υπολογισμό κκπ(x,y) Ανεβαίνουμε τα μονοπάτια από το x και το y προς τη ρίζα μέχρι να βρούμε τον πρώτο κοινό κόμβο. για ζεύγη

Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ ξο Στατικό δένδρο, γνωστά ζεύγη Ιδέα: Συρρικνώνουμε τα μονοπάτια που έχουμε ήδη επεξεργαστεί. Η επεξεργασία των κόμβων πρέπει να γίνει από τα φύλλα προς τη ρίζα α βγ θ δεζ η π ν κλμ ρσ τ ξο συρρίκνωση του ι στον δ κκπ(ι,ξ) = κκπ(δ,ξ)

Κοντινότεροι Κοινοί Πρόγονοι Στατικό δένδρο, γνωστά ζεύγη Σε κάθε κόμβο x του δένδρου αποθηκεύουμε μια λίστα κόμβων Επισκεπτόμαστε τους κόμβους σε σειρά μεταδιάταξης του Επεξεργασία κόμβου : Εξετάζουμε τη λίστα Για κάθε κόμβο που έχουμε ήδη επεξεργαστεί Θέτουμε κόμβος στον οποίο έχει συμπιεστεί ο Συρρικνώνουμε τον στον γονέα του στο

Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ ξο Λ(ι)={ξ,λ} Λ(ξ)={ι,ο}Λ(ο)={μ,ξ} Λ(λ)={ι,π} Λ(τ)={θ,σ} Λ(π)={λ,σ}Λ(σ)={τ,π} Λ(θ)={τ} Λ(μ)={ο}

Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν κλμ ρσ τ ξο {ι} Λ(ξ)={ι,ο}Λ(ο)={μ,ξ} Λ(λ)={ι,π} Λ(τ)={θ,σ} Λ(π)={λ,σ}Λ(σ)={τ,π} Λ(θ)={τ} Λ(μ)={ο}

Κοντινότεροι Κοινοί Πρόγονοι α βγ θ εζ η π ν κλμ ρσ τ ξο {ι,δ} Λ(ξ)={ι,ο}Λ(ο)={μ,ξ} Λ(λ)={ι,π} Λ(τ)={θ,σ} Λ(π)={λ,σ}Λ(σ)={τ,π} Λ(θ)={τ} Λ(μ)={ο} κκπ(ξ,ι)=β

Κοντινότεροι Κοινοί Πρόγονοι α βγ θ εζ η π ν κλμ ρσ τ 4 4 ο {ι,δ} Λ(ο)={μ,ξ} Λ(λ)={ι,π} Λ(τ)={θ,σ} Λ(π)={λ,σ}Λ(σ)={τ,π} Λ(θ)={τ} Λ(μ)={ο} {ξ} κκπ(ο,ξ)=κ

Κοντινότεροι Κοινοί Πρόγονοι α βγ θ εζ η π ν κλμ ρσ τ {ι,δ} Λ(λ)={ι,π} Λ(τ)={θ,σ} Λ(π)={λ,σ}Λ(σ)={τ,π} Λ(θ)={τ} Λ(μ)={ο} {ξ,ο}

Κοντινότεροι Κοινοί Πρόγονοι α βγ θ εζ η π ν λμ ρσ τ {ι,δ} Λ(λ)={ι,π} Λ(τ)={θ,σ} Λ(π)={λ,σ}Λ(σ)={τ,π} Λ(θ)={τ} Λ(μ)={ο} {ξ,ο,κ}

Κοντινότεροι Κοινοί Πρόγονοι α βγ θ ζ η π ν λμ ρσ τ {ι,δ,ξ,ο,κ,ε} Λ(λ)={ι,π} Λ(τ)={θ,σ} Λ(π)={λ,σ}Λ(σ)={τ,π} Λ(θ)={τ} Λ(μ)={ο}

Κοντινότεροι Κοινοί Πρόγονοι α γ θ ζ η π ν λμ ρσ τ {ι,δ,ξ,ο,κ,ε,β} Λ(λ)={ι,π} Λ(τ)={θ,σ} Λ(π)={λ,σ}Λ(σ)={τ,π} Λ(θ)={τ} Λ(μ)={ο}

Κοντινότεροι Κοινοί Πρόγονοι α γ θ {ζ} η π ν λμ ρσ τ {ι,δ,ξ,ο,κ,ε,β} Λ(λ)={ι,π} Λ(τ)={θ,σ} Λ(π)={λ,σ}Λ(σ)={τ,π} Λ(θ)={τ} Λ(μ)={ο} κκπ(λ,ι)=α

Κοντινότεροι Κοινοί Πρόγονοι α γ θ {ζ} η π ν μ ρσ τ {ι,δ,ξ,ο,κ,ε,β} {λ} Λ(τ)={θ,σ} Λ(π)={λ,σ}Λ(σ)={τ,π} Λ(θ)={τ} Λ(μ)={ο} κκπ(π,λ)=η

Κοντινότεροι Κοινοί Πρόγονοι α γ θ {ζ} η ν μ ρσ τ {ι,δ,ξ,ο,κ,ε,β} {λ} Λ(τ)={θ,σ} {π} Λ(σ)={τ,π} Λ(θ)={τ} Λ(μ)={ο} κκπ(μ,ο)=α

Κοντινότεροι Κοινοί Πρόγονοι α γ θ {ζ} η ν ρσ τ {ι,δ,ξ,ο,κ,ε,β} {λ,π,μ} Λ(τ)={θ,σ} Λ(σ)={τ,π} Λ(θ)={τ}

Κοντινότεροι Κοινοί Πρόγονοι α γ θ ν ρσ τ {ι,δ,ξ,ο,κ,ε,β} {λ,π,μ,ζ,η} Λ(τ)={θ,σ} Λ(σ)={τ,π} Λ(θ)={τ}

Κοντινότεροι Κοινοί Πρόγονοι α γ θ ν ρσ {ι,δ,ξ,ο,κ,ε,β} {λ,π,μ,ζ,η} {τ} Λ(σ)={τ,π} Λ(θ)={τ}

Κοντινότεροι Κοινοί Πρόγονοι α γ θ ν σ {ι,δ,ξ,ο,κ,ε,β} {λ,π,μ,ζ,η} {τ,ρ} Λ(σ)={τ,π} Λ(θ)={τ} κκπ(σ,τ)=ν κκπ(σ,π)=γ

Κοντινότεροι Κοινοί Πρόγονοι α γ θ ν {ι,δ,ξ,ο,κ,ε,β} {λ,π,μ,ζ,η} {τ,ρ,σ} Λ(θ)={τ}

Κοντινότεροι Κοινοί Πρόγονοι α γ θ {ι,δ,ξ,ο,κ,ε,β} {λ,π,μ,ζ,η} {τ,ρ,σ,ν} Λ(θ)={τ} κκπ(θ,τ)=θ

Κοντινότεροι Κοινοί Πρόγονοι α γ {ι,δ,ξ,ο,κ,ε,β} {λ,π,μ,ζ,η,τ,ρ,σ,ν,θ}

Κοντινότεροι Κοινοί Πρόγονοι 19 α {ι,δ,ξ,ο,κ,ε,β,λ,π,μ,ζ,η,τ,ρ,σ,ν,θ,γ}

Κοντινότεροι Κοινοί Πρόγονοι Η συρρίκνωση των κόμβων μπορεί να γίνει αποτελεσματικά με μια δομή ένωσης- εύρεσης σε ξένα σύνολα Υποστηρίζει τις παρακάτω λειτουργίες επί ενός συνόλου αντικειμένων : ένωση ( α, β ) : Αντικαθιστά τα σύνολα που περιέχουν τα α και β με την ένωση τους εύρεση ( α ) : Επιστρέφει το όνομα του συνόλου που περιέχει το αντικείμενο α ένωση ( α, β )

Δομή ένωσης-εύρεσης σε ξένα σύνολα Υποστηρίζει τις παρακάτω λειτουργίες επί ενός συνόλου αντικειμένων : ένωση ( α, β ) : Αντικαθιστά τα σύνολα που περιέχουν τα α και β με την ένωση τους εύρεση ( α ) : Επιστρέφει το όνομα του συνόλου που περιέχει το αντικείμενο α ένωση(3,6) εύρεση(2) Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» όνομα συνόλου = ρίζα δένδρου

Δομή ένωσης-εύρεσης σε ξένα σύνολα Υποθέτουμε ότι τα αντικείμενα μας είναι ακέραιοι αριθμοί Αρχικά κάθε αντικείμενο αποτελεί ένα ξεχωριστό σύνολο μεγέθους Χρησιμοποιούμε πίνακες και μεγέθους για Αρχικοποίηση : Δομή «σταθμισμένης ένωσης» Κάθε σύνολο έχει ένα αντιπρόσωπο. Αν το αντικείμενο k είναι αντιπρόσωπος τότε ισχύει ότι και το σύνολο έχει αντικείμενα

Δομή ένωσης-εύρεσης σε ξένα σύνολα Υποθέτουμε ότι τα αντικείμενα μας είναι ακέραιοι αριθμοί δείκτης σε αντικείμενο του συνόλου που περιέχει το k ένωση ( i, j ) : Εκτελούμε p=εύρεση ( i ) και q=εύρεση ( j ). Αν το σύνολο του q έχει περισσότερα αντικείμενα από το σύνολο του p θέτουμε. Διαφορετικά θέτουμε. εύρεση ( i ) : Ξεκινώντας από το i ακολουθούμε τους δείκτες μέχρι να βρούμε αντικείμενο j τέτοιο ώστε. Επιστρέφουμε τo j. Χρησιμοποιούμε πίνακες και μεγέθους αριθμός αντικειμένων του συνόλου με αντιπρόσωπο k Δομή «σταθμισμένης ένωσης»

Δομή ένωσης-εύρεσης σε ξένα σύνολα void union(int i, int j) { int p = find(i); int q = find(j); if (p == q) return; if (size[q] > size[p]) { parent[p] = q; size[q] += size[p]; } else { parent[q] = p; size[p] += size[q]; } void find(int i) { int j = i; while (j != parent[j]) j = parent[j]; return j; } Δομή «σταθμισμένης ένωσης»

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης» δάσος ένωσης-εύρεσης (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) ακολουθία ενώσεων

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης» δάσος ένωσης-εύρεσης (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) ακολουθία ενώσεων

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης» δάσος ένωσης-εύρεσης (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) ακολουθία ενώσεων

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης» δάσος ένωσης-εύρεσης (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) ακολουθία ενώσεων

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης» δάσος ένωσης-εύρεσης (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) ακολουθία ενώσεων

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης» δάσος ένωσης-εύρεσης (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) ακολουθία ενώσεων

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης» δάσος ένωσης-εύρεσης (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) ακολουθία ενώσεων

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης» δάσος ένωσης-εύρεσης (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) ακολουθία ενώσεων

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης» δάσος ένωσης-εύρεσης (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) ακολουθία ενώσεων

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης» δάσος ένωσης-εύρεσης (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) ακολουθία ενώσεων

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης» δάσος ένωσης-εύρεσης (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) ακολουθία ενώσεων

Δομή ένωσης-εύρεσης σε ξένα σύνολα Ας θεωρήσουμε την ακολουθία ένωση(1,2), ένωση(3,4), ένωση(5,6), ένωση(7,8) Δομή «σταθμισμένης ένωσης»

Δομή ένωσης-εύρεσης σε ξένα σύνολα Ας θεωρήσουμε την ακολουθία ένωση(1,2), ένωση(3,4), ένωση(5,6), ένωση(7,8) ένωση(1,3), ένωση(5,7) Δομή «σταθμισμένης ένωσης»

Δομή ένωσης-εύρεσης σε ξένα σύνολα Ας θεωρήσουμε την ακολουθία ένωση(1,2), ένωση(3,4), ένωση(5,6), ένωση(7,8) ένωση(1,3), ένωση(5,7) ένωση(1,5) Δομή «σταθμισμένης ένωσης»

Δομή ένωσης-εύρεσης σε ξένα σύνολα Ομοίως, για ένωση(9,10), ένωση(11,12), ένωση(13,14), ένωση(15,16) ένωση(9,11), ένωση(13,15) ένωση(9,13) Δομή «σταθμισμένης ένωσης»

Δομή ένωσης-εύρεσης σε ξένα σύνολα ένωση(1,9) Δομή «σταθμισμένης ένωσης»

Δομή ένωσης-εύρεσης σε ξένα σύνολα ο μέγιστος αριθμός των δεικτών μέχρι τη ρίζα είναι Δομή «σταθμισμένης ένωσης»

Δομή ένωσης-εύρεσης σε ξένα σύνολα Ιδιότητα: Για αντικείμενα, ο αλγόριθμος σταθμισμένης ένωσης δημιουργεί δέντρα με ύψος το πολύ Δομή «σταθμισμένης ένωσης»

Δομή ένωσης-εύρεσης σε ξένα σύνολα Απόδειξη:Με επαγωγή.Για ισχύει αφού. Έστω ότι μια πράξη ένωσης συνδυάζει σύνολα Α και Β με μέγεθος Ο αριθμός των δεικτών έως τη ρίζα του δέντρου για τα στοιχεία του A είναι B A Δομή «σταθμισμένης ένωσης» Ιδιότητα: Για αντικείμενα, ο αλγόριθμος σταθμισμένης ένωσης δημιουργεί δέντρα με ύψος το πολύ

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» εύρεση(16)

Δομή ένωσης-εύρεσης σε ξένα σύνολα Υποθέτουμε ότι τα αντικείμενα μας είναι ακέραιοι αριθμοί Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» δείκτης σε αντικείμενο του συνόλου που περιέχει το k ένωση ( i, j ) : Εκτελούμε p=εύρεση ( i ) και q=εύρεση ( j ). Αν το σύνολο του q έχει περισσότερα αντικείμενα από το σύνολο του p θέτουμε. Διαφορετικά θέτουμε. εύρεση ( i ) : Ξεκινώντας από το i ακολουθούμε τους δείκτες μέχρι να βρούμε αντικείμενο j τέτοιο ώστε. Θέτουμε για κάθε αντικείμενο k που συναντήσαμε στη διαδρομή μέχρι το j. Επιστρέφουμε τo j. Χρησιμοποιούμε πίνακες και μεγέθους αριθμός αντικειμένων του συνόλου με αντιπρόσωπο k

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» Χρόνος χειρότερης περίπτωσης για μία πράξη εύρεσης ή ένωσης = ύψος

Δομή ένωσης-εύρεσης σε ξένα σύνολα Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» Χρόνος χειρότερης περίπτωσης για μία πράξη εύρεσης ή ένωσης = Συνολικός χρόνος εκτέλεσης m πράξεων εύρεσης-ένωσης = Μέσος χρόνος εκτέλεσης για μία πράξη εύρεσης ή ένωσης = Αλλά : σχεδόν σταθερός χρόνος ανά πράξη

Δομή ένωσης-εύρεσης σε ξένα σύνολα Η συνάρτηση Ackerman ορίζεται ως εξής Η συνάρτηση είναι αντίστροφη της αυξάνει με πάρα πολύ αργό ρυθμό! Π.χ. για Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής»

Κοντινότεροι Κοινοί Πρόγονοι Η συρρίκνωση των κόμβων μπορεί να γίνει αποτελεσματικά με μια δομή ένωσης- εύρεσης σε ξένα σύνολα Υποστηρίζει τις παρακάτω λειτουργίες επί ενός συνόλου αντικειμένων : ένωση ( α, β ) : Αντικαθιστά τα σύνολα που περιέχουν τα α και β με την ένωση τους εύρεση ( α ) : Επιστρέφει το όνομα του συνόλου που περιέχει το αντικείμενο α β δ {ι} β β δ δ ι ι β β δ δ ι ι ένωση(β,δ) Τ δάσος εύρεσης-ένωσης Στον αλγόριθμο υπολογισμού κοντινότερων κοινών προγόνων κάθε σύνολο αποτελείται από τους κόμβους ενός υποδένδρου του Τ. Πρέπει να γνωρίζουμε τη ρίζα κάθε τέτοιου υποδένδρου (αντιπρόσωπος του συνόλου), η οποία μπορεί να διαφέρει από τη ρίζα του δένδρου ένωσης-εύρεσης. ρίζα = δ, αντιπρόσωπος = β

Κοντινότεροι Κοινοί Πρόγονοι Υποστηρίζει τις παρακάτω λειτουργίες επί ενός συνόλου αντικειμένων : ένωση ( α, β ) : Αντικαθιστά τα σύνολα που περιέχουν τα α και β με την ένωση τους εύρεση ( α ) : Επιστρέφει το όνομα του συνόλου που περιέχει το αντικείμενο α Στον αλγόριθμο υπολογισμού κοντινότερων κοινών προγόνων κάθε σύνολο αποτελείται από τους κόμβους ενός υποδένδρου του Τ. Πρέπει να γνωρίζουμε τη ρίζα κάθε τέτοιου υποδένδρου (αντιπρόσωπος του συνόλου), η οποία μπορεί να διαφέρει από τη ρίζα του δένδρου ένωσης-εύρεσης. αντιπρόσωπος του συνόλου με ρίζα το k Χρησιμοποιούμε έναν ακόμα πίνακα που δίνει τον αντιπρόσωπο του κάθε συνόλου Η συρρίκνωση των κόμβων μπορεί να γίνει αποτελεσματικά με μια δομή ένωσης- εύρεσης σε ξένα σύνολα

Κοντινότεροι Κοινοί Πρόγονοι Στατικό δένδρο, γνωστά ζεύγη Σε κάθε κόμβο x του δένδρου αποθηκεύουμε μια λίστα κόμβων Επισκεπτόμαστε τους κόμβους σε σειρά μεταδιάταξης του Επεξεργασία κόμβου : Εξετάζουμε τη λίστα Για κάθε κόμβο που έχουμε ήδη επεξεργαστεί Θέτουμε κόμβος στον οποίο έχει συμπιεστεί ο Συρρικνώνουμε τον στον γονέα του στο εύρεση ένωση για ζεύγηΧρόνος εκτέλεσης = Αργότερα θα δούμε πως μπορεί να επιτευχθεί χρόνος ακόμα και στην περίπτωση όπου το Λ δεν είναι εξαρχής γνωστό