Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1
|
|
- Ζοροβάβελ Μελετόπουλος
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1
2 Quicksort [Hoare, 62] Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση εισόδου σε δύο υπο-ακολουθίες: Στοιχεία αριστερής υπο-ακολ. στοιχείο διαχωρισµού. Στοιχεία δεξιάς υπο-ακολ. στοιχείο διαχωρισµού. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1
3 Quicksort [Hoare, 62] Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση εισόδου σε δύο υπο-ακολουθίες: Στοιχεία αριστερής υπο-ακολ. στοιχείο διαχωρισµού. Στοιχεία δεξιάς υπο-ακολ. στοιχείο διαχωρισµού. Ταξινόµηση υπο-ακολουθιών αναδροµικά. Ακολουθία ταξινοµηµένη όχι σύνθεση! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1
4 Quicksort [Hoare, 62] Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση εισόδου σε δύο υπο-ακολουθίες: Στοιχεία αριστερής υπο-ακολ. στοιχείο διαχωρισµού. Στοιχεία δεξιάς υπο-ακολ. στοιχείο διαχωρισµού. Ταξινόµηση υπο-ακολουθιών αναδροµικά. Ακολουθία ταξινοµηµένη όχι σύνθεση! quicksort(int A[], int left, int right) { if (left >= right) return; // At most 1 element q = partition(a, left, right); quicksort(a, left, q); quicksort(a, q+1, right); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1
5 Διαίρεση Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 2
6 Διαίρεση Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Διαίρεση σε ένα πέρασµα : Σάρωση από αριστερά (µε δείκτη i) µέχρι Α[ i ] pivot. Σάρωση από δεξιά (µε δείκτη j) µέχρι Α[ j] pivot. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 2
7 Διαίρεση Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Διαίρεση σε ένα πέρασµα : Σάρωση από αριστερά (µε δείκτη i) µέχρι Α[ i ] pivot. Σάρωση από δεξιά (µε δείκτη j) µέχρι Α[ j] pivot. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 2
8 Διαίρεση Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Διαίρεση σε ένα πέρασµα : Σάρωση από αριστερά (µε δείκτη i) µέχρι Α[ i ] pivot. Σάρωση από δεξιά (µε δείκτη j) µέχρι Α[ j] pivot. Αν δεν έχουν εξεταστεί όλα τα στοιχεία (i < j): αντιµετάθεση(α[ i ], Α[ j ]) και συνέχεια. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 2
9 Διαίρεση Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Διαίρεση σε ένα πέρασµα : Σάρωση από αριστερά (µε δείκτη i) µέχρι Α[ i ] pivot. Σάρωση από δεξιά (µε δείκτη j) µέχρι Α[ j] pivot. Αν δεν έχουν εξεταστεί όλα τα στοιχεία (i < j): αντιµετάθεση(α[ i ], Α[ j ]) και συνέχεια. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 2
10 Διαίρεση Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Διαίρεση σε ένα πέρασµα : Σάρωση από αριστερά (µε δείκτη i) µέχρι Α[ i ] pivot. Σάρωση από δεξιά (µε δείκτη j) µέχρι Α[ j] pivot. Αν δεν έχουν εξεταστεί όλα τα στοιχεία (i < j): αντιµετάθεση(α[ i ], Α[ j ]) και συνέχεια. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 2
11 Διαίρεση Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Διαίρεση σε ένα πέρασµα : Σάρωση από αριστερά (µε δείκτη i) µέχρι Α[ i ] pivot. Σάρωση από δεξιά (µε δείκτη j) µέχρι Α[ j] pivot. Αν δεν έχουν εξεταστεί όλα τα στοιχεία (i < j): αντιµετάθεση(α[ i ], Α[ j ]) και συνέχεια. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 2
12 Διαίρεση Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Διαίρεση σε ένα πέρασµα : Σάρωση από αριστερά (µε δείκτη i) µέχρι Α[ i ] pivot. Σάρωση από δεξιά (µε δείκτη j) µέχρι Α[ j] pivot. Αν δεν έχουν εξεταστεί όλα τα στοιχεία (i < j): αντιµετάθεση(α[ i ], Α[ j ]) και συνέχεια. Αν έχουν εξεταστεί όλα: επιστροφή ορίου διαχωρισµού (δείκτη j). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 2
13 Διαίρεση Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 3
14 Διαίρεση Στοιχείο διαχωρισµού : 13 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 3
15 Διαίρεση Στοιχείο διαχωρισµού : 13 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 3
16 Διαίρεση Στοιχείο διαχωρισµού : 13 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 3
17 Διαίρεση Στοιχείο διαχωρισµού : 13 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 3
18 Διαίρεση Στοιχείο διαχωρισµού : 13 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 3
19 Διαίρεση Στοιχείο διαχωρισµού : 13 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 3
20 Διαίρεση partition(int A[], int left, int right) { int pivot = A[left]; i = left 1; j = right + 1; while (1) { while (A[++i] < pivot) ; while (A[--j] > pivot) ; if (i < j) swap(a[i], A[j]); else return(j); } } Στοιχείο διαχωρισµού : 13 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 3
21 Διαίρεση Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 4
22 Διαίρεση partition(int A[], int left, int right) { int pivot = A[left]; i = left 1; j = right + 1; while (1) { while (A[++i] < pivot) ; while (A[--j] > pivot) ; if (i < j) swap(a[i], A[j]); else return(j); } } Στοιχείο διαχωρισµού : 10 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 4
23 Διαίρεση partition(int A[], int left, int right) { int pivot = A[left]; i = left 1; j = right + 1; while (1) { while (A[++i] < pivot) ; while (A[--j] > pivot) ; if (i < j) swap(a[i], A[j]); else return(j); } } Στοιχείο διαχωρισµού : 10 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 4
24 Ανάλυση Διαχωρισµού Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 5
25 Ανάλυση Διαχωρισµού Ορθότητα partition : Διατηρεί και επεκτείνει αριστερή περιοχή µε στοιχεία pivot και δεξιά περιοχή µε στοιχεία pivot. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 5
26 Ανάλυση Διαχωρισµού Ορθότητα partition : Διατηρεί και επεκτείνει αριστερή περιοχή µε στοιχεία pivot και δεξιά περιοχή µε στοιχεία pivot. A[ i ] pivot : επέκταση αριστερής περιοχής σταµατά. A[ j ] pivot : επέκταση δεξιάς περιοχής σταµατά. Ξένες περιοχές : αντιµετάθεση στοιχείων και συνέχεια. Επικάλυψη : ολοκλήρωση διαίρεσης. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 5
27 Ανάλυση Διαχωρισµού Ορθότητα partition : Διατηρεί και επεκτείνει αριστερή περιοχή µε στοιχεία pivot και δεξιά περιοχή µε στοιχεία pivot. A[ i ] pivot : επέκταση αριστερής περιοχής σταµατά. A[ j ] pivot : επέκταση δεξιάς περιοχής σταµατά. Ξένες περιοχές : αντιµετάθεση στοιχείων και συνέχεια. Επικάλυψη : ολοκλήρωση διαίρεσης. Τελικά τα στοιχεία αριστερά pivot και τα στοιχεία δεξιά pivot, όπως απαιτείται. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 5
28 Ανάλυση Διαχωρισµού Ορθότητα partition : Διατηρεί και επεκτείνει αριστερή περιοχή µε στοιχεία pivot και δεξιά περιοχή µε στοιχεία pivot. A[ i ] pivot : επέκταση αριστερής περιοχής σταµατά. A[ j ] pivot : επέκταση δεξιάς περιοχής σταµατά. Ξένες περιοχές : αντιµετάθεση στοιχείων και συνέχεια. Επικάλυψη : ολοκλήρωση διαίρεσης. Τελικά τα στοιχεία αριστερά pivot και τα στοιχεία δεξιά pivot, όπως απαιτείται. Κάθε περιοχή 1 στοιχείο. Quicksort τερµατίζει. (1 σηµείο διαχωρισµού n 1) Απαραίτητα: i και j σταµατούν στο pivot. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 5
29 Ανάλυση Διαχωρισµού Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 6
30 Ανάλυση Διαχωρισµού Χρόνος εκτέλεσης partition : Κάθε στοιχείο συγκρίνεται µε pivot µία φορά (εκτός από στοιχεία εκατέρωθεν σηµείου χωρισµού). Τελικά i και j «δείχνουν» είτε γειτονικές είτε ίδια θέση γιατί όπου πέρασε το i δεν συνεχίζει j. Χρόνος εκτέλεσης partition για n στοιχεία = Θ(n). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 6
31 Ανάλυση Διαχωρισµού Χρόνος εκτέλεσης partition : Κάθε στοιχείο συγκρίνεται µε pivot µία φορά (εκτός από στοιχεία εκατέρωθεν σηµείου χωρισµού). Τελικά i και j «δείχνουν» είτε γειτονικές είτε ίδια θέση γιατί όπου πέρασε το i δεν συνεχίζει j. Χρόνος εκτέλεσης partition για n στοιχεία = Θ(n). Μετά τον διαχωρισµό, στοιχεία δεν αλλάζουν «πλευρά» (δηλ. αριστερά µένουν αριστερά, δεξιά µένουν δεξιά). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 6
32 Ανάλυση Διαχωρισµού Χρόνος εκτέλεσης partition : Κάθε στοιχείο συγκρίνεται µε pivot µία φορά (εκτός από στοιχεία εκατέρωθεν σηµείου χωρισµού). Τελικά i και j «δείχνουν» είτε γειτονικές είτε ίδια θέση γιατί όπου πέρασε το i δεν συνεχίζει j. Χρόνος εκτέλεσης partition για n στοιχεία = Θ(n). Μετά τον διαχωρισµό, στοιχεία δεν αλλάζουν «πλευρά» (δηλ. αριστερά µένουν αριστερά, δεξιά µένουν δεξιά). Υπάρχουν πολλές άλλες µορφές διαίρεσης, π.χ. pivot παίρνει τελική του θέση στον πίνακα, διαίρεση στα τρία, Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 6
33 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
34 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
35 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
36 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
37 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
38 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
39 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
40 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
41 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
42 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
43 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
44 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
45 Παράδειγµα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 7
46 Ορθότητα Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 8
47 Ορθότητα Quicksort Συνέπεια ορθότητας partition : Τερµατισµός : µέγεθος υπο-ακολουθιών n 1. Ταξινόµηση : Αριστερά στοιχεία pivot δεξιά στοιχεία. Επαγωγικά, αριστερή περιοχή και δεξιά περιοχή ταξινοµηµένες. Συνολικά, πίνακας ταξινοµηµένος. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 8
48 Χρόνος Εκτέλεσης (χ.π.) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 9
49 Χρόνος Εκτέλεσης (χ.π.) Χρόνος εκτελ. αναδροµικών αλγ. µε διατύπωση και λύση αναδροµικής εξίσωσης. Χρόνος εκτέλεσης partition(n στοιχεία) : Θ(n) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 9
50 Χρόνος Εκτέλεσης (χ.π.) Χρόνος εκτελ. αναδροµικών αλγ. µε διατύπωση και λύση αναδροµικής εξίσωσης. Χρόνος εκτέλεσης partition(n στοιχεία) : Θ(n) Τ(n) : χρόνος (χ.π.) για ταξινόµηση n στοιχείων. Θ(n) : αναδιάταξη και διαίρεση εισόδου. T(k) : ταξινόµηση αριστερού τµήµατος (k στοιχεία). T(n k) : ταξινόµηση δεξιού τµήµατος (n k στοιχεία). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 9
51 Χρόνος Εκτέλεσης (χ.π.) Χρόνος εκτελ. αναδροµικών αλγ. µε διατύπωση και λύση αναδροµικής εξίσωσης. Χρόνος εκτέλεσης partition(n στοιχεία) : Θ(n) Τ(n) : χρόνος (χ.π.) για ταξινόµηση n στοιχείων. Θ(n) : αναδιάταξη και διαίρεση εισόδου. T(k) : ταξινόµηση αριστερού τµήµατος (k στοιχεία). T(n k) : ταξινόµηση δεξιού τµήµατος (n k στοιχεία). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 9
52 Χρόνος Εκτέλεσης (χ.π.) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 10
53 Χρόνος Εκτέλεσης (χ.π.) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 10
54 Χρόνος Εκτέλεσης (χ.π.) Χειρότερη περίπτωση : k = 1 ή k = n 1 (σε κάθε κλήση). Ουσιαστικά δεν γίνεται διαίρεση (µόνο αναδιάταξη)! Partition «βοηθάει ελάχιστα» τον αλγόριθµο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 10
55 Χρόνος Εκτέλεσης (χ.π.) Χειρότερη περίπτωση : k = 1 ή k = n 1 (σε κάθε κλήση). Ουσιαστικά δεν γίνεται διαίρεση (µόνο αναδιάταξη)! Partition «βοηθάει ελάχιστα» τον αλγόριθµο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 10
56 Χρόνος Εκτέλεσης (χ.π.) Χειρότερη περίπτωση : k = 1 ή k = n 1 (σε κάθε κλήση). Ουσιαστικά δεν γίνεται διαίρεση (µόνο αναδιάταξη)! Partition «βοηθάει ελάχιστα» τον αλγόριθµο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 10
57 Χρόνος Εκτέλεσης (χ.π.) Χειρότερη περίπτωση : k = 1 ή k = n 1 (σε κάθε κλήση). Ουσιαστικά δεν γίνεται διαίρεση (µόνο αναδιάταξη)! Partition «βοηθάει ελάχιστα» τον αλγόριθµο. Στιγµιότυπα που quicksort χρειάζεται χρόνο Ω(n 2 ); Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 10
58 Χρόνος Εκτέλεσης (χ.π.) Χειρότερη περίπτωση : k = 1 ή k = n 1 (σε κάθε κλήση). Ουσιαστικά δεν γίνεται διαίρεση (µόνο αναδιάταξη)! Partition «βοηθάει ελάχιστα» τον αλγόριθµο. Στιγµιότυπα που quicksort χρειάζεται χρόνο Ω(n 2 ); Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 10
59 Χρόνος Εκτέλεσης Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 11
60 Χρόνος Εκτέλεσης Καλύτερη περίπτωση : k = n / 2 (σε κάθε κλήση). Ουσιαστικά τέλεια διαίρεση! Partition «βοηθάει τα µέγιστα»! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 11
61 Χρόνος Εκτέλεσης Καλύτερη περίπτωση : k = n / 2 (σε κάθε κλήση). Ουσιαστικά τέλεια διαίρεση! Partition «βοηθάει τα µέγιστα»! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 11
62 Χρόνος Εκτέλεσης Καλύτερη περίπτωση : k = n / 2 (σε κάθε κλήση). Ουσιαστικά τέλεια διαίρεση! Partition «βοηθάει τα µέγιστα»! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 11
63 Χρόνος Εκτέλεσης Καλύτερη περίπτωση : k = n / 2 (σε κάθε κλήση). Ουσιαστικά τέλεια διαίρεση! Partition «βοηθάει τα µέγιστα»! Aν (περίπου ίδιο µεγέθος) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 11
64 Χρόνος Εκτέλεσης Καλύτερη περίπτωση : k = n / 2 (σε κάθε κλήση). Ουσιαστικά τέλεια διαίρεση! Partition «βοηθάει τα µέγιστα»! Aν (περίπου ίδιο µεγέθος) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 11
65 Χρόνος Εκτέλεσης Καλύτερη περίπτωση : k = n / 2 (σε κάθε κλήση). Ουσιαστικά τέλεια διαίρεση! Partition «βοηθάει τα µέγιστα»! Aν (περίπου ίδιο µεγέθος) Χειρότερη και καλύτερη περίπτωση εξαιρετικά σπάνιες! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 11
66 Χρόνος Εκτέλεσης Καλύτερη περίπτωση : k = n / 2 (σε κάθε κλήση). Ουσιαστικά τέλεια διαίρεση! Partition «βοηθάει τα µέγιστα»! Aν (περίπου ίδιο µεγέθος) Χειρότερη και καλύτερη περίπτωση εξαιρετικά σπάνιες! Αν τυχαίο στοιχείο pivot, πιθανότητα διαίρεσης (n / 4, 3n / 4) ή καλύτερης 1/2! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 11
67 Πιθανοτική Quicksort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 12
68 Πιθανοτική Quicksort Τυχαίο στοιχείο σαν στοιχείο χωρισµού (pivot). Για κάθε, πιθανότητα διαίρεσης (k, n k) = Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 12
69 Πιθανοτική Quicksort Τυχαίο στοιχείο σαν στοιχείο χωρισµού (pivot). Για κάθε, πιθανότητα διαίρεσης (k, n k) = randomquicksort(int A[], int left, int right) { if (left >= right) return; // At most 1 element pivot = random(left, right); swap(a[left], A[pivot]); q = partition(a, left, right); randomquicksort(a, left, q); randomquicksort(a, q+1, right); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 12
70 Χρόνος Εκτέλεσης (µ.π.) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 13
71 Χρόνος Εκτέλεσης (µ.π.) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 13
72 Χρόνος Εκτέλεσης (µ.π.) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 13
73 Χρόνος Εκτέλεσης (µ.π.) Λύση αναδροµής : Αυτός ο χρόνος εκτέλεσης µε µεγάλη πιθανότητα! Πιθανότητα διαίρεσης (n / 4, 3n / 4) ή καλύτερης 1/2! Κατά «µέσο όρο», κάθε 2 επίπεδα στο δέντρο της αναδροµής, έχουµε «επιτυχηµένη» διαίρεση. Σε κάθε επίπεδο, συνολικός χρόνος διαίρεσης Θ(n). Θ(n log n) από «επιτυχηµένες» διαιρέσεις + Θ(n log n) από «αποτυχηµένες» διαιρέσεις. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 13
74 Χρόνος Εκτέλεσης (µ.π.) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 14
75 Χρόνος Εκτέλεσης (µ.π.) Πιθανότητα «αποτυχηµένες» διαιρέσεις > c log n είναι εξαιρετικά µικρή! Χρόνος εκτέλεσης Θ(n log n) µε µεγάλη πιθανότητα! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 14
76 Χρόνος Εκτέλεσης (µ.π.) Πιθανότητα «αποτυχηµένες» διαιρέσεις > c log n είναι εξαιρετικά µικρή! Χρόνος εκτέλεσης Θ(n log n) µε µεγάλη πιθανότητα! Μέση περίπτωση δεν εξαρτάται από είσοδο! Αφορά στη συµπεριφορά του αλγόριθµου. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 14
77 Χρόνος Εκτέλεσης (µ.π.) Πιθανότητα «αποτυχηµένες» διαιρέσεις > c log n είναι εξαιρετικά µικρή! Χρόνος εκτέλεσης Θ(n log n) µε µεγάλη πιθανότητα! Μέση περίπτωση δεν εξαρτάται από είσοδο! Αφορά στη συµπεριφορά του αλγόριθµου. Εξαιρετικά µικρή πιθανότητα χειρότερης περίπτωσης. Ανάλυση χειρότερης περίπτωσης δεν έχει νόηµα! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 14
78 Πιθανοτικοί Αλγόριθµοι Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 15
79 Πιθανοτικοί Αλγόριθµοι Ντετερµινιστικοί αλγόριθµοι: Προκαθορισµένη συµπεριφορά για κάθε είσοδο. Υπάρχει χειρότερη περίπτωση και µπορεί να συµβεί. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 15
80 Πιθανοτικοί Αλγόριθµοι Ντετερµινιστικοί αλγόριθµοι: Προκαθορισµένη συµπεριφορά για κάθε είσοδο. Υπάρχει χειρότερη περίπτωση και µπορεί να συµβεί. Πιθανοτικοί αλγόριθµοι: Συµπεριφορά από είσοδο και τυχαίες επιλογές. Χρήση τυχαιότητας ώστε χειρότερη περίπτωση να συµβαίνει µε πολύ µικρή πιθανότητα. Ποια είναι η χειρότερη περ. για πιθανοτική quicksort; Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 15
81 Πιθανοτικοί Αλγόριθµοι Ντετερµινιστικοί αλγόριθµοι: Προκαθορισµένη συµπεριφορά για κάθε είσοδο. Υπάρχει χειρότερη περίπτωση και µπορεί να συµβεί. Πιθανοτικοί αλγόριθµοι: Συµπεριφορά από είσοδο και τυχαίες επιλογές. Χρήση τυχαιότητας ώστε χειρότερη περίπτωση να συµβαίνει µε πολύ µικρή πιθανότητα. Ποια είναι η χειρότερη περ. για πιθανοτική quicksort; Χρόνος (απόδοση) κατά µέση τιµή. Ορθότητα µε µεγάλη πιθανότητα. Las-Vegas: αποτέλεσµα σωστό, χρόνος τυχαία µετ/τη. Monte-Carlo: χρόνος προκαθορισµένος, µπορεί λάθος αποτέλεσµα (αλλά µε πολύ µικρή πιθανότητα). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 15
82 Σύνοψη Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 16
83 Σύνοψη Quicksort: Πιθανοτικός αλγόριθµος. Χρόνος χειρότερης περ.: Θ( n2 ) Χρόνος µέσης περίπτωσης: Θ(n log n) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 16
84 Σύνοψη Quicksort: Πιθανοτικός αλγόριθµος. Χρόνος χειρότερης περ.: Θ( n2 ) Χρόνος µέσης περίπτωσης: Θ(n Χώρος: σχεδόν in-place. log n) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 16
85 Σύνοψη Quicksort: Πιθανοτικός αλγόριθµος. Χρόνος χειρότερης περ.: Θ( n2 ) Χρόνος µέσης περίπτωσης: Θ(n log n) Χώρος: σχεδόν in-place. Αναδροµή καθυστερεί και απαιτεί µνήµη. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 16
86 Σύνοψη Quicksort: Πιθανοτικός αλγόριθµος. Χρόνος χειρότερης περ.: Θ( n2 ) Χρόνος µέσης περίπτωσης: Θ(n log n) Χώρος: σχεδόν in-place. Αναδροµή καθυστερεί και απαιτεί µνήµη. Εύκολη και γρήγορη υλοποίηση. Γρηγορότερος αλγόριθµος στην πράξη (για n 30). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 16
87 Σύνοψη Αλγόριθµος Καλύτερη Μέση Χειρότερη Χώρος BubbleS Ω(n) O(n 2 ) O(n 2 ) O(1) InsertionS Ω(n) O(n 2 ) O(n 2 ) O(1) SelectionS Ω(n) O(n 2 ) O(n 2 ) O(1) HeapS MergeS Ω(n log n) Ω(n log n) Ο(n log n) Ο(n log QuickS Ω(n log n) Ο(n n) n) O(n log n) O(1) O(n log n) O(n) O(n 2 )? Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 17
Quicksort. Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Quicksort Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 6] Στοιχείο διαχωρισμού (pivot),
Διαβάστε περισσότεραQuicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Quicksort ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 62] Στοιχείο διαχωρισμού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση
Διαβάστε περισσότεραQuicksort. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Quicksort ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραQuicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι
Πρόβλημα Ταξινόμησης Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Είσοδος : ακολουθία n αριθμών (α 1, α 2,..., α n
Διαβάστε περισσότεραΠρόβληµα Επιλογής. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1
Πρόβληµα Επιλογής Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1 Πρόβληµα Επιλογής Πίνακας Α[ Αριθµός k, 1 k n. ] µε n στοιχεία (όχι ταξινοµηµένος). Υπολογισµός του k-οστού µικρότερου στοιχείου (στοιχείο
Διαβάστε περισσότεραΕπιλογή. Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Επιλογή Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[ ] με n στοιχεία (όχι ταξινομημένος). Αριθμός k,
Διαβάστε περισσότεραΕπιλογή. Πρόβλημα Επιλογής. Μέγιστο / Ελάχιστο. Εφαρμογές
Επιλογή Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πρόβλημα Επιλογής Πίνακας Α[]με n στοιχεία (όχι ταξινομημένος). Αριθμός
Διαβάστε περισσότεραΕπιλογή. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Επιλογή ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[]με n στοιχεία (όχι ταξινομημένος). Αριθμός k, 1 k n. Υπολογισμός
Διαβάστε περισσότεραΕπιλογή. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Επιλογή ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΔιαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2
Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.
Διαβάστε περισσότεραιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 8 Quick Sort 1 / 11 Ο αλγόριθμος QuickSort 1 Προτάθηκε από τον CAR (Tony) Hoare το 1961 2 Ο αλγόριθμος
Διαβάστε περισσότεραΔιαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1
Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 20: Αλγόριθμοι ΤαξινόμησηςIII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Ε. QuickSort Γρήγορη Ταξινόμηση - Έμμεση Ταξινόμηση - Εξωτερική Ταξινόμηση Διδάσκων:
Διαβάστε περισσότεραΕπιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Διαίρει-και-Βασίλευε Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική
Διαβάστε περισσότεραΑλγόριθμοι ταξινόμησης
Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης BuubleSort, SelectionSort, InsertionSort, Merger Sort, Quick Soft ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ταξινόµηση Quicksort Κεφάλαιο 7. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Ταξινόµηση Quicksort Κεφάλαιο 7 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Quicksort Ο βασικός αλγόριθµος Χαρακτηριστικά επιδόσεων Μικροί υποπίνακες Μη αναδροµική υλοποίηση Δοµές Δεδοµένων
Διαβάστε περισσότεραΠΛΗ111. Ανοιξη Μάθηµα 9 ο. Ταξινόµηση. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης
ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 9 ο Ταξινόµηση Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Ταξινόµηση Εισαγωγή Selection sort Insertion sort Bubble sort
Διαβάστε περισσότεραΔιάλεξη 10: Αλγόριθμοι Ταξινόμησης II
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 10: Αλγόριθμοι Ταξινόμησης II Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Δ. QuickSort Γρήγορη Ταξινόμηση Ε. BucketSort
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 2
Αλγόριθμοι Ταξινόμησης Μέρος 2 Μανόλης Κουμπαράκης 1 Προχωρημένοι Αλγόριθμοι Ταξινόμησης Στη συνέχεια θα παρουσιάσουμε τρείς προχωρημένους αλγόριθμους ταξινόμησης: treesort, quicksort και mergesort. 2
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση
Διαβάστε περισσότεραauth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Σχεδίαση Αλγορίθμων Διαίρει και Βασίλευε http://delab.csd.auth.gr/courses/algorithms/ auth 1 Διαίρει και Βασίλευε Η γνωστότερη ρημέθοδος σχεδιασμού αλγορίθμων: 1. Διαιρούμε το στιγμιότυπο του προβλήματος
Διαβάστε περισσότεραΣτοιχεία Αλγορίθµων και Πολυπλοκότητας
Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις
Διαβάστε περισσότεραΑλγόριθμοι Αναζήτησης
Αλγόριθμοι Αναζήτησης ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 10: Αλγόριθμοι ΤαξινόμησηςII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Δ. QuickSort Γρήγορη Ταξινόμηση Ε. BucketSort Ταξινόμηση με Κάδους - Έμμεση Ταξινόμηση
Διαβάστε περισσότεραΑναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»
Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε» ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε
Διαβάστε περισσότεραΤαξινόμηση. 1. Στατιστικά Διάταξης 2. Στατιστικά σε Μέσο Γραμμικό Χρόνο. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Ταξινόμηση. Στατιστικά Διάταξης. Στατιστικά σε Μέσο Γραμμικό Χρόνο Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Στατιστικά Διάταξης Με τον όρο στατιστικά διάταξης (order statistics) εννοούμε την περίπτωση
Διαβάστε περισσότεραΤαξινόμηση. Παύλος Εφραιμίδης. Δομές Δεδομένων Ταξινόμηση 1
Ταξινόμηση Παύλος Εφραιμίδης Δομές Δεδομένων Ταξινόμηση 1 Το πρόβλημα της ταξινόμησης Δομές Δεδομένων Ταξινόμηση 2 Ταξινόμηση Δίνεται πολυ-σύνολο Σ με στοιχεία από κάποιο σύμπαν U (πχ. U = το σύνολο των
Διαβάστε περισσότεραΚατ οίκον Εργασία 2 Σκελετοί Λύσεων
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων 1. (α) Αλγόριθµος: ηµιούργησε το σύνολο P που αποτελείται από τα άκρα όλων των ευθυγράµµων τµηµάτων. Βρες το κυρτό περίβληµα του P µε τον αλγόριθµο του Graham. Ορθότητα:
Διαβάστε περισσότεραΔοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης
Δοµές Δεδοµένων 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης Περίληψη Quicksort Χαρακτηριστικά επιδόσεων Μη αναδροµική υλοποίηση Δέντρα Μαθηµατικές ιδιότητες Δοµές Δεδοµένων 11-2
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 9: Στατιστικά Διάταξης- Στατιστικά σε Μέσο Γραμμικό Χρόνο Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε
Διαβάστε περισσότεραΔοµές Δεδοµένων. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 2
Δοµές Δεδοµένων Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 2 Δοµές Δεδοµένων (Αναπαράσταση,) οργάνωση και διαχείριση συνόλων αντικειµένων για αποδοτική ενηµέρωση και ανάκτηση πληροφορίας.
Διαβάστε περισσότεραΔιάλεξη 09: Αλγόριθμοι Ταξινόμησης I
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Α. SelectionSort Ταξινόμηση με Επιλογή Β. InsertionSort Ταξινόμηση με Εισαγωγή
Διαβάστε περισσότεραΟυρά Προτεραιότητας: Heap
Ουρά Προτεραιότητας: Heap ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ομές εδομένων (Αναπαράσταση,) οργάνωση και διαχείριση συνόλων αντικειμένων για
Διαβάστε περισσότεραΟυρά Προτεραιότητας: Heap
Δομές Δεδομένων Ουρά Προτεραιότητας: Heap Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο (Αναπαράσταση,)
Διαβάστε περισσότεραΟ αλγόριθμος Quick-Sort. 6/14/2007 3:42 AM Quick-Sort 1
Ο αλγόριθμος Quick-Sort 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7 9 2 2 9 9 6/14/2007 3:42 AM Quick-Sort 1 Κύρια σημεία για μελέτη Quick-sort ( 4.3) Αλγόριθμος Partition step Δέντρο Quick-sort Παράδειγμα εκτέλεσης
Διαβάστε περισσότεραadd $t0,$zero, $zero I_LOOP: beq $t0,$s3, END add $t1, $zero,$zero J_LOOP: sub $t2, $s3, $t0 add $t2, $t2, $s1 int i, j, tmp; int *arr, n;
Άσκηση 1 η Μέρος Α Ζητούμενο: Δίνεται το παρακάτω πρόγραμμα σε C καθώς και μια μετάφραση του σε assembly MIPS. Συμπληρώστε τα κενά. Σας υπενθυμίζουμε ότι ο καταχωρητής $0 (ή $zero) είναι πάντα μηδέν. int
Διαβάστε περισσότεραΟυρά Προτεραιότητας: Heap
Ουρά Προτεραιότητας: Heap Επιμέλεια διαφανειών: Δ. Φωτάκης (λίγες τροποποιήσεις: Α. Παγουρτζής) Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Δομές Δεδομένων (Αναπαράσταση,)
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 14: Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης 3) Mergesort Ταξινόμηση με Συγχώνευση 4) BucketSort Ταξινόμηση με Κάδους Διδάσκων:
Διαβάστε περισσότεραΑλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort)
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort) Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Ταχυταξινόμηση (Quick-Sort) 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7
Διαβάστε περισσότεραΣχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Σχεδίαση Αλγορίθμων Διαίρει και Βασίλευε http://delab.csd.auth.gr/~gounaris/courses/ad auth gounaris/courses/ad 1 Διαίρει και Βασίλευε Η γνωστότερη ρημέθοδος σχεδιασμού αλγορίθμων: 1. Διαιρούμε το στιγμιότυπο
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση
Διαβάστε περισσότεραΔιάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Γ. MergeSort Ταξινόμηση με Συγχώνευση Δ. BucketSort Ταξινόμηση με Κάδους Διδάσκων:
Διαβάστε περισσότεραΤαξινόµηση. Παύλος Εφραιµίδης. οµές εδοµένων και
Παύλος Εφραιµίδης 1 Το πρόβληµα της ταξινόµησης 2 3 ίνεται πολυ-σύνολο Σ µε στοιχεία από κάποιο σύµπαν U (πχ. U = το σύνολο των ακεραίων αριθµών). του Σ είναι η επιβολή µιας διάταξης στα στοιχεία του συνόλου
Διαβάστε περισσότεραΤαξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort
Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort 1, c 3, a 3, b 7, d 7, g 7, e B 0 1 3 4 5 6 7 8 9 1 BucketSort (Ταξινόμηση Κάδου) - Αρχικά θεωρείται ένα κριτήριο κατανομής με βάση το οποίο
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)
Διαβάστε περισσότεραΔιάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort
Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα
Διαβάστε περισσότεραΤαξινόμηση με συγχώνευση 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 Διαίρει και Βασίλευε Η μέθοδος του «Διαίρει και Βασίλευε» είναι μια γενική αρχή σχεδιασμού αλγορίθμων
Διαβάστε περισσότεραΣχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 5) 1 / 17 Απόδοση προγραμμάτων Συχνά χρειάζεται να εκτιμηθεί η απόδοση
Διαβάστε περισσότεραΤαχεία Ταξινόμηση 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
Διαβάστε περισσότεραΑλγόριθµοι Ταξινόµησης
Αλγόριθµοι Ταξινόµησης Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οι αλγόριθµοι ταξινόµησης SelectionSort, InsertionSort, Mergesort, QuickSort, BucketSort Κάτω φράγµα της αποδοτικότητας
Διαβάστε περισσότεραΔιωνυµικοί Συντελεστές. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1
Διωνυµικοί Συντελεστές Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1 Διωνυµικοί Συντελεστές Διωνυµικοί συντελεστές Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός
Διαβάστε περισσότεραΟυρά Προτεραιότητας: Heap
Ουρά Προτεραιότητας: Heap ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ταξινόµηση Mergesort Κεφάλαιο 8. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Ταξινόµηση Mergesort Κεφάλαιο 8 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Ταξινόµηση µε συγχώνευση Αλγόριθµος Mergesort Διµερής συγχώνευση Αφηρηµένη επιτόπου συγχώνευση Αναλυτική ταξινόµηση
Διαβάστε περισσότεραΠιθανοτικοί Αλγόριθμοι
Πιθανοτικοί Αλγόριθμοι ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πιθανοτικοί Αλγόριθμοι Πιθανοτικός
Διαβάστε περισσότεραΠροχωρημένες έννοιες προγραμματισμού σε C
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)
Διαβάστε περισσότεραTυχαιοποιηµένοι Αλγόριθµοι (CLR, κεφάλαιo 8.3 και 10)
Tυχαιοποιηµένοι Αλγόριθµοι (CLR, κεφάλαιo 8.3 και 10) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Ο τυχαιοποιµένος αλγόριθµος QuickSort Αλγόριθµοι Επιλογής Τυχαιποιηµένος Αλγόριθµος Ο αλγόριθµος των
Διαβάστε περισσότεραΑλγόριθµοι Ταξινόµησης
Αλγόριθµοι Ταξινόµησης Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οι αλγόριθµοι ταξινόµησης SelectionSort, InsertionSort, Mergesort, QuickSort, BucketSort Κάτω φράγµα της αποδοτικότητας
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
- Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Διαβάστε περισσότερα8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων
Διαβάστε περισσότεραp
ΑΝΑ ΡΟΜΙΚΗ ΤΑΞΙΝΟΜΗΣΗ- ΑΣΚΗΣΕΙΣ Οι μέθοδοι ταξινόμησης QUICK SORT και MERGE SORT κωδικοποιούνται εύκολα αναδρομικά Oι δυο αναδροµικοί µέθοδοι δέχονται 1ο όρισµα τον πίνακα, και δεν επιστρέφουν τίποτα.
Διαβάστε περισσότεραΣχεδίαση & Ανάλυση Αλγορίθμων
Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 3 Αλγόριθμοι Επιλογής Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγόριθμοι Επιλογής Γνωρίζουμε
Διαβάστε περισσότεραΚατ οίκον Εργασία 1 Σκελετοί Λύσεων
ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Παρατηρούμε ότι ο χρόνος εκτέλεσης μέσης περίπτωσης της κάθε εντολής if ξεχωριστά: if (c mod 0) for (k ; k
Διαβάστε περισσότεραΤαξινόμηση. Σαλτογιάννη Αθανασία
Ταξινόμηση Σαλτογιάννη Αθανασία Ταξινόμηση Ταξινόμηση Τι εννοούμε όταν λέμε ταξινόμηση; Ταξινόμηση Τι εννοούμε όταν λέμε ταξινόμηση; Ποια είδη αλγορίθμων ταξινόμησης υπάρχουν; Ταξινόμηση Τι εννοούμε όταν
Διαβάστε περισσότεραΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ Εμβέλεια Μεταβλητών Εμβέλεια Μεταβλητής Οι μεταβλητές που έχουμε δει μέχρι τώρα είναι
Διαβάστε περισσότεραΗΥ240 - Παναγιώτα Φατούρου 2
Ενότητα 8 Ταξινόµηση ΗΥ0 - Παναγιώτα Φατούρου Ταξινόµηση Θεωρούµε έναν πίνακα Α[0..n-] µε n στοιχεία στα οποία έχει ορισθεί µια γραµµική διάταξη, δηλαδή ζεύγος στοιχείων x,y του Α, είτε x < y, ή x > y
Διαβάστε περισσότεραa 1 a 2 a n. 3. i = j 1 5. A[i + 1] = A[i] 6. i = i 1
Εισαγωγη στον Σχεδιασμο και Αναλυση αλγοριθμων Αλγοριθμοι Ταξινομησης Η ταξινόμηση μιας ακολουθίας αριθμών είναι από τα βασικά αποτελέσματα της θεωρίας αλγορίθμων. Μια ευρεία γκάμα τέτοιων αλγορίθμων έχουν
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου
Διαβάστε περισσότεραΑναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου
Διαβάστε περισσότεραΑλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Συγχωνευτική Ταξινόμηση (Merge Sort) 7 2 9 4 2 4 7 9 7 2 2 7 9 4
Διαβάστε περισσότεραΑΛΓΟΡΙΘΜΟΙ. Ενότητα 4: Διαίρει και Βασίλευε. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 4: Διαίρει και Βασίλευε Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΟρισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:
Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C
Διαβάστε περισσότεραΕνότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις
Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του
Διαβάστε περισσότεραΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης
ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Βασικές έννοιες και εφαρμογές Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δομή
Διαβάστε περισσότερα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
Διαβάστε περισσότεραΔυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε:
Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι
Διαβάστε περισσότεραΟιβασικέςπράξειςπουορίζουντονΑΤΔ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:
Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι
Διαβάστε περισσότεραΟι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:
υαδικά έντρα Αναζήτησης (Binary Search Trees) Ορισµός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόµενα στο αριστερό υποδέντρο του t είναι
Διαβάστε περισσότεραΟυρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης
Ουρές Προτεραιότητας: Υπενθύμιση Σωροί / Αναδρομή / Ταξινόμηση Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς (Abstract Data Type) με μεθόδους: Μπορεί να υλοποιηθεί με
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 1
Αλγόριθμοι Ταξινόμησης Μέρος 1 Μανόλης Κουμπαράκης 1 Το Πρόβλημα της Ταξινόμησης Το πρόβλημα της ταξινόμησης (sorting) μιας ακολουθίας στοιχείων με κλειδιά ενός γνωστού τύπου (π.χ., τους ακέραιους ή τις
Διαβάστε περισσότεραΔοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης
Δοµές Δεδοµένων 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι Ε. Μαρκάκης Περίληψη Bubble Sort Selection Sort Insertion Sort Χαρακτηριστικά επιδόσεων Shellsort Ταξινόµηση συνδεδεµένων λιστών Δοµές Δεδοµένων
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 1. α. Να βάλετε σε αύξουσα σειρά μεγέθους τις παρακάτω συναρτήσεις χρονικής πολυπλοκότητας αλγορίθμων: nlogn, n logn,
Διαβάστε περισσότεραΔομές Δεδομένων Ενότητα 2
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 2: Θέματα Απόδοσης Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότερα1o Φροντιστήριο ΗΥ240
1o Φροντιστήριο ΗΥ240 Άσκηση 1 Αποδείξτε τη μεταβατική και τη συμμετρική ιδιότητα του Θ Μεταβατική Ιδιότητα (ορισμός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)) Για να ισχύει f(n)= Θ(h(n))
Διαβάστε περισσότερα1η Σειρά Γραπτών Ασκήσεων
1/20 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 1η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 1 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 2 3 4 5 2/20
Διαβάστε περισσότεραΕργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας
Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αναζήτηση με linearsearch, binarysearch, ternarysearch - Ανάλυση Πολυπλοκότητας ternarysearch
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 9: Ταξινόμηση Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 9: Ταξινόμηση Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 9 Ταξινόμηση ΗΥ240 - Παναγιώτα Φατούρου 2 Ταξινόμηση Θεωρούμε έναν πίνακα
Διαβάστε περισσότεραΠρογραμματιστικές Τεχνικές
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωμύλος Κορακίτης
Διαβάστε περισσότεραΔιάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:
Διαβάστε περισσότεραΔιάλεξη 17η: Ταξινόμηση και Αναζήτηση
Διάλεξη 17η: Ταξινόμηση και Αναζήτηση Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Ταξινόμηση CS100, 2016-2017 1 / 10 Το πρόβλημα της Αναζήτησης
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα.0 Σταύρος Δ. Νικολόπουλος 06-7 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Ταξινόμηση Selection-Sort Bubble-Sort και
Διαβάστε περισσότεραΑναδρομή Ανάλυση Αλγορίθμων
Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας ΠΕΡΙΓΡΑΦΗ Σε αυτή την άσκηση καλείστε να αναλύσετε και να υπολογίσετε το
Διαβάστε περισσότεραΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ
1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #10: Αλγόριθμοι Διαίρει & Βασίλευε: Master Theorem, Αλγόριθμοι Ταξινόμησης, Πιθανοτικός
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ
Διαβάστε περισσότεραΕισαγωγή στον δομημένο προγραμματισμό
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 9 η : Συναρτήσεις Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών
Διαβάστε περισσότερα