Δοµές Δεδοµένων. 10η Διάλεξη Ταξινόµηση. E. Μαρκάκης
|
|
- Διοκλῆς Λούπης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Δοµές Δεδοµένων 10η Διάλεξη Ταξινόµηση E. Μαρκάκης
2 Περίληψη Ταξινόµηση µε αριθµοδείκτη κλειδιού Ταξινόµηση µε συγχώνευση Αλγόριθµος Mergesort Διµερής συγχώνευση Αφηρηµένη επιτόπου συγχώνευση Αναλυτική ταξινόµηση Mergesort Συνθετική ταξινόµηση Mergesort Χαρακτηριστικά επιδόσεων Υλοποιήσεις Mergesort µε λίστες Δοµές Δεδοµένων 10-
3 Καταµέτρηση µε αριθµοδείκτη Ταξινόµηση ειδικής µορφής Αποφυγή συγκρίσεων αν εκµεταλλευθούµε ειδικές ιδιότητες των κλειδιών Έστω κλειδιά µε διακεκριµένες τιµές από 0 έως -1 for (i = 0; i < ; i++) b[a[i].key] = a[i]; Καταµέτρηση µε αριθµοδείκτη κλειδιού Έστω κλειδιά που παίρνουν τιµές 0 ή 1 Πρώτη διέλευση: µέτρηση των στοιχείων µε κλειδί 0 και αντίστοιχα µε κλειδί 1 Χρήση πίνακα µετρητών µε στοιχεία, cnt[0], cnt[1] και πίνακα b µε Ν στοιχεία cnt[0]: δείχνει αρχικά την θέση που πρέπει να µπει το πρώτο 0 στον b cnt[1]: θέση που πρέπει να µπει το πρώτο στοιχείο µε κλειδί 1 στον b Δεύτερη διέλευση στον πίνακα: µεταφέρουµε κάθε κλειδί στη σωστή θέση στον b και αυξάνουµε τον αντίστοιχο µετρητή for (i = 0; i < ; i++) b[cnt[a[i]]++] = a[i]; Δοµές Δεδοµένων 10-3
4 Καταµέτρηση µε αριθµοδείκτη Γενίκευση σε µεγαλύτερο αριθµό κλειδιών Έστω κλειδιά µε τιµές 0 έως M-1 Το M πολύ µικρότερο από το Πιθανόν πολλά κλειδιά µε ίδιες τιµές Πρώτη διέλευση: µετράµε το πλήθος κλειδιών για κάθε τιµή Χρήση ενός πίνακα µετρητών cnt[] M στοιχείων Χρήση πίνακα b για προσωρινή αποθήκευση των στοιχείων Μετατροπή των µετρητών σε αθροιστικούς, π.χ. cnt[k] = πόσα στοιχεία έχουν κλειδί µικρότερο από k = θέση που πρέπει να µπει το πρώτο στοιχείο µε κλειδί k Δεύτερη διέλευση: µεταφέρουµε κάθε κλειδί στη σωστή θέση Ο αντίστοιχος µετρητής αυξάνεται Η θέση για το επόµενο θα δίνεται πάντα από τον µετρητή Στο τέλος µεταφέρουµε τα στοιχεία πίσω στον a Δοµές Δεδοµένων 10-4
5 Καταµέτρηση µε αριθµοδείκτη Σειρά περασµάτων στους πίνακες 1ο: αρχικοποίηση M µετρητών ο: µέτρηση κλειδιών 3ο: µετατροπή M µετρητών σε αθροιστικούς 4ο: µεταφορά κλειδιών στις σωστές θέσεις 5ο: επαναφορά κλειδιών στον αρχικό πίνακα static void distcount(int a[], int p, int r) { int i, j, cnt[] = new int[m]; int b[] = new int[a.length]; for (j = 0; j < M; j++) cnt[j] = 0; for (i = p; i <= r; i++) cnt[a[i]+1]++; for (j = 1; j < M; j++) cnt[j] += cnt[j-1]; for (i = p; i <= r; i++) b[cnt[a[i]]++] = a[i]; for (i = p; i <= r; i++) a[i] = b[i-p]; } Δοµές Δεδοµένων 10-5
6 Καταµέτρηση µε αριθµοδείκτη Πόσο εξοικονοµούµε µε την ταξινόµηση µε αριθµοδείκτη? Θεώρηµα: Η καταµέτρηση µε αριθµοδείκτη γίνεται σε χρόνο Ο(Ν) υπό την προϋπόθεση ότι το πλήθος των διαφορετικών τιµών των κλειδιών Μ είναι Ο(Ν) Αρκεί να δούµε τις πράξεις στους 5 βρόχους Κάθε βρόχος εκτελείται σε Ο(Μ) ή σε Ο(Ν) Συνολική πολυπλοκότητα είναι Ο(Μ+Ν), άρα Ο(Ν) Δοµές Δεδοµένων 10-6
7 Κεφάλαιο 8 Ταξινόµηση µε συγχώνευση Αλγόριθµος Mergesort Δοµές Δεδοµένων 10-7
8 Ταξινόµηση µε συγχώνευση Βασική ιδέα αλγορίθµων συγχώνευσης: Διαίρει και βασίλευε Χωρισµός σε υποαρχεία Χωριστή ταξινόµηση σε κάθε αρχείο Συγχώνευση των υποαρχείων σε ένα ταξινοµηµένο αρχείο Υλοποίηση συνήθως µε αναδροµή (µπορούµε και χωρίς αναδροµή) Ευσταθής µεθοδος αν είµαστε λίγο προσεκτικοί Ακολουθιακή πρόσβαση στα δεδοµένα, κατάλληλη για µηχανηµατα υψηλής απόδοσης µε γρήγορη πρόσβαση σε δεδοµένα 1 η υλοποίηση: von eumann στον υπολογιστή EDVAC (1945) Δοµές Δεδοµένων 10-8
9 Ταξινόµηση µε συγχώνευση Αλγόριθµος Mergesort Αναλυτική (top-down) ταξινόµηση µε συγχώνευση αναδροµικές κλήσεις σε αρχεία µε το µισό αρχικό µέγεθος Αναδροµή τελειώνει όταν το αρχείο έχει µόνο ένα στοιχείο Χρησιµοποιεί τη µέθοδο merge στο τέλος για να συγχωνεύσει τους υποπίνακες static void mergesort(item[] a, int p, int r) { if (r <= p) return; int m = (r+p)/; mergesort(a, p, m); mergesort(a, m+1, r); merge(a, p, m, r);/*συγχωνεύει τους ταξινομημένους υποπίνακες a[p..m] και a[m+1..r]*/ } Δοµές Δεδοµένων 10-9
10 Ταξινόµηση µε συγχώνευση Δοµές Δεδοµένων 10-10
11 Ταξινόµηση µε συγχώνευση Δέντρα «διαίρει και βασίλευε» Μας δείχνουν πώς αποσυντίθεται το αρχικό πρόβληµα σε υποπροβλήµατα µικρότερου µεγέθους Στη Mergesort, είναι ανεξάρτητα από δεδοµένα εισόδου Δοµές Δεδοµένων 10-11
12 Υλοποίηση συγχώνευσης Τελικό βήµα της Mergesort Θα δούµε πρώτα µία πιο γενική υλοποίηση Είσοδος: ταξινοµηµένοι πίνακες a και b Έξοδος: Συγχώνευση των a, b σε ένα ταξινοµηµένο πίνακα c Σε κάθε βήµα: Εντοπίζουµε το µικρότερο στοιχείο στους a, b Το αντιγράφουµε στο νέο πίνακα Ενηµερώνουµε τους δείκτες Προσοχή στα όρια των πινάκων! Δοµές Δεδοµένων 10-1
13 Υλοποίηση συγχώνευσης Πίνακες εισόδου: a µε όρια ap, ar, και b µε όρια bp br Πίνακας εξόδου: c µε αρχικό δείκτη cp Μέγεθος του c πρέπει να είναι τουλάχιστον cp + (ar- ap +1) + (br- bp +1) static void mergeab(item[] c, int cp, ITEM[] a, int ap, int ar, ITEM[] b, int bp, int br ) { int i = ap, j = bp; for (int k = cp; k < cp+ar-ap+br-bp+1; k++) { if (i > ar) { c[k] = b[j++]; continue; } if (j > br) { c[k] = a[i++]; continue; } c[k] = less(a[i], b[j])? a[i++] : b[j++]; } } Δοµές Δεδοµένων 10-13
14 Αφηρηµένη επιτόπου συγχώνευση η υλοποίηση: Συγχώνευση απευθείας στον πίνακα εισόδου Οι δύο υποπίνακες βρίσκονται στον πίνακα εισόδου Αρκεί να ξέρουµε σε ποιον δείκτη m χωρίζονται a[p] έως a[m] και a[m+1] έως a[r] Η έξοδος θα είναι και αυτή στον πίνακα εισόδου Αποφυγή των ελέγχων τερµατισµού Σε κάθε βήµα ελέγχουµε αν τελείωσε κάθε υποπίνακας Πώς µπορούµε να αποφύγουµε τους ελέγχους; Ιδέα: αντιστροφή δεύτερου υποπίνακα Τα δύο µεγαλύτερα στοιχεία γειτονεύουν Το µεγαλύτερο από τα δύο χρησιµεύει ως φρουρός! Δοµές Δεδοµένων 10-14
15 Αφηρηµένη επιτόπου συγχώνευση Υλοποίηση επιτόπου συγχώνευσης Χρησιµοποιεί τον βοηθητικό πίνακα aux Ο δεύτερος υποπίνακας αντιστρέφεται Το µέγιστο στοιχείο είναι στο a[m] ή στο a[m+1] static void merge(item[] a, int p, int m, int r) { int i, j; for (i = m+1; i > p; i--) aux[i-1] = a[i-1];//στο τέλος i=p for (j = m; j < r; j++) aux[j+1] = a[r+m-j];//στο τέλος j=r for (int k = p; k <= r; k++) if (less(aux[j], aux[i])) a[k] = aux[j--]; else a[k] = aux[i++]; } Δοµές Δεδοµένων 10-15
16 Ταξινόµηση µε συγχώνευση Ανάλυση της πολυπλοκότητας Ν = r-p+1 Ανάλυση πρώτα της merge: 1 ος βρόχος: Ο(Ν) ος βρόχος: Ο(Ν) 3 ος βρόχος: Ο(Ν) Συνολικά: Ο(Ν) Τελικά συνολικός χρόνος που απαιτείται: Τ =Τ / + Ο(Ν), Τ 1 = Ο(1) Δοµές Δεδοµένων 10-16
17 Δοµές Δεδοµένων Ταξινόµηση µε συγχώνευση Επίλυση της αναδροµικής εξίσωσης Τ = Τ / + Ν, Τ 1 = 1 Θα δούµε τη λύση για δυνάµεις του. Έστω Ν = n Αναπτύσσουµε την εξίσωση Όταν k = log, T = T 1 + log = O(log) Όταν το Ν δεν είναι δύναµη του, αποδεικνύεται το ίδιο µε επαγωγή T T T T T ) / ( ) / ( / / / / = + + = + + = + = k T T k k + = = + = / /
18 Ταξινόµηση µε συγχώνευση Αρχικά συµπεράσµατα: Ο(log): Πολύ καλύτερη πολυπλοκότητα από τις στοιχειώδεις µεθόδους ταξινόµησης Δεν σταµατάει άµεσα όµως σε ταξινοµηµένα αρχεία Δοµή αναδροµικών κλήσεων Η διαίρεση του αρχείου στα δύο οδηγεί σε ισοζυγισµένο δένδρο Πρόσθετος χώρος O() Απαιτεί δεύτερο πίνακα Απαιτήσεις σε χώρο και χρόνο δεν επηρεάζονται από την αρχική διάταξη των δεδοµένων Μπορεί να γίνει ευσταθής αν έχουµε διπλά κλειδιά Δοµές Δεδοµένων 10-18
19 Συνθετική ταξινόµηση Συνθετική (bottom-up) ταξινόµηση µε συγχώνευση Μη αναδροµική υλοποίηση! Ιδέα: διαφορετικός τρόπος διάσχισης του δέντρου διαίρει και βασίλευε Η αναδροµική υλοποίηση επεξεργάζεται πρώτα το δεξιό και το αριστερό υποδέντρο και µετά πάει αµέσως στο πιο πάνω επίπεδο. Οποιαδήποτε άλλη διάσχιση που διατρέχει τα υποδέντρα κάποιου κόµβου πριν επισκεφτεί τον κόµβο είναι επίσης σωστή Μπορούµε π.χ. να διασχίσουµε πρώτα το κατώτερο επίπεδο του δέντρου, µετά το επόµενο επίπεδο κ.ο.κ. Αρχικά κάθε στοιχείο είναι υποπίνακας Σε κάθε βήµα συγχωνεύονται γειτονικοί υποπίνακες Το µέγεθος των πινάκων είναι m = 1,, 4, 8, Πρώτα γίνονται όλες οι 1x1 συγχωνεύσεις, µετά οι x, µετά οι 4x4,... Δοµές Δεδοµένων 10-19
20 Συνθετική ταξινόµηση Μη αναδρομική υλοποίηση: static int min(int A, int B) {return (A < B)? A: B; } static void mergesort(item[] a, int p, int r) { if (r <= p) return; aux = new ITEM[a.length]; for (int m = 1; m <= r-p; m = m+m)/* m= 1,, 4, για κάθε m κάνουμε συγχωνεύσεις m επί m μέχρι να φτάσουμε στο δεξιό όριο r*/ for (int i = p; i <= r-m; i += m+m) merge(a, i, i+m-1, min(i+m+m-1, r)); } Δοµές Δεδοµένων 10-0
21 Συνθετική ταξινόµηση Δοµή κλήσεων (όχι αναδροµικών!) Όταν το Ν είναι δύναµη του το δέντρο είναι ίδιο µε τον αναδροµικό αλγόριθµο Όταν το Ν δεν είναι δύναµη του έχουµε διαφορετικό δέντρο Σε κάθε επανάληψη το µέγεθος των υποπινάκων που συγχωνεύονται είναι δυνάµεις του εκτός ίσως από τον τελευταίο υποπίνακα. Δοµές Δεδοµένων 10-1
22 Σύγκριση των υλοποιήσεων Ίδιο κόστος χρόνου χειρότερης περίπτωσης O(lοg) και πρόσθετος χώρος O() Δεν χρειάζεται όµως στοίβα αναδροµής στη συνθετική ταξινόµηση Κατάλληλες και οι υλοποιήσεις όταν µας ενδιαφέρει περισσότερο ο χρόνος και οχι οι απαιτήσεις µνήµης Δοµές Δεδοµένων 10-
23 Χαρακτηριστικά επιδόσεων Βελτιώσεις απόδοσης Ο mergesort δεν είναι ιδιαίτερα αποδοτικός για µικρό Ν Χρήση Insertion Sort για µικρούς υποπίνακες Λύση που χρησιµοποιείται και σε άλλες ταξινοµήσεις Μείωση χρόνου κατά 15% περίπου Εξάλειψη των διπλών αντιγραφών σε κάθε βήµα Χρήση δύο πινάκων και εναλλαγή κλήσεων Απλή σχετικά λύση, αποφεύγει τη µία αντιγραφή Εξάλειψη του πρόσθετου πίνακα Αρκετά πιο περίπλοκη λύση, κέρδος µάλλον οριακό Δοµές Δεδοµένων 10-3
24 Χαρακτηριστικά επιδόσεων Ν Α Α* Σ Σ* Α: Αναδροµικός αλγόριθµος Α*: Αναδροµικός µε Insertion Sort για µικρά υποαρχεία Σ: συνθετικός αλγόριθµος Σ*: συνθετικός µε Insertion Sort για µικρά υποαρχεία Αναλυτικός ή συνθετικός; Ο αναλυτικός είναι λίγο πιο γρήγορος (περίπου 10%) Δοµές Δεδοµένων 10-4
25 Υλοποίηση µε λίστες Χρησιµοποιώντας λίστες µπορούµε να αποφύγουµε τη χρήση του βοηθητικού πίνακα. Θέλουµε όµως παραπάνω µνήµη για τους δείκτες Αναδροµική εκδοχή: θέλουµε και µία αρχική διέλευση όλης της λίστας για να βρούµε τη µέση static ode mergesort(ode c) { if (c == null c.next == null) return c; ode a = c, b = c.next; while ((b!= null) && (b.next!= null)) { c = c.next; b = (b.next).next; }//εύρεση μέσης b = c.next; c.next = null; return merge(mergesort(a), mergesort(b)); } Δοµές Δεδοµένων 10-5
26 Υλοποίηση µε λίστες Υλοποίηση της merge: static ode merge(ode a, ode b) { ode dummy = new ode(); ode head = dummy, c = head; while ((a!= null) && (b!= null)) if (less(a.item, b.item)) { c.next = a; c = a; a = a.next; } else { c.next = b; c = b; b = b.next; } c.next = (a == null)? b : a; return head.next; } Δοµές Δεδοµένων 10-6
27 Μειονεκτήµατα της Mergesort Δεν σταµατά άµεσα σε ταξινοµηµένο αρχείο Ο αριθµός των διελεύσεων εξαρτάται από το µέγεθος του πίνακα, και όχι από τη µορφή των δεδοµένων εισόδου Ίδιος αριθµός βηµάτων σε τυχαία δεδοµένα, Gaussian, µερικώς ταξινοµηµένα, αντίστροφα ταξινοµηµένα,... Δοµές Δεδοµένων 10-7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ταξινόµηση Mergesort Κεφάλαιο 8. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Ταξινόµηση Mergesort Κεφάλαιο 8 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Ταξινόµηση µε συγχώνευση Αλγόριθµος Mergesort Διµερής συγχώνευση Αφηρηµένη επιτόπου συγχώνευση Αναλυτική ταξινόµηση
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 2
Αλγόριθμοι Ταξινόμησης Μέρος 2 Μανόλης Κουμπαράκης 1 Προχωρημένοι Αλγόριθμοι Ταξινόμησης Στη συνέχεια θα παρουσιάσουμε τρείς προχωρημένους αλγόριθμους ταξινόμησης: treesort, quicksort και mergesort. 2
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ταξινόµηση Quicksort Κεφάλαιο 7. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Ταξινόµηση Quicksort Κεφάλαιο 7 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Quicksort Ο βασικός αλγόριθµος Χαρακτηριστικά επιδόσεων Μικροί υποπίνακες Μη αναδροµική υλοποίηση Δοµές Δεδοµένων
Διαβάστε περισσότεραΔοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης
Δοµές Δεδοµένων 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης Περίληψη Quicksort Χαρακτηριστικά επιδόσεων Μη αναδροµική υλοποίηση Δέντρα Μαθηµατικές ιδιότητες Δοµές Δεδοµένων 11-2
Διαβάστε περισσότεραΔοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης
Δοµές Δεδοµένων 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι Ε. Μαρκάκης Περίληψη Bubble Sort Selection Sort Insertion Sort Χαρακτηριστικά επιδόσεων Shellsort Ταξινόµηση συνδεδεµένων λιστών Δοµές Δεδοµένων
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ταξινόµηση - Στοιχειώδεις µέθοδοι Κεφάλαιο 6. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Ταξινόµηση - Στοιχειώδεις µέθοδοι Κεφάλαιο 6 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Ταξινόµηση: οι κανόνες του παιχνιδιού Ταξινόµηση µε εισαγωγή Γενικές Υλοποιήσεις Bubble Sort Selection
Διαβάστε περισσότεραΔιαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2
Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.
Διαβάστε περισσότεραΠΛΗ111. Ανοιξη Μάθηµα 9 ο. Ταξινόµηση. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης
ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 9 ο Ταξινόµηση Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Ταξινόµηση Εισαγωγή Selection sort Insertion sort Bubble sort
Διαβάστε περισσότεραΔοµές Δεδοµένων. 14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης. Ε. Μαρκάκης
Δοµές Δεδοµένων 14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης Ε. Μαρκάκης Περίληψη Δέντρα Δυαδικής Αναζήτησης Υλοποιήσεις εισαγωγής και αναζήτησης Χαρακτηριστικά επιδόσεων ΔΔΑ Εισαγωγή στη ρίζα ΔΔΑ Υλοποιήσεις
Διαβάστε περισσότεραΔιάλεξη 09: Αλγόριθμοι Ταξινόμησης I
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Α. SelectionSort Ταξινόμηση με Επιλογή Β. InsertionSort Ταξινόμηση με Εισαγωγή
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 14: Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης 3) Mergesort Ταξινόμηση με Συγχώνευση 4) BucketSort Ταξινόμηση με Κάδους Διδάσκων:
Διαβάστε περισσότεραΤαξινόμηση με συγχώνευση Merge Sort
Ταξινόμηση με συγχώνευση Merge Sort 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 Πληροφορικής 1 Διαίρει και Βασίλευε Η μέθοδος του «Διαίρει και Βασίλευε» είναι μια γενική αρχή σχεδιασμού αλγορίθμων
Διαβάστε περισσότεραΕπιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Διαίρει-και-Βασίλευε Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική
Διαβάστε περισσότεραΔιάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Γ. MergeSort Ταξινόμηση με Συγχώνευση Δ. BucketSort Ταξινόμηση με Κάδους Διδάσκων:
Διαβάστε περισσότεραιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα
Διαβάστε περισσότεραΔιάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort
Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα
Διαβάστε περισσότεραMerge Sort (Ταξινόμηση με συγχώνευση) 6/14/2007 3:04 AM Merge Sort 1
Merge Sort (Ταξινόμηση με συγχώνευση) 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 6/14/2007 3:04 AM Merge Sort 1 Κύρια σημεία για μελέτη Το παράδειγμα του «διαίρει και βασίλευε» ( 4.1.1) Merge-sort
Διαβάστε περισσότεραΔοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης
Δοµές Δεδοµένων 18η Διάλεξη Ισορροπηµένα δέντρα Ε. Μαρκάκης Περίληψη Επανάληψη των Τυχαιοποιηµένων ΔΔΑ, Στρεβλών ΔΔΑ, Δέντρων 2-3-4 Δέντρα κόκκινου-µαύρου Λίστες Παράλειψης Χαρακτηριστικά επιδόσεων - συµπεράσµατα
Διαβάστε περισσότεραΑναδρομικοί Αλγόριθμοι
Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα
Διαβάστε περισσότεραΤαξινόμηση. Παύλος Εφραιμίδης. Δομές Δεδομένων Ταξινόμηση 1
Ταξινόμηση Παύλος Εφραιμίδης Δομές Δεδομένων Ταξινόμηση 1 Το πρόβλημα της ταξινόμησης Δομές Δεδομένων Ταξινόμηση 2 Ταξινόμηση Δίνεται πολυ-σύνολο Σ με στοιχεία από κάποιο σύμπαν U (πχ. U = το σύνολο των
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ουρές προτεραιότητας Κεφάλαιο 9. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Ουρές προτεραιότητας Κεφάλαιο 9 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Ουρές προτεραιότητας Στοιχειώδεις υλοποιήσεις Δοµή δεδοµένων σωρού Αλγόριθµοι σε σωρούς Ο αλγόριθµος heapsort Δοµές
Διαβάστε περισσότεραΔιαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1
Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος
Διαβάστε περισσότεραQuicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι
Πρόβλημα Ταξινόμησης Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Είσοδος : ακολουθία n αριθμών (α 1, α 2,..., α n
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ουρές προτεραιότητας Κεφάλαιο 9. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Ουρές προτεραιότητας Κεφάλαιο 9 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Ουρές προτεραιότητας Στοιχειώδεις υλοποιήσεις Δοµή δεδοµένων σωρού Αλγόριθµοι σε σωρούς Ο αλγόριθµος heapsort Δοµές
Διαβάστε περισσότεραΑλγόριθμοι ταξινόμησης
Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης BuubleSort, SelectionSort, InsertionSort, Merger Sort, Quick Soft ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι
Διαβάστε περισσότεραΔοµές Δεδοµένων. 17η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης
Δοµές Δεδοµένων 17η Διάλεξη Ισορροπηµένα δέντρα Ε. Μαρκάκης Περίληψη Εισαγωγή Τυχαιοποιηµένα ΔΔΑ (Randomized Binary Search trees) Στρεβλά ΔΔΑ (Splay trees) Καθοδικά δέντρα 2-3-4 (Top-Down 2-3-4 trees)
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση
Διαβάστε περισσότεραΕισαγωγή στους Αλγορίθμους
Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Η Μέθοδος «Διαίρει & Βασίλευε» Η Μέθοδος
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Διαβάστε περισσότεραΔοµές Δεδοµένων. 15η Διάλεξη Δέντρα Δυαδικής Αναζήτησης και Κατακερµατισµός. Ε. Μαρκάκης
Δοµές Δεδοµένων 15η Διάλεξη Δέντρα Δυαδικής Αναζήτησης και Κατακερµατισµός Ε. Μαρκάκης Περίληψη Υλοποιήσεις άλλων λειτουργιών σε ΔΔΑ: Επιλογή k-οστού µικρότερου Διαµέριση Αφαίρεση στοιχείου Ένωση 2 δέντρων
Διαβάστε περισσότεραΗ εφαρµογή xsortlab. Οπτικός τρόπος ταξινόµησης
Η εφαρµογή xsortlab Η ταξινόµηση µιας λίστας πραγµάτων είτε σε αύξουσα είτε σε φθίνουσα σειρά είναι µια πολύ σηµαντική λειτουργία. Η εφαρµογή xsortlab περικλείει 5 διαφορετικές µεθόδους ταξινόµησης. Την
Διαβάστε περισσότεραΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων
ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)
Διαβάστε περισσότεραΤαξινόμηση. Σαλτογιάννη Αθανασία
Ταξινόμηση Σαλτογιάννη Αθανασία Ταξινόμηση Ταξινόμηση Τι εννοούμε όταν λέμε ταξινόμηση; Ταξινόμηση Τι εννοούμε όταν λέμε ταξινόμηση; Ποια είδη αλγορίθμων ταξινόμησης υπάρχουν; Ταξινόμηση Τι εννοούμε όταν
Διαβάστε περισσότεραΤαξινόμηση. 1. Γρήγορη ταξινόμηση 2. Ταξινόμηση με Συγχώνευση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Ταξινόμηση. Γρήγορη ταξινόμηση. Ταξινόμηση με Συγχώνευση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Γρήγορη Ταξινόμηση Η γρήγορη ταξινόμηση qucksort), που αλλιώς ονομάζεται και ταξινόμηση µε διαμερισμό
Διαβάστε περισσότεραΔιάλεξη 09: Αλγόριθμοι Ταξινόμησης I
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης: Α. SelectoSort Ταξινόμηση με Επιλογή Β. IsertoSort Ταξινόμηση με Εισαγωγή Γ. MergeSort
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα.0 Σταύρος Δ. Νικολόπουλος 06-7 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Ταξινόμηση Selection-Sort Bubble-Sort και
Διαβάστε περισσότεραQuicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1
Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση εισόδου σε δύο υπο-ακολουθίες:
Διαβάστε περισσότεραΟυρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης
Ουρές Προτεραιότητας: Υπενθύμιση Σωροί / Αναδρομή / Ταξινόμηση Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς (Abstract Data Type) με μεθόδους: Μπορεί να υλοποιηθεί με
Διαβάστε περισσότεραHeapsort Using Multiple Heaps
sort sort Using Multiple s. Λεβεντέας Χ. Ζαρολιάγκης Τµήµα Μηχανικών Η/Υ & Πληροφορικής 29 Αυγούστου 2008 sort 1 Ορισµός ify Build- 2 sort Πως δουλεύει Ιδιότητες 3 4 Προβλήµατα Προτάσεις Ανάλυση Κόστους
Διαβάστε περισσότεραΣΧΟΛΙΑ 1 ΗΣ ΕΡΓΑΣΙΑΣ. 15 Μαΐου 2013
ΣΧΟΛΙΑ 1 ΗΣ ΕΡΓΑΣΙΑΣ Σχεδίαση Αλγορίθμων 15 Μαΐου 2013 Ζητούμενα Υλοποίηση Ταξινόμησης με Συγχώνευση (Mergesort) Αναδρομική (Recursive) εκδοχή Επαναληπτική (Iterative) εκδοχή Καταμέτρηση αντιστροφών Για
Διαβάστε περισσότεραΠροχωρημένες έννοιες προγραμματισμού σε C
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)
Διαβάστε περισσότεραa 1 a 2 a n. 3. i = j 1 5. A[i + 1] = A[i] 6. i = i 1
Εισαγωγη στον Σχεδιασμο και Αναλυση αλγοριθμων Αλγοριθμοι Ταξινομησης Η ταξινόμηση μιας ακολουθίας αριθμών είναι από τα βασικά αποτελέσματα της θεωρίας αλγορίθμων. Μια ευρεία γκάμα τέτοιων αλγορίθμων έχουν
Διαβάστε περισσότεραΑναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»
Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε» ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε
Διαβάστε περισσότεραΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, σελ. 55-62 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 5) Δυαδική αναζήτηση
Διαβάστε περισσότεραΑλγόριθµοι Ταξινόµησης
Αλγόριθµοι Ταξινόµησης Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οι αλγόριθµοι ταξινόµησης SelectionSort, InsertionSort, Mergesort, QuickSort, BucketSort Κάτω φράγµα της αποδοτικότητας
Διαβάστε περισσότεραΕπιλογή. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Επιλογή ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[]με n στοιχεία (όχι ταξινομημένος). Αριθμός k, 1 k n. Υπολογισμός
Διαβάστε περισσότεραΠρόβληµα Επιλογής. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1
Πρόβληµα Επιλογής Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1 Πρόβληµα Επιλογής Πίνακας Α[ Αριθµός k, 1 k n. ] µε n στοιχεία (όχι ταξινοµηµένος). Υπολογισµός του k-οστού µικρότερου στοιχείου (στοιχείο
Διαβάστε περισσότεραΔοµές Δεδοµένων. 6η Διάλεξη Αναδροµικές Εξισώσεις και Αφηρηµένοι Τύποι Δεδοµένων. Ε. Μαρκάκης
Δοµές Δεδοµένων 6η Διάλεξη Αναδροµικές Εξισώσεις και Αφηρηµένοι Τύποι Δεδοµένων Ε. Μαρκάκης Περίληψη Χρήση αναδροµικών εξισώσεων στην ανάλυση αλγορίθµων Αφηρηµένοι τύποι δεδοµένων Συλλογές στοιχείων Στοίβα
Διαβάστε περισσότεραΑλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Συγχωνευτική Ταξινόμηση (Merge Sort) 7 2 9 4 2 4 7 9 7 2 2 7 9 4
Διαβάστε περισσότερα8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 7α: Μελέτη πολυπλοκότητας των Αλγόριθμων qucksort & mergesort Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΕιδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
Διαβάστε περισσότεραΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων
ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Πίνακες Συµβόλων Κεφάλαιο 12 ( ) Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Πίνακες Συµβόλων Κεφάλαιο 12 (12.1-12.4) Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Πίνακες συµβόλων Διεπαφή πίνακα συµβόλων Αναζήτηση µε αριθµοδείκτη Ακολουθιακή αναζήτηση Δυαδική αναζήτηση
Διαβάστε περισσότεραΔοµές Δεδοµένων. 4η Διάλεξη Στοιχειώδεις Δοµές Δεδοµένων: Πίνακες και Λίστες. Ε. Μαρκάκης
Δοµές Δεδοµένων 4η Διάλεξη Στοιχειώδεις Δοµές Δεδοµένων: Πίνακες και Λίστες Ε. Μαρκάκης Εργαστήρια Ώρες εργαστηρίων Τέσσερα τµήµατα εργαστηρίων XXXX001-XXXX060, Δευτέρα 09:00-11:00 (CSLAB II) XXXX061-XXXX120,
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 1
Αλγόριθμοι Ταξινόμησης Μέρος 1 Μανόλης Κουμπαράκης 1 Το Πρόβλημα της Ταξινόμησης Το πρόβλημα της ταξινόμησης (sorting) μιας ακολουθίας στοιχείων με κλειδιά ενός γνωστού τύπου (π.χ., τους ακέραιους ή τις
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται
Διαβάστε περισσότεραΑναδρομή Ανάλυση Αλγορίθμων
Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).
Διαβάστε περισσότεραΔοµές Δεδοµένων. 2η Διάλεξη Αλγόριθµοι Ένωσης-Εύρεσης (Union-Find) Ε. Μαρκάκης. Βασίζεται στις διαφάνειες των R. Sedgewick K.
Δοµές Δεδοµένων 2η Διάλεξη Αλγόριθµοι Ένωσης-Εύρεσης (Union-Find) Ε. Μαρκάκης Βασίζεται στις διαφάνειες των R. Sedgewick K. Wayne Περίληψη Συνδετικότητα δικτύου Αφαιρέσεις Συνδεδεµένα συστατικά Αφηρηµένη
Διαβάστε περισσότεραΑλγόριθµοι Divide-and- Conquer
Αλγόριθµοι Divide-and- Conquer Περίληψη Αλγόριθµοι Divide-and-Conquer Master Theorem Παραδείγµατα Αναζήτηση Ταξινόµηση Πλησιέστερα σηµεία Convex Hull Αλγόριθµοι Divide-and-Conquer Γενική Μεθοδολογία Το
Διαβάστε περισσότεραΕισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 7 η. Βασίλης Στεφανής
Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ Διάλεξη 7 η Βασίλης Στεφανής Αλγόριθμοι ταξινόμησης Στην προηγούμενη διάλεξη είδαμε: Binary search Λειτουργεί μόνο σε ταξινομημένους πίνακες Πώς τους ταξινομούμε? Πολλοί τρόποι. Ενδεικτικά:
Διαβάστε περισσότεραΕπιλογή. Πρόβλημα Επιλογής. Μέγιστο / Ελάχιστο. Εφαρμογές
Επιλογή Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πρόβλημα Επιλογής Πίνακας Α[]με n στοιχεία (όχι ταξινομημένος). Αριθμός
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 (5.1-5.2 και 5.4-5.6) Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Δέντρα Βασικοί ορισµοί Μαθηµατικές ιδιότητες Διάσχιση δέντρων Preorder, postorder,
Διαβάστε περισσότεραΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων
ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Πτυχιακή Εξεταστική Ιούλιος 2014 Διδάσκων : Ευάγγελος Μαρκάκης 09.07.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες
Διαβάστε περισσότεραΤαχεία Ταξινόμηση Quick-Sort
Ταχεία Ταξινόμηση Quc-Sort 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7 9 2 2 9 9 Δομές Δεδομένων και Αλγόριθμοι Εργαστήριο Γνώσης και Ευφυούς Πληροφορικής 1 Outlne Quc-sort Αλγόριθμος Βήμα διαχωρισμού Δένδρο Quc-sort
Διαβάστε περισσότεραΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS)
ΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS) Ταχεία Αναζήτηση Σε πίνακα: δυαδική αναζήτηση (binary search) σε ταξινοµηµένο πίνακα O(log n) Σε δένδρο: αναζήτηση σε ισοζυγισµένο δένδρο O(log n) Σε λίστα: Μπορούµε
Διαβάστε περισσότεραΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Γιάννης Κουτσονίκος Επίκουρος Καθηγητής Οργάνωση Δεδομένων Δομή Δεδομένων: τεχνική οργάνωσης των δεδομένων με σκοπό την
Διαβάστε περισσότερα5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η
Διαβάστε περισσότεραΔοµές Δεδοµένων. 16η Διάλεξη Κατακερµατισµός. Ε. Μαρκάκης
Δοµές Δεδοµένων 16η Διάλεξη Κατακερµατισµός Ε. Μαρκάκης Περίληψη Συναρτήσεις κατακερµατισµού Χωριστή αλυσίδωση Γραµµική διερεύνηση Διπλός κατακερµατισµός Δυναµικός κατακερµατισµός Προοπτική Δοµές Δεδοµένων
Διαβάστε περισσότεραauth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Σχεδίαση Αλγορίθμων Διαίρει και Βασίλευε http://delab.csd.auth.gr/courses/algorithms/ auth 1 Διαίρει και Βασίλευε Η γνωστότερη ρημέθοδος σχεδιασμού αλγορίθμων: 1. Διαιρούμε το στιγμιότυπο του προβλήματος
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότεραΤαξινόµηση. Παύλος Εφραιµίδης. οµές εδοµένων και
Παύλος Εφραιµίδης 1 Το πρόβληµα της ταξινόµησης 2 3 ίνεται πολυ-σύνολο Σ µε στοιχεία από κάποιο σύµπαν U (πχ. U = το σύνολο των ακεραίων αριθµών). του Σ είναι η επιβολή µιας διάταξης στα στοιχεία του συνόλου
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
- Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται
Διαβάστε περισσότεραQuicksort. Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Quicksort Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 6] Στοιχείο διαχωρισμού (pivot),
Διαβάστε περισσότεραΕπιλογή. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Επιλογή ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση
Διαβάστε περισσότεραQuicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Quicksort ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 62] Στοιχείο διαχωρισμού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 10: Ταξινόμηση Πίνακα Αναζήτηση σε Ταξινομημένο Πίνακα Πρόβλημα Δίνεται πίνακας t από Ν ακεραίους. Ζητούμενο: να ταξινομηθούν τα περιεχόμενα του πίνακα σε αύξουσα αριθμητική
Διαβάστε περισσότεραΔιάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα
Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης (ΔΔΑ) Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου Εισαγωγή στοιχείου
Διαβάστε περισσότερα1η Σειρά Γραπτών Ασκήσεων
1/20 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 1η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 1 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 2 3 4 5 2/20
Διαβάστε περισσότεραΕπιλογή. Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Επιλογή Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[ ] με n στοιχεία (όχι ταξινομημένος). Αριθμός k,
Διαβάστε περισσότεραΤι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΔοµές Δεδοµένων. 12η Διάλεξη Διάσχιση Δέντρων και Ουρές Προτεραιότητας. Ε. Μαρκάκης
Δοµές Δεδοµένων 12η Διάλεξη Διάσχιση Δέντρων και Ουρές Προτεραιότητας Ε. Μαρκάκης Περίληψη Διάσχιση δέντρων Ουρές προτεραιότητας Στοιχειώδεις υλοποιήσεις Δοµή δεδοµένων σωρού Αλγόριθµοι σε σωρούς Ο αλγόριθµος
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 04: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική
Διαβάστε περισσότεραΣχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Εξωτερική Αναζήτηση και Β-δέντρα Κεφάλαιο 16. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εξωτερική Αναζήτηση και Β-δέντρα Κεφάλαιο 16 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Ακολουθιακή πρόσβαση Β-δέντρα Υλοποίηση πίνακα συµβόλων µε Β-δέντρα Αναζήτηση Εισαγωγή Δοµές Δεδοµένων
Διαβάστε περισσότεραΝ!=1*2*3* *(N-1) * N => N! = (Ν-1)! * N έτσι 55! = 54! * 55
ΑΝΑ ΡΟΜΗ- ΑΣΚΗΣΕΙΣ Μια µέθοδος είναι αναδροµική όταν καλεί τον εαυτό της και έχει µια συνθήκη τερµατισµού π.χ. το παραγοντικό ενός αριθµού Ν, µπορεί να καλεί το παραγοντικό του αριθµού Ν-1 το παραγοντικό
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Λίστες Κεφάλαιο 3 (3.3, 3.4, 3.7) Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Στοιχειώδεις Δοµές Δεδοµένων Λίστες Κεφάλαιο 3 (3.3, 3.4, 3.7) Ε. Μαρκάκης Επικ. Καθηγητής Ενηµέρωση 5ο τµήµα Εργαστηρίων Τετάρτη 11-1 Δοµές Δεδοµένων 04-2 Περίληψη Συνδεδεµένες λίστες
Διαβάστε περισσότεραΔυαδικά Δένδρα Αναζήτησης, Δένδρα AVL
Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL Υλικό από τις σηµειώσεις Ν. Παπασπύρου, 2006 Δέντρα δυαδικής αναζήτησης Δενδρικές δοµές δεδοµένων στις οποίες Όλα τα στοιχεία στο αριστερό υποδέντρο της ρίζας είναι
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016
Διαβάστε περισσότεραΕνότητα 1: Εισαγωγή Ασκήσεις και Λύσεις
Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική και τη συµµετρική ιδιότητα του Θ. Λύση Μεταβατική Ιδιότητα (ορισµός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)). Για
Διαβάστε περισσότεραΠρογραµµατισµός 1 Ταξινόµηση - Αναζήτηση
Προγραµµατισµός 1 Ταξινόµηση - Αναζήτηση 1 Ταξινόµηση! Δεδοµένα: Δίνεται ένας πίνακας data από N ακεραίους! Ζητούµενο: Να ταξινοµηθούν τα περιεχόµενα σε αύξουσα αριθµητική σειρά:!i : 0 data[i]
Διαβάστε περισσότεραΣχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Σχεδίαση Αλγορίθμων Διαίρει και Βασίλευε http://delab.csd.auth.gr/~gounaris/courses/ad auth gounaris/courses/ad 1 Διαίρει και Βασίλευε Η γνωστότερη ρημέθοδος σχεδιασμού αλγορίθμων: 1. Διαιρούμε το στιγμιότυπο
Διαβάστε περισσότεραΑναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου
Διαβάστε περισσότεραQuicksort. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Quicksort ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότερα