Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών
|
|
- Μενέλαος Βλαβιανός
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) πλήθος κορυφών πλήθος ακμών
2 Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) Μερικά είδη γραφημάτων: Κατεύθυνση ακμών - μη κατευθυνόμενα - κατευθυνόμενα Βάρος ακμών - μη σταθμισμένα - σταθμισμένα
3 Αναπαράσταση Γραφήματος Μήτρα γειτνίασης (adjacency matrix) Χρησιμοποιούμε έναν πίνακα, όπου Χώρος: bits 4 5 συμμετρικός πίνακας Ελέγχουμε αν σε χρόνο Επεξεργαζόμαστε όλες τις ακμές σε χρόνο
4 Αναπαράσταση Γραφήματος Μήτρα γειτνίασης (adjacency matrix) Χρησιμοποιούμε έναν πίνακα, όπου Χώρος: bits 4 5 Ελέγχουμε αν σε χρόνο Επεξεργαζόμαστε όλες τις ακμές σε χρόνο
5 Αναπαράσταση Γραφήματος Μήτρα γειτνίασης (adjacency matrix) class AdjacencyMatrix { } public static void main(string[] args) { int N = Integer.parseInt(args[0]); int M = Integer.parseInt(args[1]); boolean adj[][] = new boolean[n][n]; for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) adj[i][j] = false; for (int i = 0; j < N; j++) adj[i][i] = true; for (In.init();!In.empty();) { int i = In.getInt(), j = In.getInt(); adj[i][j] = true; adj[j][i] = true; } } Διαβάζει μη κατευθυνόμενο γράφημα
6 Αναπαράσταση Γραφήματος Λίστες γειτνίασης (adjacency lists) Χρησιμοποιούμε έναν πίνακα, όπου είναι αναφορά σε λίστα A των κόμβων που γειτονεύουν με τnν κορυφή Χώρος: λέξεις Κάθε ακμή εμφανίζεται 2 φορές Ελέγχουμε αν σε χρόνο Επεξεργαζόμαστε όλες τις ακμές σε χρόνο
7 Αναπαράσταση Γραφήματος Λίστες γειτνίασης (adjacency lists) Χρησιμοποιούμε έναν πίνακα, όπου είναι αναφορά σε λίστα A των κόμβων που γειτονεύουν με τnν κορυφή Χώρος: λέξεις Ελέγχουμε αν σε χρόνο Επεξεργαζόμαστε όλες τις ακμές σε χρόνο
8 Αναπαράσταση Γραφήματος adj Λίστες γειτνίασης (adjacency lists) class AdjacencyLists { static class Node { int v; Node next; Node(int v, Node t) { this.v = v; next = t; } } } public static void main(string[] args) { int N = Integer.parseInt(args[0]); int M = Integer.parseInt(args[1]); Node adj[] = new Node[V]; for (int i = 0; i < N; i++) adj[i] = null; for (In.init();!In.empty();) { int i = In.getInt(), j = In.getInt(); adj[j] = new Node(i, adj[j]); adj[i] = new Node(j, adj[i]); } } Διαβάζει μη κατευθυνόμενο γράφημα
9 Αναπαράσταση Γραφήματος Λίστες γειτνίασης (adjacency lists) Χρησιμοποιούμε έναν πίνακα, όπου είναι αναφορά σε λίστα A των κόμβων που γειτονεύουν με τnν κορυφή Χώρος: λέξεις Αν το γράφημα είναι στατικό (δεν έχουμε εισαγωγές ή διαγραφές ακμών) τότε μπορούμε να αναπαραστήσουμε τις λίστες γειτνίασης με 2 μονοδιάστατους πίνακες
10 Αναπαράσταση Γραφήματος Λίστες γειτνίασης (adjacency lists) Αν το γράφημα είναι στατικό (δεν έχουμε εισαγωγές ή διαγραφές ακμών) τότε μπορούμε να αναπαραστήσουμε τις λίστες γειτνίασης με 2 μονοδιάστατους πίνακες Οι γείτονες του κόμβου βρίσκονται στις θέσεις όπου και Χώρος: λέξεις για μη κατευθυνόμενο γράφημα, για κατευθυνόμενο
11 Τυχαία Γραφήματα Επιλέγουμε ακμές τυχαία (από κάποια κατανομή) σε γράφημα με κόμβους
12 Τυχαία Γραφήματα Επιλέγουμε ακμές τυχαία (από κάποια κατανομή) σε γράφημα με κόμβους
13 Τυχαία Γραφήματα Ομοιόμορφα τυχαία επιλογή κόμβων Eπιλέγουμε ομοιόμορφα τυχαία τους δύο κόμβους της κάθε ακμής από τους κόμβους του γραφήματος import java.util.random;... Random rand = new Random(seed); for(int i=0; i<m; i++) { int j = rand.nextint(n) + 1; int k = rand.nextint(n) + 1; addedge(j,k); } Κατασκευάζει γράφημα με κόμβους και ακμές αλλά μπορεί να περιέχει βρόχους και πολλαπλές (επαναλαμβανόμενες) ακμές βρόχος διπλή ακμή
14 Τυχαία Γραφήματα Ομοιόμορφη δειγματοληψία Το παρακάτω πρόγραμμα επιλέγει κάθε μια από τις δυνατές ακμές με πιθανότητα import java.util.random;... Random rand = new Random(seed); double p = (double) 2*m/(n*(n-1)); for (int k=1; k<=n; k++) for (int j=1; j<k; j++) if ( rand.nextdouble() < p ) addedge(j,k); Κατασκευάζει γράφημα με κόμβους και αναμενόμενο αριθμό ακμών
15 Δένδρα Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών : Ανάλυση αλγορίθμων (π.χ. δένδρα αναδρομής) Δομές δεδομένων (π.χ. δένδρα αναζήτησης) ακμή Κατηγορίες (αύξουσα σειρά γενικότητας) : κόμβος Δυαδικά και Μ-αδικά δένδρα Διατεταγμένα δένδρα Δένδρα με ρίζα Ελεύθερα δένδρα διαδρομή
16 Δένδρα με Ρίζα ρίζα πρόγονος του γονέας του αδελφός του παιδί του απόγονος του Ο είναι πρόγονος του (ο απόγονος του ) αν βρίσκεται στο μονοπάτι από τη ρίζα στο
17 Δυαδικά Δένδρα Δυαδικό δένδρο (αναδρομικός ορισμός) = εξωτερικός κόμβος, ή εσωτερικός κόμβος που συνδέεται με ένα δυαδικό δένδρο στα αριστερά και ένα δυαδικό δένδρο στα δεξιά.
18 Δυαδικά Δένδρα Δυαδικό δένδρο - Υλοποίηση class Node { Item item; Node l; Node r; Node(Item v, Node l, Node r) { this.item = v; this.l = l; this.r = r; } } Οι εξωτερικοί κόμβοι αντιστοιχούν σε μηδενικές (null) αναφορές
19 Δυαδικά Δένδρα Δυαδικό δένδρο - Υλοποίηση class Node { Αν δεν υπάρχει πρόβλημα χώρου τότε μπορούμε να έχουμε σε κάθε κόμβο μια αναφορά προς το γονέα του. Αυτό απλοποιεί την υλοποίηση ορισμένων λειτουργιών. } Item item; Node l; Node r; Node p; Node(Item v, Node l, Node r, Node p) { this.item = v; this.l = l; this.r = r; this.p = p; } Οι εξωτερικοί κόμβοι αντιστοιχούν σε μηδενικές (null) αναφορές
20 Μ-αδικά Δένδρα M-αδικό δένδρο (αναδρομικός ορισμός) = εξωτερικός κόμβος, ή εσωτερικός κόμβος που συνδέεται με διατεταγμένη ακολουθία Μ-αδικών δένδρων.
21 Διατεταγμένα Δένδρα Διατεταγμένο δένδρο (αναδρομικός ορισμός) = κόμβος (ρίζα του δένδρου) που συνδέεται με διατεταγμένη ακολουθία διατεταγμένων δένδρων.
22 Διατεταγμένα Δένδρα Διατεταγμένο δένδρο - Υλοποίηση προς επόμενο αδελφό προς 1 ο παιδί
23 Διατεταγμένα Δένδρα Διατεταγμένο δένδρο Μετατροπή σε δυαδικό δένδρο
24 Διατεταγμένα Δένδρα Διατεταγμένο δένδρο Μετατροπή σε δυαδικό δένδρο 1-προς-1 αντιστοιχία
25 Ισομορφικά Δένδρα Διαφορετικά διατεταγμένα δένδρα μπορεί να αντιστοιχούν στο ίδιο μη διατεταγμένο δένδρο.
26 Αναπαραστάσεις Ειδικού Σκοπού Αναπαράσταση με συνάρτηση γονέα Αποθηκεύουμε τον γονέα κάθε κόμβου, π.χ. σε ένα πίνακα parent[1:n] Για τη ρίζα j του δένδρου θέτουμε parent[j]=j.
27 Αναπαραστάσεις Ειδικού Σκοπού Αναπαράσταση πλήρους δυαδικού δένδρου με πίνακα θέσης Ένα πλήρες δυαδικό δένδρο μπορεί να αποθηκευτεί σε ένα πίνακα b[1:n] : Το στοιχείο στη θέση i είναι ο γονέας των στοιχείων στις θέσεις 2i και 2i+1. [1] α [2] [3] β γ [4] [5] δ ε [6] ζ η [7] [8] θ [9] ι κ [10] λ [11] μ [12] b = [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] α β γ δ ε ζ η θ ι κ λ μ
28 Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set)
29 Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 1 2 διαδρομή απλή διαδρομή (απλός) κύκλος
30 Γράφημα Κάθε δένδρο είναι ένα γράφημα. Ένα γράφημα είναι δένδρο ένα ισχύει ένα από τα παρακάτω: έχει Ν-1 ακμές και κανένα κύκλο έχει Ν-1 ακμές και είναι συνδεδεμένο έχει μοναδική απλή διαδρομή για κάθε ζεύγος κόμβων είναι συνδεδεμένο αλλά παύει να είναι μετά την αφαίρεση κάποιας ακμής
31 Ιδιότητες Δυαδικών Δένδρων Ένα δυαδικό δένδρο με Ν εσωτερικούς κόμβους έχει Ν+1 εξωτερικούς κόμβους
32 Ιδιότητες Δυαδικών Δένδρων Ένα δυαδικό δένδρο με Ν εσωτερικούς κόμβους έχει Ν+1 εξωτερικούς κόμβους Απόδειξη με επαγωγή. Για Ν=0 το δένδρο είναι ένας εξωτερικός κόμβος. Έστω ότι ισχύει για λιγότερους από Ν εσωτερικούς κόμβους.
33 Ιδιότητες Δυαδικών Δένδρων Ένα δυαδικό δένδρο με Ν εσωτερικούς κόμβους έχει Ν+1 εξωτερικούς κόμβους Απόδειξη με επαγωγή. Για Ν=0 το δένδρο είναι ένας εξωτερικός κόμβος. Έστω ότι ισχύει για λιγότερους από Ν εσωτερικούς κόμβους. O συνολικός αριθμός εξωτερικών κόμβων είναι
34 Ιδιότητες Δυαδικών Δένδρων Ένα δυαδικό δένδρο με Ν εσωτερικούς κόμβους έχει 2Ν ακμές: N-1 συνδέουν εσωτερικούς κόμβους και Ν+1 συνδέουν εσωτερικό με εξωτερικό κόμβο.
35 Ιδιότητες Δυαδικών Δένδρων Ένα δυαδικό δένδρο με Ν εσωτερικούς κόμβους έχει 2Ν ακμές: N-1 συνδέουν εσωτερικούς κόμβους και Ν+1 συνδέουν εσωτερικό με εξωτερικό κόμβο. Κάθε κόμβος εκτός από τη ρίζα έχει μοναδικό γονέα. Άρα έχουμε Ν-1 εσωτερικούς κόμβους που συνδέονται με το γονέα τους. Αντίστοιχα, καθένας από τους Ν+1 εξωτερικούς κόμβους συνδέεται με τον γονέα του που είναι εσωτερικός κόμβος.
36 Ιδιότητες Δυαδικών Δένδρων επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1
37 Ιδιότητες Δυαδικών Δένδρων επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα
38 Ιδιότητες Δυαδικών Δένδρων επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο Μήκος διαδρομής = άθροισμα επιπέδου κάθε κόμβου (=30) Μήκος εσωτερικής διαδρομής = άθροισμα επιπέδου κάθε εσωτερικού κόμβου (=9) Μήκος εξωτερικής διαδρομής = άθροισμα επιπέδου κάθε εξωτερικού κόμβου (=21)
39 Ιδιότητες Δυαδικών Δένδρων επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο Μήκος διαδρομής = άθροισμα επιπέδου κάθε κόμβου (=30) Μήκος εσωτερικής διαδρομής = άθροισμα επιπέδου κάθε εσωτερικού κόμβου (=9) Μήκος εξωτερικής διαδρομής = άθροισμα επιπέδου κάθε εξωτερικού κόμβου (=21) Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν
40 Ιδιότητες Δυαδικών Δένδρων Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν
41 Ιδιότητες Δυαδικών Δένδρων Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν ξεκινάμε με εξωτερικό κόμβο
42 Ιδιότητες Δυαδικών Δένδρων Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν ξεκινάμε με εξωτερικό κόμβο σε κάθε βήμα
43 Ιδιότητες Δυαδικών Δένδρων Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν
44 Ιδιότητες Δυαδικών Δένδρων Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν
45 Ιδιότητες Δυαδικών Δένδρων Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν
46 Ιδιότητες Δυαδικών Δένδρων Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν
47 Ιδιότητες Δυαδικών Δένδρων Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν
48 Ιδιότητες Δυαδικών Δένδρων Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν
49 Ιδιότητες Δυαδικών Δένδρων Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν
50 Ιδιότητες Δυαδικών Δένδρων Ισχύει: μήκος εξωτερικής διαδρομής = μήκος εσωτερικής διαδρομής + 2Ν Αντικατάσταση εσωτερικού κόμβου στο επίπεδο k μήκος εσωτερικής διαδρομής αυξάνει κατά k μήκος εξωτερικής διαδρομής αυξάνει κατά k+2
51 Ιδιότητες Δυαδικών Δένδρων Ένα δυαδικό δένδρο με Ν εσωτερικούς κόμβους έχει ύψος μεταξύ lgn και Ν
52 Ιδιότητες Δυαδικών Δένδρων Ένα δυαδικό δένδρο με Ν εσωτερικούς κόμβους έχει ύψος μεταξύ lgn και Ν εσωτερικοί κόμβοι στο επίπεδο ένας εσωτερικός κόμβος ανά επίπεδο
53 Ιδιότητες Δυαδικών Δένδρων Ένα δυαδικό δένδρο με Ν εσωτερικούς κόμβους έχει ύψος μεταξύ lgn και Ν εσωτερικοί κόμβοι στο επίπεδο ένας εσωτερικός κόμβος ανά επίπεδο μήκος εσωτερικής διαδρομής = μήκος εσωτερικής διαδρομής =
54 Διάσχιση Δυαδικού Δένδρου προδιάταξη (preorder) σειρά επεξεργασίας : 1. γονέας 2. αριστερό παιδί 3. δεξί παιδί ενδοδιάταξη (inorder) σειρά επεξεργασίας : 1. αριστερό παιδί 2. γονέας 3. δεξί παιδί μεταδιάταξη (postorder) σειρά επεξεργασίας : 1. αριστερό παιδί 2. δεξί παιδί 3. γονέας
55 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; h.item.visit(); traverse(h.l); traverse(h.r); } void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } void traverse(node h) { if (h == null) return; traverse(h.l); traverse(h.r); h.item.visit(); } προδιάταξη (preorder) σειρά επεξεργασίας : 1. γονέας 2. αριστερό παιδί 3. δεξί παιδί ενδοδιάταξη (inorder) σειρά επεξεργασίας : 1. αριστερό παιδί 2. γονέας 3. δεξί παιδί μεταδιάταξη (postorder) σειρά επεξεργασίας : 1. αριστερό παιδί 2. δεξί παιδί 3. γονέας
56 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; h.item.visit(); traverse(h.l); traverse(h.r); } προδιάταξη (preorder)
57 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; h.item.visit(); traverse(h.l); traverse(h.r); } προδιάταξη (preorder) 1
58 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; h.item.visit(); traverse(h.l); traverse(h.r); } προδιάταξη (preorder) 1 2
59 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; h.item.visit(); traverse(h.l); traverse(h.r); } προδιάταξη (preorder) 1 2 3
60 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; h.item.visit(); traverse(h.l); traverse(h.r); } προδιάταξη (preorder)
61 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; h.item.visit(); traverse(h.l); traverse(h.r); } προδιάταξη (preorder)
62 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; h.item.visit(); traverse(h.l); traverse(h.r); } προδιάταξη (preorder)
63 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; h.item.visit(); traverse(h.l); traverse(h.r); } προδιάταξη (preorder)
64 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } ενδοδιάταξη (inorder)
65 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } ενδοδιάταξη (inorder)
66 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } ενδοδιάταξη (inorder)
67 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } ενδοδιάταξη (inorder)
68 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } ενδοδιάταξη (inorder) 1
69 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } ενδοδιάταξη (inorder) 2 1
70 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } ενδοδιάταξη (inorder) 2 1 3
71 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } ενδοδιάταξη (inorder)
72 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } ενδοδιάταξη (inorder)
73 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } ενδοδιάταξη (inorder)
74 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); h.item.visit(); traverse(h.r); } ενδοδιάταξη (inorder)
75 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); traverse(h.r); h.item.visit(); } μεταδιάταξη (postorder)
76 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); traverse(h.r); h.item.visit(); } μεταδιάταξη (postorder)
77 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); traverse(h.r); h.item.visit(); } μεταδιάταξη (postorder)
78 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); traverse(h.r); h.item.visit(); } μεταδιάταξη (postorder)
79 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); traverse(h.r); h.item.visit(); } μεταδιάταξη (postorder) 1
80 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); traverse(h.r); h.item.visit(); } μεταδιάταξη (postorder) 1 2
81 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); traverse(h.r); h.item.visit(); } μεταδιάταξη (postorder) 3 1 2
82 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); traverse(h.r); h.item.visit(); } μεταδιάταξη (postorder)
83 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); traverse(h.r); h.item.visit(); } μεταδιάταξη (postorder)
84 Διάσχιση Δυαδικού Δένδρου void traverse(node h) { if (h == null) return; traverse(h.l); traverse(h.r); h.item.visit(); } μεταδιάταξη (postorder)
85 Διάσχιση Δυαδικού Δένδρου προδιάταξη (preorder) σειρά επεξεργασίας : 1. γονέας 2. αριστερό παιδί 3. δεξί παιδί μεταδιάταξη (postorder) σειρά επεξεργασίας : 1. αριστερό παιδί 2. δεξί παιδί 3. γονέας Η προδιάταξη και μεταδιάταξη μπορούν να εφαρμοστούν και σε δένδρα όπου κάθε εσωτερικός κόμβος έχει αυθαίρετο αριθμό παιδιών
86 Διάσχιση Δυαδικού Δένδρου Ένα δυαδικό δένδρο με εσωτερικού κόμβους μπορεί να αναπαρασταθεί από μια ακολουθία από δυαδικά ψηφία, που ικανοποιεί τις ακόλουθες συνθήκες: ψηφιά είναι και ψηφία είναι Για κάθε θέση, ο αριθμός των που βρίσκονται πριν το είναι μεγαλύτερος ή ίσος του αριθμού των που βρίσκονται πριν το
87 Διάσχιση Δυαδικού Δένδρου Εκτελούμε προδιατεταγμένη διάσχιση του δένδρου. Αν ο επόμενος κόμβος που συναντάμε είναι εσωτερικός τότε το επόμενο ψηφίο είναι, διαφορετικά, αν είναι εξωτερικός κόμβος, τότε το επόμενο ψηφίο είναι.
88 Διάσχιση Δυαδικού Δένδρου Εκτελούμε προδιατεταγμένη διάσχιση του δένδρου. Αν ο επόμενος κόμβος που συναντάμε είναι εσωτερικός τότε το επόμενο ψηφίο είναι, διαφορετικά, αν είναι εξωτερικός κόμβος, τότε το επόμενο ψηφίο είναι.
89 Διάσχιση Δυαδικού Δένδρου Εκτελούμε προδιατεταγμένη διάσχιση του δένδρου. Αν ο επόμενος κόμβος που συναντάμε είναι εσωτερικός τότε το επόμενο ψηφίο είναι, διαφορετικά, αν είναι εξωτερικός κόμβος, τότε το επόμενο ψηφίο είναι.
90 Διάσχιση Δυαδικού Δένδρου Εκτελούμε προδιατεταγμένη διάσχιση του δένδρου. Αν ο επόμενος κόμβος που συναντάμε είναι εσωτερικός τότε το επόμενο ψηφίο είναι, διαφορετικά, αν είναι εξωτερικός κόμβος, τότε το επόμενο ψηφίο είναι.
91 Διάσχιση Δυαδικού Δένδρου Εκτελούμε προδιατεταγμένη διάσχιση του δένδρου. Αν ο επόμενος κόμβος που συναντάμε είναι εσωτερικός τότε το επόμενο ψηφίο είναι, διαφορετικά, αν είναι εξωτερικός κόμβος, τότε το επόμενο ψηφίο είναι.
92 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.
93 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.
94 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.
95 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.
96 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.
97 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.
98 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.
99 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.
100 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο. Κατασκευή με αναδρομή class Node { Item item; Node l; Node r; Node(Item v, Node l, Node r) { this.item = v; this.l = l; this.r = r; } } int k; // τρέχουσα θέση Node createbt(char[] Β) { if (k == B.length) return null; if (B[k++] == '0') return null; } Item v = Node x = new Node(v,null,null); x.l = createbt(b); x.r = createbt(b); return x;
101 Διάσχιση Δυαδικού Δένδρου Η προδιάταξη και μεταδιάταξη μπορούν να εφαρμοστούν και σε δένδρα όπου κάθε εσωτερικός κόμβος έχει αυθαίρετο αριθμό παιδιών Προδιάταξη : Πρώτα ο γονέας, μετά τα παιδιά σε σειρά από αριστερά προς τα δεξιά Μεταδιάταξη : Πρώτα τα παιδιά σε σειρά από αριστερά προς τα δεξιά, μετά ο γονέας
102 Διάσχιση Δυαδικού Δένδρου Η προδιάταξη και μεταδιάταξη μπορούν να εφαρμοστούν και σε δένδρα όπου κάθε εσωτερικός κόμβος έχει αυθαίρετο αριθμό παιδιών Προδιάταξη : Πρώτα ο γονέας, μετά τα παιδιά σε σειρά από αριστερά προς τα δεξιά Μεταδιάταξη : Πρώτα τα παιδιά σε σειρά από αριστερά προς τα δεξιά, μετά ο γονέας Ένας κόμβος είναι απόγονος ενός κόμβου αν και μόνο αν στη σειρά προδιάταξης και στη σειρά μεταδιάταξης
Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :
Δένδρα Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών : Ανάλυση αλγορίθμων (π.χ. δένδρα αναδρομής) Δομές δεδομένων (π.χ. δένδρα αναζήτησης) ακμή Κατηγορίες (αύξουσα
Διαβάστε περισσότεραΚατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου
Συμπίεση Η συμπίεση δεδομένων ελαττώνει το μέγεθος ενός αρχείου : Εξοικονόμηση αποθηκευτικού χώρου Εξοικονόμηση χρόνου μετάδοσης Τα περισσότερα αρχεία έχουν πλεονασμό στα δεδομένα τους Είναι σημαντική
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 (5.1-5.2 και 5.4-5.6) Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Δέντρα Βασικοί ορισµοί Μαθηµατικές ιδιότητες Διάσχιση δέντρων Preorder, postorder,
Διαβάστε περισσότεραΔομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με
Διαβάστε περισσότεραΔοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης
Δοµές Δεδοµένων 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης Περίληψη Quicksort Χαρακτηριστικά επιδόσεων Μη αναδροµική υλοποίηση Δέντρα Μαθηµατικές ιδιότητες Δοµές Δεδοµένων 11-2
Διαβάστε περισσότεραΔοµές Δεδοµένων. 5η Διάλεξη Λίστες και αρχές ανάλυσης αλγορίθµων. Ε. Μαρκάκης
Δοµές Δεδοµένων 5η Διάλεξη Λίστες και αρχές ανάλυσης αλγορίθµων Ε. Μαρκάκης Περίληψη Διπλά συνδεδεµένες λίστες Αναπαράσταση γράφων µε λίστες Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση
Διαβάστε περισσότεραΚεφάλαιο 4 Γραφήματα και Δένδρα
Κεφάλαιο 4 Γραφήματα και Δένδρα Περιεχόμενα 4.1 Γραφήματα... 60 4.2 Δομές δεδομένων για την αναπαράσταση γραφημάτων... 64 4.2.1 Υλοποίηση σε Java... 66 4.3 Διερεύνηση γραφήματος... 69 4.4 Δένδρα... 86
Διαβάστε περισσότεραΓέφυρες σε Δίκτυα. Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος. Γέφυρα του (με αφετηρία τον ) :
Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος και Γέφυρα του (με αφετηρία τον ) : Ακμή που περιέχεται σε κάθε μονοπάτι από το στο s a b c d e f g h i j k l Μας δίνεται ένα δίκτυο (κατευθυνόμενο
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Λίστες Κεφάλαιο 3 (3.3, 3.4, 3.7) Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Στοιχειώδεις Δοµές Δεδοµένων Λίστες Κεφάλαιο 3 (3.3, 3.4, 3.7) Ε. Μαρκάκης Επικ. Καθηγητής Ενηµέρωση 5ο τµήµα Εργαστηρίων Τετάρτη 11-1 Δοµές Δεδοµένων 04-2 Περίληψη Συνδεδεµένες λίστες
Διαβάστε περισσότεραΔομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Λίστες Κεφάλαιο 3 (3.3, 3.4, 3.7) Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Στοιχειώδεις Δοµές Δεδοµένων Λίστες Κεφάλαιο 3 (3.3, 3.4, 3.7) Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Συνδεδεµένες λίστες είδη λιστών Παραδείγµατα µε επεξεργασία λιστών Συµβάσεις αρχής και
Διαβάστε περισσότεραΔυαδικάΔΕΝΔΡΑΑναζήτησης
ΔυαδικάΔΕΝΔΡΑΑναζήτησης Ρίζα (κόμβος που δεν έχει γονέα) πρόγονοι απόγονοι γονέας παιδιά έντρο είναι µία συλλογή από στοιχεία, που ονοµάζονται κόµβοι και συνδέονται µεταξύ τους µε τη βοήθεια ακµών αδέλφια
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή
Διαβάστε περισσότεραΟυρά Προτεραιότητας (priority queue)
Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει δύο βασικές λειτουργίες : Εισαγωγή στοιχείου με δεδομένο κλειδί. Επιστροφή ενός στοιχείου με μέγιστο (ή ελάχιστο) κλειδί και διαγραφή
Διαβάστε περισσότεραΔιάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα
Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης (ΔΔΑ) Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου Εισαγωγή στοιχείου
Διαβάστε περισσότεραΕιδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
Διαβάστε περισσότεραΠανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 3: Δένδρα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες
Διαβάστε περισσότεραΣτοιχειώδεις Δομές Δεδομένων
Στοιχειώδεις Δομές Δεδομένων Τύποι δεδομένων στη Java Ακέραιοι (int, long) Αριθμοί κινητής υποδιαστολής (float, double) Χαρακτήρες (char) Δυαδικοί (boolean) Από τους παραπάνω μπορούμε να φτιάξουμε σύνθετους
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 16 Δένδρα (Trees) 1 / 42 Δένδρα (Trees) Ένα δένδρο είναι ένα συνδεδεμένο γράφημα χωρίς κύκλους Για κάθε
Διαβάστε περισσότεραΔιακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα
Διάλεξη Ε4: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Δυαδικά Δένδρα Αναζήτησης Ισοζυγισμένα Δένδρα & 2-3 Δένδρα Διδάσκων: Κωνσταντίνος
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα
Διαβάστε περισσότεραΚεφάλαιο 10 Ψηφιακά Λεξικά
Κεφάλαιο 10 Ψηφιακά Λεξικά Περιεχόμενα 10.1 Εισαγωγή... 213 10.2 Ψηφιακά Δένδρα... 214 10.3 Υλοποίηση σε Java... 222 10.4 Συμπιεσμένα και τριαδικά ψηφιακά δένδρα... 223 Ασκήσεις... 225 Βιβλιογραφία...
Διαβάστε περισσότεραΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων
ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και
Διαβάστε περισσότεραΕνότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις
Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του
Διαβάστε περισσότεραΓράφοι. Ορολογία. Ορισµός: G = (V, E) όπου. Ορολογία (συνέχεια) γράφος ή γράφηµα (graph) V:ένα σύνολο E:µια διµελής σχέση στο V
Γράφοι Ορολογία γράφος ή γράφηµα (graph) Ορισµός: G = (V, E) όπου V:ένα σύνολο E:µια διµελής σχέση στο V Ορολογία (συνέχεια) κάθε v V ονοµάζεται κορυφή (vertex) ή κόµβος (node) κάθε (v 1, v 2 ) Ε ονοµάζεται
Διαβάστε περισσότεραΔένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:
Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, ορισμοί, πράξεις και αναπαράσταση στη μνήμη ΔυαδικάΔένδρακαιΔυαδικάΔένδραΑναζήτησης ΕΠΛ 231 Δομές
Διαβάστε περισσότεραΟυρά Προτεραιότητας (priority queue)
Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει τις ακόλουθες λειτουργίες PQinsert : εισαγωγή στοιχείου PQdelmax : επιστροφή του στοιχείου με το μεγαλύτερο* κλειδί και διαγραφή του
Διαβάστε περισσότεραΜελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.
Ψηφιακά Δένδρα Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών τα οποία είναι ακολουθίες συμβάλλων από ένα πεπερασμένο αλφάβητο Ένα στοιχείο γράφεται ως, όπου κάθε. Μπορούμε να
Διαβάστε περισσότεραΒασικές Έννοιες Θεωρίας Γραφημάτων
Βασικές Έννοιες Θεωρίας Γραφημάτων ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση
Διαβάστε περισσότεραΔιερεύνηση γραφήματος
Διερεύνηση γραφήματος Διερεύνηση γραφήματος Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος ή κατά βάθος. Καθοδική διερεύνηση
Διαβάστε περισσότεραΣυλλογές, Στοίβες και Ουρές
Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση οποιουδήποτε στοιχείου. Συλλογή (bag) : Επιστρέφει
Διαβάστε περισσότεραΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης
ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 7 ο έντρο Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης έντρο Ορισµός Υλοποίηση µε Πίνακα Υλοποίηση µε είκτες υαδικό έντρο
Διαβάστε περισσότεραΒασικές Έννοιες Θεωρίας Γραφημάτων
Βασικές Έννοιες Θεωρίας Γραφημάτων Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων
Διαβάστε περισσότεραΕισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με
Διαβάστε περισσότεραΛίστες παράλειψης (skip lists)
Χρησιμοποιεί πρόσθετους συνδέσμους στους κόμβους μιας συνδεδεμένης λίστας επιτάχυνση της αναζήτησης με παράλειψη μεγάλων τμημάτων της λίστας Μια λίστα παράλειψης είναι μια διατεταγμένη συνδεδεμένη λίστα
Διαβάστε περισσότεραΙσορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Διαβάστε περισσότεραΑφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες
Διαβάστε περισσότεραέντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα έντρο: πρότυπο ιεραρχικής δομής. Αναπαράσταση
Διαβάστε περισσότεραΙσορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Διαβάστε περισσότεραΜέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες
Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 12 16 2 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 13 1 με τις ακόλουθες ιδιότητες 4 14 9 7 4 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση
Διαβάστε περισσότεραΤύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )
Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική
Διαβάστε περισσότεραιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
έντρα ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα έντρο: πρότυπο ιεραρχικής δομής.
Διαβάστε περισσότεραΔιάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων
Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Ορισμοί και πράξεις Αναπαράσταση δενδρικών δομών
Διαβάστε περισσότεραΔιάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:
Διαβάστε περισσότεραΑναδρομικοί Αλγόριθμοι
Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας
Διαβάστε περισσότεραΔηµοσθένης Σταµάτης Τµήµα Πληροφορικής ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΕΝΤΡΑ (TREES) B C D E F G H I J K L M
Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο Δέντρα Δυαδικά Δέντρα Δυαδικά Δέντρα Αναζήτησης (inary Search Trees) http://aetos.it.teithe.gr/~demos/teaching_r.html Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής
Διαβάστε περισσότεραΔιακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΣτοιχεία Θεωρίας Γράφων (Graph Theory)
Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,
Διαβάστε περισσότεραΙσορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Διαβάστε περισσότεραοµές εδοµένων 3 ο Εξάµηνο ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ
ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ 1 ένδρα εσωτερικός κόµβος u το δένδρο έχει ύψος 4 u έχει ύψος 3 w έχει βάθος 2 κόµβος ένδρο: γράφηµα χωρίς κύκλους o Ρίζα (root) o Κόµβος (node) o Ακµή (edge) o Γονέας (parent) Παιδί (child)
Διαβάστε περισσότεραΚεφάλαιο 11 Ένωση Ξένων Συνόλων
Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά
Διαβάστε περισσότεραΔιάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 22: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης - Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου
Διαβάστε περισσότεραΕνδεικτικές Λύσεις 1ου Σετ Ασκήσεων
Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες
Διαβάστε περισσότεραd k 10 k + d k 1 10 k d d = k i=0 d i 10 i.
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΔιάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Εισαγωγή σε δενδρικές δομές δεδομένων, -
Διαβάστε περισσότεραΔένδρα Αναζήτησης Πολλαπλής Διακλάδωσης
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα στα οποία κάθε κόμβος μπορεί να αποθηκεύει ένα ή περισσότερα κλειδιά. Κόμβος με d διακλαδώσεις : k 1 k 2 k 3 k 4 d-1 διατεταγμένα κλειδιά d διατεταγμένα παιδιά
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα
Διαβάστε περισσότεραΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research
ΑΛΓΟΡΙΘΜΟΙ ΜΕ C ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής CMOR Lab Computational Methodologies and Operations Research Δέντρα (5) Τ ένα δέντρο i ένας κόμβος στο επίπεδο k j ένας κόμβος στο επίπεδο k+1 } :
Διαβάστε περισσότεραΘέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα
Δένδρα Δένδρα Ειδική κατηγορία γραφημάτων: συνεκτικά γραφήματα που δεν περιέχουν απλά κυκλώματα [1857] Arthur Cayley: για απαρίθμηση ορισμένων ειδών χημικών ενώσεων Χρησιμοποιούνται σε πληθώρα προβλημάτων,
Διαβάστε περισσότεραΔοµές Δεδοµένων. 14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης. Ε. Μαρκάκης
Δοµές Δεδοµένων 14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης Ε. Μαρκάκης Περίληψη Δέντρα Δυαδικής Αναζήτησης Υλοποιήσεις εισαγωγής και αναζήτησης Χαρακτηριστικά επιδόσεων ΔΔΑ Εισαγωγή στη ρίζα ΔΔΑ Υλοποιήσεις
Διαβάστε περισσότερα2 ) d i = 2e 28, i=1. a b c
ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ ΓΡΑΦΩΝ (1) Εστω G απλός γράφος, που έχει 9 κορυφές και άθροισμα βαθμών κορυφών μεγαλύτερο του 7. Αποδείξτε ότι υπάρχει μια κορυφή του G με βαθμό μεγαλύτερο ή ίσο του 4. () Αποδείξτε ότι
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε
Διαβάστε περισσότερα6η Διάλεξη Διάσχιση Γράφων και Δέντρων
ΘΕΩΡΙΑ ΓΡΑΦΩΝ 6 η Διάλεξη Διάσχιση Γράφων και Δέντρων Αλγόριθμος αναζήτησης σε Βαθος Αλγόριθμος αναζήτησης κατά Πλάτος Αλγόριθμοι για Δένδρα Εύρεση ελαχίστων Γεννητορικών (Επικαλύπτοντα) Δένδρων Διάσχιση
Διαβάστε περισσότεραΔιάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας Η δομή
Διαβάστε περισσότεραυαδικό έντρο Αναζήτησης (BSTree)
Εργαστήριο 6 υαδικό έντρο Αναζήτησης (BSTree) Εισαγωγή Οι περισσότερες δοµές δεδοµένων, που εξετάσαµε µέχρι τώρα (λίστες, στοίβες, ουρές) ήταν γραµ- µικές (ή δοµές δεδοµένων µιας διάστασης). Στην παράγραφο
Διαβάστε περισσότεραΘεωρία Γραφημάτων 6η Διάλεξη
Θεωρία Γραφημάτων 6η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 6η Διάλεξη
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
- Δυαδικά Δένδρα (binary trees) - Δυαδικά Δένδρα Αναζήτησης (binary search trees) 1 Δυαδικά Δένδρα Ορισμοί Λειτουργίες Υλοποιήσεις ΑΤΔ Εφαρμογές 2 Ορισμοί (αναδρομικός ορισμός) Ένα δένδρο t είναι ένα πεπερασμένο
Διαβάστε περισσότεραΒασικές Έννοιες Δοµών Δεδοµένων
Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες
Διαβάστε περισσότεραΑλγόριθμοι Γραφημάτων
Αλγόριθμοι Γραφημάτων. Γραφήματα. Αναπαράσταση Γραφημάτων 3. Διερεύνηση σε Πρώτα σε Πλάτος (BFS) Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Γράφημα Ορισμός: Ένα γράφημα G είναι το διατεταγμένο ζεύγος
Διαβάστε περισσότεραΙσορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Διαβάστε περισσότεραΑλγόριθμοι Γραφημάτων
Αλγόριθμοι Γραφημάτων 1. Συντομότατα μονοπάτια 2. Αλγόριθμος Bellman-Ford 3. Αλγόριθμος Dijkstra 4. Floyd-Warshall Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Single-Source Shortest Path Πρόβλημα:
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra
Διαβάστε περισσότεραιαφάνειες παρουσίασης #11
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης
Δομές Δεδομένων και Αλγόριθμοι Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Στόχοι Μαθήματος Η σχεδίαση και ανάλυση αλγορίθμων και δομών δεδομένων αποτελεί σημαντικό τμήμα της πληροφορικής.
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 4 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών
Διαβάστε περισσότεραΔοµές Δεδοµένων. 4η Διάλεξη Στοιχειώδεις Δοµές Δεδοµένων: Πίνακες και Λίστες. Ε. Μαρκάκης
Δοµές Δεδοµένων 4η Διάλεξη Στοιχειώδεις Δοµές Δεδοµένων: Πίνακες και Λίστες Ε. Μαρκάκης Εργαστήρια Ώρες εργαστηρίων Τέσσερα τµήµατα εργαστηρίων XXXX001-XXXX060, Δευτέρα 09:00-11:00 (CSLAB II) XXXX061-XXXX120,
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1
Γράφοι Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Γράφοι - ορισµοί και υλοποίηση Διάσχιση Γράφων Τοπολογική Ταξινόµηση ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι - Γράφοι Η πιο γενική µορφή δοµής
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 5 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών
Διαβάστε περισσότεραΔυαδικά Δένδρα Αναζήτησης, Δένδρα AVL
Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL Υλικό από τις σηµειώσεις Ν. Παπασπύρου, 2006 Δέντρα δυαδικής αναζήτησης Δενδρικές δοµές δεδοµένων στις οποίες Όλα τα στοιχεία στο αριστερό υποδέντρο της ρίζας είναι
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 9: Εισαγωγή στους Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Γράφοι - ορισμοί και υλοποίηση Διάσχιση Γράφων Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10β: Αλγόριθμοι Γραφημάτων-Γραφήματα- Αναπαράσταση Γραφημάτων- Διερεύνηση Πρώτα σε Πλάτος (BFS) Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το
Διαβάστε περισσότεραΚεφάλαιο 7 Λεξικά και Δυαδικά Δένδρα Αναζήτησης
Κεφάλαιο 7 Λεξικά και Δυαδικά Δένδρα Αναζήτησης Περιεχόμενα 7.1 Ο αφηρημένος τύπος δεδομένων λεξικού... 133 7.1.1 Διατεταγμένα λεξικά... 134 7.2 Στοιχειώδεις υλοποιήσεις με πίνακες και λίστες... 135 7.2.1
Διαβάστε περισσότεραΔομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής
Ενότητα 8: Γραμμική Αναζήτηση και Δυαδική Αναζήτηση-Εισαγωγή στα Δέντρα και Δυαδικά Δέντρα-Δυαδικά Δέντρα Αναζήτησης & Υλοποίηση ΔΔΑ με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραιαφάνειες παρουσίασης #10 (β)
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)
Διαβάστε περισσότεραΜία Μελέτη Περίπτωσης: Διήθηση
Μία Μελέτη Περίπτωσης: Διήθηση Ι-1 Μία Μελέτη Περίπτωσης: Διήθηση Μία Μελέτη Περίπτωσης: Διήθηση Διήθηση. Ρίψη υγρού πάνω σε κάποιο πορώδες υλικό Θα φτάσει το υγρό στον πυθμένα; Εφαρμογές. [ χημεία, γεωλογία,
Διαβάστε περισσότεραΔιάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Δοµικά στοιχεία Πίνακες Το κόσκινο του Ερατοσθένη Αντιγραφή πινάκων
Διαβάστε περισσότεραΔιάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 0: Λίστες ΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες
Διαβάστε περισσότεραΚεφάλαιο 5 Συλλογές, Στοίβες και Ουρές
Κεφάλαιο 5 Συλλογές, Στοίβες και Ουρές Περιεχόμενα 5.1 Αφηρημένοι τύποι δεδομένων... 94 5.2 Συλλογές και Επαναλήπτες... 95 5.1.1 Εφαρμογή: Υλοποίηση λιστών γειτνίασης γραφήματος... 96 5.2 Στοίβα... 97
Διαβάστε περισσότεραΑΝΤΙΣΤΟΙΧΗΣΕΙΣ ΟΡΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙOΥΝΤΑΙ ΣΤΟΥΣ ΤΟΜΟΥΣ Α ΚΑΙ Β ΤΗΣ ΘΕ «ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ» Ένα γράφημα αποτελείται από ένα σύνολο 94.
ΑΝΤΙΣΤΟΙΧΗΣΕΙΣ ΟΡΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙOΥΝΤΑΙ ΣΤΟΥΣ ΤΟΜΟΥΣ Α ΚΑΙ Β ΤΗΣ ΘΕ «ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ» ΤΟΜΟΣ Α ΤΟΜΟΣ Β ΑΓΓΛΙΚΗ Γράφημα, Γράφος, Ένα γράφημα αποτελείται από ένα σύνολο 94 11 κορυφών και ένα σύνολο ακμών.
Διαβάστε περισσότεραΔοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης
Δοµές Δεδοµένων 18η Διάλεξη Ισορροπηµένα δέντρα Ε. Μαρκάκης Περίληψη Επανάληψη των Τυχαιοποιηµένων ΔΔΑ, Στρεβλών ΔΔΑ, Δέντρων 2-3-4 Δέντρα κόκκινου-µαύρου Λίστες Παράλειψης Χαρακτηριστικά επιδόσεων - συµπεράσµατα
Διαβάστε περισσότεραΣυνδετικότητα γραφήματος (graph connectivity)
Συνδετικότητα γραφήματος (graph connectivity) Συνδετικότητα γραφήματος (graph connectivity) Υπάρχει μονοπάτι μεταξύ α και β; α Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές ενός
Διαβάστε περισσότεραΚατ οίκον Εργασία 3 Σκελετοί Λύσεων
Άσκηση 1 Χρησιµοποιούµε τη δοµή Κατ οίκον Εργασία 3 Σκελετοί Λύσεων typedef struct Node int data; struct node *lchild; struct node *rbro; node; και υποθέτουµε πως ένα τυχαίο δένδρο είναι υλοποιηµένο ως
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΣυγκρίσιμα Αντικείμενα (comparable)
Συγκρίσιμα Αντικείμενα (comparable) public class Student implements Comparable{ public String lastname; public String firstname; public int am; public int compareto(object s) throws ClassCastException{
Διαβάστε περισσότεραΑνάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική
Διαβάστε περισσότερα