Union - Find 30 Μαρτίου 2017.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση.
Advertisements

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΥΠΟΡΟΥΤΙΝΕΣ
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
Αλγόριθμοι Αναζήτησης
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
ΜΑΘ3122/106 Γλώσσα Προγραμματισμού
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜMΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
Κατακερματισμός Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Δυναμικός Κατακερματισμός.
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Επιλογή Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο.
1 Αλγόριθμοι Παρακολούθησης Ακτίνας (Ray tracing) Τα μοντέλα τοπικού φωτισμού (π.χ. Phong) δεν ασχολούνται με τον έμμεσο φωτισμό των αντικειμένων. Τα μοντέλα.
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
Δείκτες (Pointers) – Δομές (Structs)
Alpha-Beta Pruning for Games with Simultaneous Moves Abdallah Saffidine, Hilmar Finnsson, Michael Buro Παρουσίαση: Βάλβης Δημήτριος Εργασία στο μάθημα.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
Γιάννης Σταματίου Αναδρομή και αναδρομικές σχέσεις
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Αναζήτηση – Δέντρα (2 ο Μέρος) Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
ΗΥ150 – Προγραμματισμός Ξ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Δομές Δεδομένων.
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Θεωρία Βασικών Δομών Δεδομένων Διδάσκοντες:Μακρής Χρήστος, Τσακαλίδης Αθανάσιος
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Παράδειγμα B + -Tree Υποθέτουμε B + -Tree τάξης 3 (α=2, b=3)  Κάθε φύλλο θα έχει 2 ως 3 το πολύ στοιχεία  Κάθε εσωτερικός κόμβος θα έχει 2 ως 3 το πολύ.
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
Μερικές φορές το αποτέλεσμα εμφανίζεται αμέσως από κάτω.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Συνδεσμικότητα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ «Εισαγωγή στον οντοκεντρικό προγραμματισμό (βασική εισαγωγή στο περιβάλλον εργασίας)» Ρουσσάκης Ιωάννης, ΤΕΙ Κρήτης,
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ. Δυαδική αναζήτηση (Binary search) ΔΕΔΟΜΕΝΟ: ένα μεγάλο αρχείο που περιέχει τιμές z [0,1,…,n-1] ταξινομημένες.
Δυναμικός Κατακερματισμός
Δομές Δεδομένων 2η Διάλεξη Αλγόριθμοι Ένωσης-Εύρεσης (Union-Find)
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Η Γλώσσα Pascal Υποπρογράμματα
Σειριακή ή Γραμμική Αναζήτηση 1.Μοναδικό Κλειδί (key)
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Ουρά Προτεραιότητας (priority queue)
Άσκηση 1 Ένα σώμα μάζας m ηρεμεί στη θέση Α ενός λείου οριζόντιου επιπέδου. Στο σώμα ασκείται σταθερή δύναμη F. Το σώμα μπαίνει σε κίνηση και στις θέσεις.
Προσομοίωση σφαλμάτων
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε στοιχείο έχει ένα κλειδί από ολικά διατεταγμένο σύνολο Θέλουμε να υποστηρίξουμε δύο.
19η Διάλεξη Εξωτερική Αναζήτηση και Β-δέντρα Ε. Μαρκάκης
14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης Ε. Μαρκάκης
(2,4) Trees 11/15/2018 8:56 PM (2,4) Δέντρα (2,4) Δέντρα.
ΣΤΟΙΧΕΙΟΜΕΤΡΙΑ. Λύση ΣΤΟΙΧΕΙΟΜΕΤΡΙΑ Λύση.
Διαχρονικές Δομές Δεδομένων
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Union - Find 30 Μαρτίου 2017

Union - Find Πως χειριζόμαστε τις διαμερίσεις πάνω στα στοιχεία του σύμπαντος U? Έστω ότι U={0,1,…., N-1}, x ∈ U και Α,Β,C ονόματα συνόλων Find(x) : Επιστρέφει το όνομα του συνόλου στο οποίο ανήκει στο x Union(A,B,C) : Ενώνει τα σύνολα Α και Β κάτω από το κοινό όνομα της C.

Υλοποίηση Find Απλή Λύση Για κάθε στοιχείο έχουμε το σύνολο που ανήκει Πράξη Union(A,B,C) -> απλή με κόστος O(N) A 1 2 B 3 F . N-1

Υλοποίηση Find Χρήση ανεστραμμένων λιστών Μια για κάθε σύνολο L(A) = {0,1,…} L(B) = {2,…,N-1} Find είναι το ίδιο με πριν Union εκτελείται σε χρόνο Ο({ΑUB}) Πιο αποδοτικό αλλαγή μόνο στο όνομα των στοιχείων του μικρότερου συνόλου στο όνομα του άλλου εσωτερικά Κρατάμε και απεικόνιση για τον εξωτερικό παρατηρητή MAPOUT : πχ το Β εσωτερικά είναι το C εξωτερικά MAPIN : πχ το C εξωτερικά είναι το Β εσωτερικά Γιατί στο union(A,B,C) Tα Α έγιναν Β Και κρατάμε ότι το Β είναι το C A 1 2 B 3 F . N-1

UNION(A,B,C) If size(A)<=size(B) then z MAPIN[A]; y<-MAPIN[B]; else z<- MAPIN[B]; y<-MAPIN[A]; For x in List[z] IS_IN[x]y; List[y] List[z]  List[y]; MAPOUT[y]C; MAPIN[C]y; size[C]size[A]+size[B];

Αποδοτικό Find Μια ακολουθία από m Find (Find κόστος Ο(1)) n-1 Unions και (Union κόστος επιμερισμένο Ο(logn)) m Find (Find κόστος Ο(1)) σε σύνολα αρχικού μεγέθους 1 έχει κόστος Ο(m + logn) απόδειξη στο βιβλίο

Αποδοτική υλοποίηση Union Καταναλώνει χρόνο Find για σταθερό χρόνο στο Union 3 πίνακες Father [1…N] : το i-οστό στοιχείο δείχνει τον πατέρα j στον ίδιο πίνακα Name [1…N ] : το i-οστό στοιχείο δείχνει την ομάδα του i αν είναι η ρίζα στην ομάδα αλλιώς κενό Root [] : το i-οστό στοιχείο του πίνακα δείχνει την ρίζα της ομάδας με όνομα i. Find(x): αναζήτηση πατέρα μέχρι πριν να καταλήξουμε σε κενό. Τότε εκτυπώνουμε το αντίστοιχο όνομα Union(A,B,B) : i <- Root[A], j <- Root[B], Father[i] <- j

Weighted Union Rule Για αποφυγή μεγάλων βαθών δέντρων Η ρίζα μικρότερου γίνεται γιός του μεγαλύτερου Χρειάζεται πίνακας size[1…Ν]: i-οστή θέση πλήθος στοιχείων με ρίζα το στοιχείο i. Εφαρμογή: Οι αριθμοί στις παρενθέσεις δηλώνουν τον αριθμό των στοιχείων κάθε συνόλου. Τα κεφαλαία είναι ονόματα συνόλων U(1,2,A) U(3,4,B) U(A,B,C) U(5,6,D) U(7,8,E) U(D,C,F) U(E,F,G)

Union - Find Ερωτήσεις?