Κατ οίκον Εργασία 2 Σκελετοί Λύσεων
|
|
- Αμύντα Ζέρβας
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΕΠΛ 3 Δομές Δεδομένων και Αλγόριθμοι Νοέμβριος 00 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Έστω ο αριθμός φύλλων που βρίσκονται στο επίπεδο ενός δυαδικού δένδρου. Θέλουμε να αποδείξουμε την πρόταση: Η απόδειξη μπορεί να γίνει με μαθηματική επαγωγή. Βασική περίπτωση = - Προφανώς η περίπτωση αυτή αφορά το κενό δένδρο. Τότε Επομένως το ζητούμενο έπεται. Βασική περίπτωση = 0 Προφανώς η περίπτωση αυτή αφορά δένδρο με ένα ακριβώς κόμβο, τη ρίζα. Τότε Επομένως το ζητούμενο έπεται. Υπόθεση της επαγωγής: Έστω Π(k) για κάθε k < m. Βήμα της επαγωγής: Θα δείξουμε ότι η Π(m) αληθεύει. Έστω ένα δυαδικό δένδρο με ύψος m. Το δένδρο αυτό αποτελείται από μια ρίζα και δύο μη κενά υπόδενδρα που ριζώνουν σε αυτή. Προφανώς και τα δύο αυτά υπόδενδρα έχουν ύψος μικρότερο του m. Έστω L και R τα ύψη του αριστερού και δεξιού υποδένδρου, αντίστοιχα, και L και R ο αριθμός φύλλων που βρίσκονται στο επίπεδο στο αριστερό και στο δεξιό υπόδενδρο αντίστοιχα. Τότε από την υπόθεση της επαγωγής έχουμε για τα δένδρα L και R ότι Ας επιστρέψουμε στο αρχικό δένδρο. Παρατηρούμε ότι τα φύλλα που βρίσκονται στο επίπεδο του αρχικού δένδρου είναι το άθροισμα των φύλλων που βρίσκονται στο επίπεδο - των υποδένδρων L και R, δηλαδή: και = - L + - R Επομένως, ξεκινώντας με το αριστερό σκέλος της ζητούμενης πρότασης, έχουμε
2 ΕΠΛ 3 Δομές Δεδομένων και Αλγόριθμοι Νοέμβριος 00 L R R L R L Αυτό συμπληρώνει την απόδειξη. Άσκηση Μία σειρά εισαγωγής των στοιχείων που έχει ως αποτέλεσμα την δημιουργία του δένδρου με τον μέγιστο αριθμό κόμβων είναι η, 4, 5, 7, 8, 8, 9, 7. (Υπάρχουν και άλλες σειρές εισαγωγής που δίνουν αυτό τον αριθμό κόμβων.) Μια σειρά που παράγει δένδρο με τον μικρότερο αριθμό κόμβων είναι η 7, 4, 8, 9, 5, 8,, 7. Η σειρά αυτή δημιουργεί το πιο κάτω δένδρο με 4 κόμβους. (Υπάρχουν και άλλες σειρές εισαγωγής που δίνουν αυτό τον αριθμό κόμβων.) Άσκηση 3 Προφανώς τα δένδρα τα οποία θα υλοποιήσουμε δεν έχουν κάποιο προκαθορισμένο βαθμό (δεν υπάρχει καθορισμένος μέγιστος βαθμός ενός κόμβου). Έτσι για εξοικονόμηση χώρου και για υλοποίηση λύσης χωρίς την επιβολή οποιωνδήποτε {Για κάθε > L +, L = 0 και συμμετρικά για κάθε +> R {Από την υπόθεση της επαγωγής
3 ΕΠΛ 3 Δομές Δεδομένων και Αλγόριθμοι Νοέμβριος 00 περιορισμών/υποθέσεων επιλέγουμε να υλοποιήσουμε το δένδρο φυλάγοντας για κάθε κόμβο το πρώτο του παιδί και τον επί δεξιά του αδελφό. Αυτό υλοποιείται μέσω των δομών: struct person{ strng name; nt brt; nt deat; strng spouse; typedef struct FTnode{ struct person pers; struct FTnode *frstcd; struct FTnode *rgtsbng; ftnode; και υποθέτουμε πως ένα γενεαλογικό δένδρο είναι υλοποιημένο ως δείκτης στη ρίζα του δένδρου, δηλαδή, έχει τύπο *ftnode. Αρχικά υλοποιούμε τη βοηθητική διαδικασία Fnd (name, ftree) η οποία εντοπίζει και επιστρέφει δείκτη στον κόμβο που αφορά το άτομο με όνομα name στο δένδρο που δείχνεται από το δείκτη ftree, αν υπάρχει. ftnode *Fnd(strng name, ftnode *p) { f (p == NULL) return NULL ese { f ((p->pers->name) == name) return p; ese { q = Fnd(name, p -> frstcd); f (q!= NULL) return q; ese return Fnd(name, p -> rgtsbng); () Για να τυπώσουμε τα ονόματα των παιδιών ενός ατόμου με κάποιο όνομα, πρώτα εντοπίζουμε τον κόμβο που αντιστοιχεί στο συγκεκριμένο άτομο και μετά επισκεπτόμαστε τα παιδιά του μέσω του δείκτη frstcd του κόμβου και των δεικτών rgtsbng των παιδιών: Cdren(strng name, ftnode *p) { q = Fnd(name, p); f (q!= NULL) { q = p->frstcd; we (q!= NULL) { prnt (q->pers)->name; q = q->rgtsbng; 3
4 ΕΠΛ 3 Δομές Δεδομένων και Αλγόριθμοι Νοέμβριος 00 () Για να εισαγάγουμε ένα νέο παιδί κάποιου ατόμου θα πρέπει πρώτα να εντοπίσουμε το άτομο αυτό, και στη συνέχεια να τοποθετήσουμε το νέο παιδί στη λίστα παιδιών που δείχνεται από το δείκτη frstcd: Newcd(strng cd, nt year, strng parent, ftnode *p) { q = Fnd(parent, p); f (q!= NULL) { r = (ftnode *) maoc(szeof(ftnode)); r->pers->name = cd; r->pers->brt = year; r->pers->deat = -; r->frstcd = NULL; r->rgtsbng = q->frstcd; q -> frstcd = r; () H διαδικασία που προτείνεται αρχικά εντοπίζει τον ζητούμενο κόμβο και στη συνέχειακαλεί μια δεύτερη, αναδρομική διαδικασία στο πρώτο παιδί του κόμβου αυτού. Η αναδρομική διαδικασία δουλεύει ως εξής: αν το παιδί δεν είναι κενό, τότε: αν το άτομο στη ρίζα του δένδρου βρίσκεται εν ζωή, τότε το όνομα του ατόμου τυπώνεται στην οθόνη και η διαδικασία καλείται () στο πρώτο παιδί του κόμβου και () στον επί δεξιά αδελφό του κόμβου. Lvng(strng name, ftnode *p) { q = Fnd(name, p); f (q == NULL) return; ese f (q->frstcd!= NULL) RecLvng(q->frstcd); RecLve(ftnode *p){ f (p->deat == -) prnt(p->pers->name); f (p->frstcd!= NULL) RecLve(p->frstcd) f (p->rgtsbng!= NULL) RecLve(p->rgsbng) Ο χρόνος εκτέλεσης των διαδικασιών είναι Ο(n) όπου n είναι ο αριθμός των κόμβων του δένδρου. 4
5 ΕΠΛ 3 Δομές Δεδομένων και Αλγόριθμοι Νοέμβριος 00 Άσκηση 4 Χρησιμοποιούμε τη δομή typedef struct Νode{ nt key; struct node *eft; struct node *rgt; node; και υποθέτουμε πως ένα δυαδικό δένδρο είναι υλοποιημένο ως δείκτης στη ρίζα του δένδρου, δηλαδή, έχει τύπο *node. Το ζητούμενο υλοποιείται με την πιο κάτω αναδρομική διαδικασία: Reverse(node *p){ f (p!= NULL) { temp = p->eft; p->eft = p->rgt; p->rgt = temp; f (p->eft!= NULL) Reverse(p -> eft); f (p->rgt!= NULL) Reverse(p -> rgt); Η αναδρομική διαδικασία καλείται μια φορά σε κάθε κόμβο, επομένως ο χρόνος εκτέλεσής της είναι Ο(n) όπου n είναι ο αριθμός των κόμβων του δένδρου. Η μη-αναδρομική εκδοχή της διαδικασία απαιτεί τη χρήση βοηθητικής δομής. I. Έστω p δείκτης στον κόμβο του δένδρου όπου βρισκόμαστε. Μεταθέτουμε τους δείκτες p->eft και p->rgt. Τοποθετούμε σε μια ουρά (ή στοίβα η σειρά με την οποία γίνονται οι αντιστροφές δεν έχει σημασία) τον δείκτη p->rgt, αν αυτός δεν είναι NULL. II. Εφόσον ο κόμβος έχει αριστερό παιδί προχωρούμε αριστερά και επαναλαμβάνουμε από το βήμα Ι. III. Διαφορετικά, εφόσον η ουρά δεν είναι κενή, ανασύρουμε τον κόμβο κορυφής της, έστω q και προχωρούμε στο βήμα Ι με τον δείκτη q. Reverse(node *p){ queue Q; MakeEmpty(Q); we (p!= NULL OR!IsEmpty(Q)) { f (p!= NULL) { temp = p->eft; p->eft = p->rgt; p->rgt = temp; f (p -> rgt!= NULL) Enqueue(p -> rgt, Q); p = p ->eft; 5
6 ΕΠΛ 3 Δομές Δεδομένων και Αλγόριθμοι Νοέμβριος 00 ese p = Dequeue(Q); Η διαδικασία επισκέπτεται κάθε κόμβο ακριβώς μια φορά, επομένως ο χρόνος εκτέλεσής της είναι Ο(n) όπου n είναι ο αριθμός των κόμβων του δένδρου. Στην πράξη αναμένουμε η δεύτερη διαδικασία να είναι αποδοτικότερη εφόσον αποφεύγει την αναδρομή και τη σχετική χρήση στοίβας για αποθήκευση και ανάσυρση των στοιχείων των καλούντων διαδικασιών, γεγονός που στοιχίζει στην αποδοτικότητα χρόνου και χώρου. Άσκηση 5 Για την υλοποίηση του ζητούμενου ΑΤΔ χρησιμοποιούμε μια επέκταση των AVL δένδρων όπου, σε κάθε κόμβο, περιέχεται πεδίο numnodes το οποίο αποθηκεύει τον αριθμό των κόμβων του δένδρου που ριζώνει στον κόμβο. Χρησιμοποιούμε την εξής εγγραφή: typedef struct Νode{ nt key; nt egt; nt numnodes; struct Node *eft; struct Node *rgt; node; Ως βοηθητικές διαδικασίες υλοποιούμε τις countabggertan(p,k) και countasmaertan(p,k) οι οποίες υπολογίζουν και επιστρέφουν τον αριθμό των κλειδιών στο δένδρο που ριζώνει στον κόμβο p και είναι μεγαλύτερα και μικρότερα, αντίστοιχα από το k: CountAnRange(node *p, nt k, nt k) { f p = NULL return 0 f (p->key < k) return CountAnRange(p->rgt, k, k); f (p->key > k) return CountAnRange(p->eft, k, k) ese return ( + countabggertan(p->eft, k) + countasmaertan(p->rgt, k) ) H ιδέα που χρησιμοποιείται στον αναδρομικό αυτό αλγόριθμο είναι ότι αν (p->key < k) τότε μπορούμε να αγνοήσουμε τα στοιχεία του αριστερού υπόδενδρου του p και παρόμοια αν (p->key > k) τότε μπορούμε να αγνοήσουμε τα στοιχεία του δεξιού υπόδενδρου του p. Διαφορετικά, θα πρέπει να επιστρέψουμε [ το πλήθος των κλειδιών του αριστερού υπόδενδρου που είναι μεγαλύτερα από k + το πλήθος των κλειδιών του δεξιού υπόδενδρου που είναι μικρότερα από το k + για ρίζα]. 6
7 ΕΠΛ 3 Δομές Δεδομένων και Αλγόριθμοι Νοέμβριος 00 Η διαδικασία αυτή θα κάνει το πολύ όσες αναδρομικές κλήσεις όσες και το ύψος του δένδρου ενώ κάθε κλήση θα έχει χρόνο εκτέλεσης Ο(). Επομένως ο χρόνος εκτέλεσης της διαδικασίας θα είναι Ο(g n). Πιο κάτω ορίζονται οι δύο βοηθητικές διαδικασίες countabggertan(p,k) και countasmaertan(p,k). countabggertan(p, k){ f p == NULL return 0 f (p->key < k) return countabggertan(p->rgt, k) ese return ( + countabggertan(p->eft, k) + p->rgt->numnodes); countasmaertan(p, k){ f p == NULL return 0 f (p->key > k) return countasmaertan(p->eft, k) ese return ( + countasmaertan(p->rgt, k) + p->eft->numnodes); Απομένει να δείξουμε τον τρόπο με τον οποίο μπορούμε να υλοποιήσουμε τις πράξεις λεξικού στη δομή μας έτσι ώστε το πεδίο numnodes των κόμβων να παίρνει τη σωστή τιμή. Αυτή η επέκταση αφήνεται ως άσκηση στον αναγνώστη. (Υπόδειξη: οι περιστροφές γίνονται ακριβώς όπως σε ένα AVL δένδρο, αλλά τώρα θα πρέπει σε κάθε βήμα μετά από την εισαγωγή του νέου κόμβου να δίνουμε στα πεδία numnodes κατάλληλες καινούριες τιμές.) 7
Κατ οίκον Εργασία 3 Σκελετοί Λύσεων
Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 (α) Έστω Α(n) και Κ(n) ο αριθμός των ακμών και ο αριθμός των κόμβων ενός αυστηρά δυαδικού δένδρου με n φύλλα. Θέλουμε να αποδείξουμε για κάθε n 1 την πρόταση
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 3 Δέντρα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΑΣΚΗΣΗ 3 Δέντρα Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία Υποβολής: 19/03/2013 Ημερομηνία Παράδοσης:
Κατ οίκον Εργασία 3 Σκελετοί Λύσεων
Άσκηση 1 Χρησιµοποιούµε τη δοµή Κατ οίκον Εργασία 3 Σκελετοί Λύσεων typedef struct Node int data; struct node *lchild; struct node *rbro; node; και υποθέτουµε πως ένα τυχαίο δένδρο είναι υλοποιηµένο ως
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ
Εργασία 3 Σκελετοί Λύσεων
Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 Χρησιμοποιούμε τη δομή typedef struct TNode{ int key; struct TNode *left; struct TNode *right; tnode; και υποθέτουμε πως ένα δυαδικό δένδρο είναι υλοποιημένο ως δείκτης
Αναδροµή. Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής
Αναδροµή Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής 1 Αναδροµή Βασική έννοια στα Μαθηµατικά και στην Πληροφορική.
Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:
Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 22: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης - Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Άσκηση 1 Ο ζητούμενος ΑΤΔ μπορεί να υλοποιηθεί ως μια ακολουθία από στοιχεία τύπου window συνοδευόμενη από τις πράξεις: MakeNewWindow(L,w) Destroy(L,w) SwitchTo(L,w)
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή
Φροντιστήριο 4 Σκελετοί Λύσεων
Φροντιστήριο 4 Σκελετοί Λύσεων 1. Ο ζητούμενος ΑΤΔ μπορεί να υλοποιηθεί ως εξής: (i) Διαδοχική χορήγηση μνήμης Υποθέτουμε ότι οι λίστες μας έχουν μέγιστο μέγεθος max και χρησιμοποιούμε τη δομή type elements[max];
Φροντιστήριο 4 Σκελετοί Λύσεων
Φροντιστήριο 4 Σκελετοί Λύσεων Άσκηση 1 Υποθέτουμε πως οι λίστες είναι υλοποιημένες χρησιμοποιώντας τις πιο κάτω δομές. typedef struct Node{ type data; struct node *next; node; node *top; list; Υλοποιούμε
Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Κατ οίκον Εργασία 5 Σκελετοί Λύσεων
Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Άσκηση 1 Χρησιμοποιούμε τις δομές: struct hashtable { struct node array[maxsize]; int maxsize; int size; struct node{ int data; int status; Στο πεδίο status σημειώνουμε
Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα
Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης (ΔΔΑ) Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου Εισαγωγή στοιχείου
Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις
Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του
Διάλεξη 26: Σωροί. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 26: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας -Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης 1. Στόχος του εργαστηρίου Στόχος του δέκατου εργαστηρίου
Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:
Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, ορισμοί, πράξεις και αναπαράσταση στη μνήμη ΔυαδικάΔένδρακαιΔυαδικάΔένδραΑναζήτησης ΕΠΛ 231 Δομές
Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :
Δένδρα Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών : Ανάλυση αλγορίθμων (π.χ. δένδρα αναδρομής) Δομές δεδομένων (π.χ. δένδρα αναζήτησης) ακμή Κατηγορίες (αύξουσα
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 23: Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ισοζυγισμένα Δέντρα - Υλοποίηση AVL-δέντρων - Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα Διδάσκων:
Κατ οίκον Εργασία 4 Σκελετοί Λύσεων
Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Αναδρομική διαδικασία Η αναδρομική διαδικασία RecIsheap παίρνει ως παραμέτρους τον πίνακα, το μέγεθός του καθώς και το στοιχείο το οποίο θα τύχει επεξεργασίας.
Διάλεξη 11: Φροντιστήριο για Στοίβες. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.
Διάλεξη 11: Φροντιστήριο για Στοίβες Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 1 ΑΤΔ Στοίβα- Πράξεις Θυμηθείτε τον ΑΤΔ στοίβα με τις πράξεις του: MakeEmptyStack()
Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας Η δομή
Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα
Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ισοζυγισμένα Δέντρα Υλοποίηση AVL δέντρων Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα
Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ισοζυγισμένα Δέντρα Υλοποίηση AVL δέντρων Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα
Διάλεξη 13: Δέντρα ΙΙΙ - Ισοζυγισμένα Δέντρα, AVL Δέντρα
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 13: Δέντρα ΙΙΙ - Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ισοζυγισμένα Δέντρα - Υλοποίηση AVL-δέντρων
Π(n) : 1 + a + + a n = an+1 1 a 1. a 1. + a k+1 = ak+2 1
Διακριτά Μαθηματικά [Rosen, κεφ. 5] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Νοέμβριος 2018 Επαγωγή και Αναδρομή [Rosen, κεφ. 5] Μαθηματική επαγωγή [Rosen 5.1] Μέθοδος απόδειξης μιας μαθηματικής
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Άσκηση 1 Υπάρχουν διάφοροι τρόποι για να υλοποιήσουμε πράξεις ουράς για την προτεινόμενη εγγραφή. To πρόβλημα που δημιουργείται με οποιαδήποτε από αυτές είναι ότι είναι
Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)
Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή
Διδάσκων: Κωνσταντίνος Κώστα
Διάλεξη Ε4: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Δυαδικά Δένδρα Αναζήτησης Ισοζυγισμένα Δένδρα & 2-3 Δένδρα Διδάσκων: Κωνσταντίνος
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα στα οποία κάθε κόμβος μπορεί να αποθηκεύει ένα ή περισσότερα κλειδιά. Κόμβος με d διακλαδώσεις : k 1 k 2 k 3 k 4 d-1 διατεταγμένα κλειδιά d διατεταγμένα παιδιά
Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort
Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα
Δομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με
Εργαστήριο 8: Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ
Εργαστήριο 8: Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ με αλφαβητική σειρά
Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:
Υλοποίηση Λιστών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμές Απλά και Διπλά Συνδεδεμένες Λίστες Κυκλικές Απλά και Διπλά Συνδεδεμένες Λίστες Τεχνικές Μείωσης Μνήμης ΕΠΛ 231 Δομές
Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε
Εργαστήριο 5 Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ με αλφαβητική σειρά
EPL231: Δομές Δεδομένων και Αλγόριθμοι Εργαστήριο 5 Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ με αλφαβητική σειρά Αναδρομή Η αναδρομή εμφανίζεται όταν μία διεργασία καλεί τον εαυτό της Υπάρχουν
Ουρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης
Ουρές Προτεραιότητας: Υπενθύμιση Σωροί / Αναδρομή / Ταξινόμηση Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς (Abstract Data Type) με μεθόδους: Μπορεί να υλοποιηθεί με
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 (5.1-5.2 και 5.4-5.6) Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Δέντρα Βασικοί ορισµοί Μαθηµατικές ιδιότητες Διάσχιση δέντρων Preorder, postorder,
ΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης
ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 7 ο έντρο Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης έντρο Ορισµός Υλοποίηση µε Πίνακα Υλοποίηση µε είκτες υαδικό έντρο
Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -
Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με
Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες
Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 14: Δέντρα IV B Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2 3 Δένδρα, Εισαγωγή και άλλες πράξεις Άλλα Δέντρα: Β δένδρα, Β+ δέντρα, R δέντρα Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231
Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)
Ενότητα 9 (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή ισχύει ότι S i S j =, για κάθε i,j µε i j και S 1 S k = U. Λειτουργίες q MakeSet(X): επιστρέφει
Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής
Ενότητα 8: Γραμμική Αναζήτηση και Δυαδική Αναζήτηση-Εισαγωγή στα Δέντρα και Δυαδικά Δέντρα-Δυαδικά Δέντρα Αναζήτησης & Υλοποίηση ΔΔΑ με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό
Κατ οίκον Εργασία 1 Σκελετοί Λύσεων
ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Παρατηρούμε ότι ο χρόνος εκτέλεσης μέσης περίπτωσης της κάθε εντολής if ξεχωριστά: if (c mod 0) for (k ; k
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 7: Διαχείριση Μνήμης,Δυναμικές Δομές Δεδομένων, Αναδρομή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Δυναμικές Δομές Δεδομένων Γενικά - Δυναμική Δέσμευση/Αποδέσμευση
Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από
Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης
Δοµές Δεδοµένων 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης Περίληψη Quicksort Χαρακτηριστικά επιδόσεων Μη αναδροµική υλοποίηση Δέντρα Μαθηµατικές ιδιότητες Δοµές Δεδοµένων 11-2
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα?
Κόκκινα-Μαύρα ένδρα (Red-Black Trees) Ένα κόκκινο-µαύρο δένδρο είναι ένα δυαδικό δένδρο αναζήτησης στο οποίο οι κόµβοι µπορούν να χαρακτηρίζονται από ένα εκ των δύο χρωµάτων: µαύρο-κόκκινο. Το χρώµα της
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων
ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 3: Δομές Δεδομένων και Αλγόριθμοι Ενδιάμεση Εξέταση Ημερομηνία : Τετάρτη, 4 Οκτωβρίου 005 Διάρκεια : 5.00-6.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο: Αριθμός
Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Βασικές Δομές Δεδομένων
Βασικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αφηρημένοι Τύποι Δεδομένων Οι ΑΤΔ Στοίβα και Ουρά Υλοποίηση των ΑΤΔ Στοίβα και Ουρά με Διαδοχική και Δυναμική Χορήγηση
Π(n) : 1 + a + + a n = αν+1 1
Διακριτά Μαθηματικά [Rosen, κεφ. 5] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Νοέμβριος 2017 Επαγωγή και Αναδρομή [Rosen, κεφ. 5] Μαθηματική επαγωγή [Rosen 5.1] Μέθοδος απόδειξης μιας μαθηματικής
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών Ακαδηµαϊκό έτος 2010 2011, Χειµερινό εξάµηνο Ασκήσεις Επανάληψης Ενδιάµεσης
ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v.
ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΗΥ240 - Παναγιώτα Φατούρου 1 ένδρα Κόµβοι (nodes) Ακµές (edges) Ουρά και κεφαλή ακµής (tail, head) Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) Μονοπάτι (path) Πρόγονος απόγονος
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 6: Διαχείριση Μνήμης & Δυναμικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυναμικές Δομές Δεδομένων Γενικά Δυναμική Δέσμευση/Αποδέσμευση Μνήμης Δομή τύπου structure
Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου
Συμπίεση Η συμπίεση δεδομένων ελαττώνει το μέγεθος ενός αρχείου : Εξοικονόμηση αποθηκευτικού χώρου Εξοικονόμηση χρόνου μετάδοσης Τα περισσότερα αρχεία έχουν πλεονασμό στα δεδομένα τους Είναι σημαντική
Δέντρα (Trees) - Ιεραρχική Δομή
Δέντρα (Trees) - Ιεραρχική Δομή Εφαρμογές Δομή Οργάνωση Αρχείων Οργανογράμματα Ορισμός (αναδρομικός ορισμός): Ένα δέντρο είναι ένα πεπερασμένο σύνολο κόμβων το οποίο είτε είναι κενό είτε μη κενό σύνολο
Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Κατ οίκον Εργασία 1 Σκελετοί Λύσεων
ΕΠΛ 1 Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 009 Κατ οίκον Εργασία 1 Σκελετοί Λύσεων Άσκηση 1 Αρχικά θα πρέπει να υπολογίσουμε τον αριθμό των πράξεων που μπορεί να εκτελέσει ο υπολογιστής σε μια ώρα,
Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 8 Ξένα Σύνολα
Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ουρές Προτεραιότητας Σωροί υλοποίηση και πράξεις Ο αλγόριθμος ταξινόμησης HeapSort
Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ουρές Προτεραιότητας Σωροί υλοποίηση και πράξεις Ο αλγόριθμος ταξινόμησης HeapSort ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι 9-1 Ουρά προτεραιότητας
Ενότητα 7 Ουρές Προτεραιότητας
Ενότητα Ουρές Προτεραιότητας ΗΥ4 - Παναγιώτα Φατούρου Ουρές Προτεραιότητας Θεωρούµε ένα χώρο κλειδιών U και έστω ότι µε κάθε κλειδί Κ (τύπου Key) έχει συσχετισθεί κάποια πληροφορία Ι (τύπου Type). Έστω
Γέφυρες σε Δίκτυα. Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος. Γέφυρα του (με αφετηρία τον ) :
Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος και Γέφυρα του (με αφετηρία τον ) : Ακμή που περιέχεται σε κάθε μονοπάτι από το στο s a b c d e f g h i j k l Μας δίνεται ένα δίκτυο (κατευθυνόμενο
Ουρά Προτεραιότητας (priority queue)
Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει δύο βασικές λειτουργίες : Εισαγωγή στοιχείου με δεδομένο κλειδί. Επιστροφή ενός στοιχείου με μέγιστο (ή ελάχιστο) κλειδί και διαγραφή
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 21: Εισαγωγή σε Δενδρικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Εισαγωγή σε δενδρικές δομές δεδομένων, -Ορισμοί και πράξεις - Αναπαράσταση δενδρικών δομών δεδομένων
ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 8-1
B-Δένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: 2-3 Δένδρα, Υλοποίηση και πράξεις Β-δένδρα ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 8-1 2-3 Δένδρα Γενίκευση των δυαδικών δένδρων αναζήτησης.
ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ
ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ Ουρές Προτεραιότητας (Priority Queues) Θεωρούµε ότι τα προς αποθήκευση στοιχεία έχουν κάποια διάταξη (καθένα έχει µια προτεραιότητα). Τα προς αποθήκευση στοιχεία είναι
Κεφάλαιο 6 Ουρές Προτεραιότητας
Κεφάλαιο 6 Ουρές Προτεραιότητας Περιεχόμενα 6.1 Ο αφηρημένος τύπος δεδομένων ουράς προτεραιότητας... 114 6.2 Ουρές προτεραιότητας με στοιχειώδεις δομές δεδομένων... 115 6.3 Δυαδικός σωρός... 116 6.3.1
Δομές δεδομένων. Ενότητα 5η: Υλοποίηση Λεξικών με Ισοζυγισμένα Δένδρα Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 5η: Υλοποίηση Λεξικών με Ισοζυγισμένα Δένδρα Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΝΟΤΗΤΑ 5 ΥΛΟΠΟΙΗΣΗ ΛΕΞΙΚΩΝ ΜΕ ΙΣΟΖΥΓΙΣΜΕΝΑ ΔΕΝΔΡΑ
Επιλογές και Κριτήρια Σχεδιασμού ΑΤΔ Ανεξαρτήτως από Γλώσσα Υλοποίησης 24/4/2012
Επιλογές και Κριτήρια Σχεδιασμού ΑΤΔ Ανεξαρτήτως από Γλώσσα Υλοποίησης 24/4/2012 Κύκλος (Ζωής) Λογισμικού (ΑΤΔ) Γενικά Ορισμός ΑΤΔ (Προδιαγραφές) Οργάνωση Δεδομένων Τι κάνει Υλοποίηση Σχεδιασμός (ανεξάρτητος
Κεφάλαιο 11 Ένωση Ξένων Συνόλων
Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά
Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα
Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων
Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Ορισμοί και πράξεις Αναπαράσταση δενδρικών δομών
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Άσκηση 1 Ξεκινούμε με τον αριθμό μας, n, και αρχίζουμε να τον διαιρούμε με ακέραιους ξεκινώντας με το 2 και προχωρώντας στο 3, 4, 5,. Όταν εντοπίσουμε πως ένας αριθμός
σωροί ταξινόμηση σωρού οόροςheap σωρός (heap) συστοιχία Α για έναν σωρό μια δομή δεδομένων που πχ.
Παύλος Εφραιμίδης άλλος ένας αλγόριθμος ταξινόμησης πολυπλοκότητας O(n lgn) Ιδιαίτερα χαρακτηριστικά: χρησιμοποιεί μια δομή δεδομένων που ονομάζεται «σωρός» είναι επιτόπια: το πλήθος των στοιχείων της
Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας Η δομή
ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 9-1
Σωροί Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ουρές Προτεραιότητας Σωροί υλοποίηση και πράξεις Ο αλγόριθµος ταξινόµησης HeapSort Παραλλαγές Σωρών ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών Ακαδηµαϊκό έτος 2010 2011, Χειµερινό εξάµηνο Όλες οι ασκήσεις να δακτυλογραφηθούν
ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,
AVL- ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Υλοποίηση ΑVL-δένδρων Εισαγωγή κόµβων και περιστροφές ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 7-1 AVL ένδρα Είναι δυνατό
Σύνοψη Προηγούμενου. Λίστες (Lists) Συνδεδεμένες Λίστες: Εισαγωγή (1/2) Συνδεδεμένες Λίστες. Ορέστης Τελέλης
Σύνοψη Προηγούμενου Λίστες (Lists) Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Στοίβες (Stacks) : στην κορυφή της στοίβας ( ) από την κορυφή της στοίβας ( ) Ουρές
Παράδειγμα δομικής επαγωγής Ορισμός δομικής επαγωγής Συμβολοσειρές Γλώσσες Δυαδικά δένδρα Μαθηματικά Πληροφορικής 3ο Μάθημα Τμήμα Πληροφορικής και Τηλ
Μαθηματικά Πληροφορικής 3ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Δομική επαγωγή Η ιδέα της μαθηματικής επαγωγής μπορεί να επεκταθεί και σε άλλες δομές εκτός από το σύνολο N
Δομές Δεδομένων. Ενότητα 10: Πλήρη Δυαδικά Δέντρα, Μέγιστα/Ελάχιστα Δέντρα & Εισαγωγή στο Σωρό- Ο ΑΤΔ Μέγιστος Σωρός. Καθηγήτρια Μαρία Σατρατζέμη
Ενότητα 10: Πλήρη Δυαδικά Δέντρα, Μέγιστα/Ελάχιστα Δέντρα & Εισαγωγή στο Σωρό- Ο ΑΤΔ Μέγιστος Σωρός Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Δομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 16 Δένδρα (Trees) 1 / 42 Δένδρα (Trees) Ένα δένδρο είναι ένα συνδεδεμένο γράφημα χωρίς κύκλους Για κάθε
Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).
Βασικές Δοµές Δεδοµένων Σύντοµη επανάληψη (ΕΠΛ 035). Περίληψη Γραµµικές Δοµές Δεδοµένων Πίνακες Λίστες Στοίβες Ουρές Γράφοι Δέντρα Γραµµικές Δοµές Πίνακας (array) A[0] A[1] A[2] A[ ] A[n-1] Προκαθορισµένη
Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι
Φροντιστήριο: Επανάληψη για την ενδιάμεση εξέταση Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Μαθηματική Επαγωγή Να αποδείξετε ότι 1 3 5... (2 1) 2 για >0. Απόδειξη: Επαληθεύουμε
Παράδειγμα δομικής επαγωγής Ορισμός δομικής επαγωγής Συμβολοσειρές Γλώσσες Δυαδικά δένδρα Μαθηματικά Πληροφορικής 3ο Μάθημα Αρχικός συγγραφέας: Ηλίας
Μαθηματικά Πληροφορικής 3ο Μάθημα Αρχικός συγγραφέας: Ηλίας Κουτσουπιάς Τροποποιήσεις: Σταύρος Κολλιόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Δομική επαγωγή Η ιδέα της μαθηματικής
Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL
Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL Υλικό από τις σηµειώσεις Ν. Παπασπύρου, 2006 Δέντρα δυαδικής αναζήτησης Δενδρικές δοµές δεδοµένων στις οποίες Όλα τα στοιχεία στο αριστερό υποδέντρο της ρίζας είναι
Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας (Priority
ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,
B- ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: 2-3 ένδρα, Υλοποίηση και πράξεις Β-δένδρα ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 8-1 2-3 ένδρα Γενίκευση των δυαδικών
Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Εισαγωγή σε δενδρικές δομές δεδομένων, -
Κεφάλαιο 2. Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014
Κεφάλαιο 2 Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Σωρός και Ταξινόμηση
Δομές Δεδομένων. Ενότητα 6: Εφαρμογή Συνδεδεμένων Λιστών: Αλφαβητικό ευρετήριο κειμένου- Υλοποίηση ΑΤΔ Στοίβα και Ουρά με δείκτες
Ενότητα 6: Εφαρμογή Συνδεδεμένων Λιστών: Αλφαβητικό ευρετήριο κειμένου- Υλοποίηση ΑΤΔ Στοίβα και Ουρά με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες