Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει."— Μεταγράφημα παρουσίασης:

1 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει τις ακόλουθες λειτουργίες PQinsert : εισαγωγή στοιχείου Αποτελεί γενίκευση των δομών της στοίβας και της ουράς. Εξαιρετικά χρήσιμη δομή δεδομένων με πολλές εφαρμογές. Π.χ. ταξινόμηση με χρήση ουράς προτεραιότητας. PQdelmax : επιστροφή του στοιχείου με το μεγαλύτερο* κλειδί και διαγραφή του από τη δομή * Σε ορισμένες εφαρμογές θέλουμε να επιστρέφουμε γρήγορα το στοιχείο με το ελάχιστο κλειδί αντί για το μέγιστο.

2 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Σε πολλές εφαρμογές χρειαζόμαστε επιπλέον λειτουργίες κατασκευή ουράς προτεραιότητας για δεδομένα Ν στοιχεία αλλαγή κλειδιού ενός στοιχείου διαγραφή στοιχείου ένωση δύο ουρών προτεραιότητας σε μία Δομή δεδομένων που υποστηρίζει τις ακόλουθες λειτουργίες PQinsert : εισαγωγή στοιχείου PQdelmax : επιστροφή του στοιχείου με το μεγαλύτερο* κλειδί και διαγραφή του από τη δομή * Σε ορισμένες εφαρμογές θέλουμε να επιστρέφουμε γρήγορα το στοιχείο με το ελάχιστο κλειδί αντί για το μέγιστο.

3 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Στοιχειώδης υλοποίηση με μη διατεταγμένο πίνακα static int N; static int *pq; void PQinit(int maxN) { pq = malloc(maxN*sizeof(int)); N = 0;} int PQempty() { return N==0;} void PQinsert(int v) { pq[N++]=v; } int PQdelmax() { int j, max = 0; for (j = 1; j < N; j++) if (pq[max] < pq[j]) max = j; exch(pq,max,N-1); // ανταλλαγή pq[max] και pq[N-1] return pq[--N]; } 181220111595 [0][0][1][1][2][2][3][3][4][4][5][5][6][6][7][7][8][8][9][9][10][11] NmaxN-1 void exch(int *a, int i, int j) { int temp=a[i]; a[i]=a[j]; a[j]=temp; }

4 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Άλλες στοιχειώδεις υλοποιήσεις 591112151820 [0][0][1][1][2][2][3][3][4][4][5][5][6][6][7][7][8][8][9][9][10][11] NmaxN-1 Διατεταγμένος πίνακας: Το μέγιστο στοιχείο στην τελευταία μη κενή θέση Μη διατεταγμένη λίστα Διατεταγμένη λίστα: Το μέγιστο στοιχείο στην αρχή της λίστας 181212202011151595 head 201815121195 head

5 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) εισαγωγή διαγραφή μέγιστου διαγραφή ( * ) εύρεση μέγιστου αλλαγή προτεραιότητας ένωση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένη λίστα μη διατεταγμένος πίνακας σωρός διωνυμική ουρά καλύτερος θεωρητικά ( * ) Υποθέτει ότι γνωρίζουμε τη θέση του στοιχείου που διαγράφεται

6 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) εισαγωγή διαγραφή μέγιστου διαγραφή ( * ) εύρεση μέγιστου αλλαγή προτεραιότητας ένωση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένη λίστα μη διατεταγμένος πίνακας σωρός διωνυμική ουρά καλύτερος θεωρητικά ( * ) Υποθέτει ότι γνωρίζουμε τη θέση του στοιχείου που διαγράφεται ( ** ) ( ** ) Απαιτεί πιο σύνθετη συνδεδεμένη λίστα, π.χ. διπλή λίστα

7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Υποστηρίζει αποδοτικά τις λειτουργίες μιας ουράς προτεραιότητας. 20 18 12 11 2 2 5 5 4 4 13 15 7 7 9 9 6 6 Αναπαράσταση ως πλήρες δυαδικό δένδρο: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του.

8 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Υποστηρίζει αποδοτικά τις λειτουργίες μιας ουράς προτεραιότητας. 20 18 12 11 2 2 5 5 4 4 13 15 7 7 9 9 6 6 Σωρός μέγιστου: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 2 2 5 5 4 4 11 18 7 7 20 1515 1515 9 9 13 6 6 12 σωρός μέγιστου : γρήγορη εξαγωγή μέγιστου στοιχείου σωρός ελάχιστου : γρήγορη εξαγωγή ελάχιστου στοιχείου Σωρός ελάχιστου: κάθε κόμβος έχει κλειδί μεγαλύτερο ή ίσο με το κλειδί του γονέα του.

9 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Υποστηρίζει αποδοτικά τις λειτουργίες μιας ουράς προτεραιότητας. Αναπαράσταση ως πλήρες δυαδικό δένδρο: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. η ρίζα έχει το μέγιστο κλειδί. ύψος lgN 20 18 12 11 2 2 5 5 4 4 13 15 7 7 9 9 6 6

10 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Υποστηρίζει αποδοτικά τις λειτουργίες μιας ουράς προτεραιότητας. 20 18 12 11 2 5 5 4 4 13 15 7 7 9 9 6 6 Αναπαράσταση ως πλήρες δυαδικό δένδρο: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] 201812111595427136 [1][2][3][4][5][6][7][8][9][10][11][12] Υλοποίηση με πίνακα: το στοιχείο στη θέση i είναι ο γονέας των στοιχείων στις θέσεις 2i και 2i+1. η ρίζα έχει το μέγιστο κλειδί. ύψος lgN

11 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 1812 11 2 5 4 13 15 7 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5]

12 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 1812 11 2 5 4 13 15 19 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] παραβίαση της συνθήκης σωρού

13 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 1812 11 2 5 4 13 1919 15 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] αντιμετάθεση με το γονέα

14 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 191912 11 2 5 4 13 1818 15 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] αντιμετάθεση με το γονέα

15 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 191912 11 2 5 4 13 1818 15 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] αντιμετάθεση με το γονέα η συνθήκη σωρού αποκαταστάθηκε

16 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 191912 11 2 5 4 13 1818 15 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] fixUp(int *a, int k) { while (k>1 && (a[k/2]<a[k])) { exch(a,k,k/2); k=k/2; } } void exch(int *a, int i, int j) { int temp=a[i]; a[i]=a[j]; a[j]=temp; }

17 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 1812 11 2 5 4 13 15 7 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5]

18 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 14 1812 11 2 5 4 13 15 7 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] παραβίαση της συνθήκης σωρού

19 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 18 1412 11 2 5 4 13 15 7 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] αντιμετάθεση με μεγαλύτερο παιδί

20 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 18 151512 11 2 5 4 13 1414 7 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] αντιμετάθεση με μεγαλύτερο παιδί

21 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 18 151512 11 2 5 4 13 1414 7 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] αντιμετάθεση με μεγαλύτερο παιδί η συνθήκη σωρού αποκαταστάθηκε

22 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 18 151512 11 2 5 4 13 1414 7 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] fixDown (int *a, int k, int N) { int j; while (2*k <= N) { j=2*k; if ((j<N) && (a[j]<a[j+1])) j++; if (a[k] > a[j]) break; exch(a,k,j); k=j; } void exch(int *a, int i, int j) { int temp=a[i]; a[i]=a[j]; a[j]=temp; }

23 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ουρά προτεραιότητας βασισμένη σε σωρό static int N; int pq[maxN]; int PQempty() { return N==0;} void PQinsert(int v) { pq[++N]=v; fixUp(pq,N); } int PQdelmax() { exch(pq,1,N); fixDown(pq,1,N-1); return pq[N--]; } 18 151512 11 2 5 4 13 1414 7 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5]

24 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ουρά προτεραιότητας βασισμένη σε σωρό static int N; int pq[maxN]; int PQempty() { return N==0;} void PQinsert(int v) { pq[++N]=v; fixUp(pq,N); } int PQdelmax() { exch(pq,1,N); fixDown(pq,1,N-1); return pq[N--]; } 18 151512 11 2 5 4 13 1414 7 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] διαγραφή μέγιστου

25 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ουρά προτεραιότητας βασισμένη σε σωρό static int N; int pq[maxN]; int PQempty() { return N==0;} void PQinsert(int v) { pq[++N]=v; fixUp(pq,N); } int PQdelmax() { exch(pq,1,N); fixDown(pq,1,N-1); return pq[N--]; } 6 151512 11 2 5 4 13 1414 7 9 18 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] διαγραφή μέγιστου

26 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ουρά προτεραιότητας βασισμένη σε σωρό static int N; int pq[maxN]; int PQempty() { return N==0;} void PQinsert(int v) { pq[++N]=v; fixUp(pq,N); } int PQdelmax() { exch(pq,1,N); fixDown(pq,1,N-1); return pq[N--]; } 15 612 11 2 5 4 13 1414 7 9 18 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] διαγραφή μέγιστου

27 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ουρά προτεραιότητας βασισμένη σε σωρό static int N; int pq[maxN]; int PQempty() { return N==0;} void PQinsert(int v) { pq[++N]=v; fixUp(pq,N); } int PQdelmax() { exch(pq,1,N); fixDown(pq,1,N-1); return pq[N--]; } 15 1412 11 2 5 4 13 6 7 9 18 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] διαγραφή μέγιστου

28 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ουρά προτεραιότητας βασισμένη σε σωρό static int N; int pq[maxN]; int PQempty() { return N==0;} void PQinsert(int v) { pq[++N]=v; fixUp(pq,N); } int PQdelmax() { exch(pq,1,N); fixDown(pq,1,N-1); return pq[N--]; } 15 1412 11 2 5 4 6 13 7 9 18 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] διαγραφή μέγιστου

29 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ουρά προτεραιότητας βασισμένη σε σωρό static int N; int pq[maxN]; int PQempty() { return N==0;} void PQinsert(int v) { pq[++N]=v; fixUp(pq,N); } int PQdelmax() { exch(pq,1,N); fixDown(pq,1,N-1); return pq[N--]; } 15 1412 11 2 5 4 6 13 7 9 18 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] διαγραφή μέγιστου

30 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με ουρά προτεραιότητας void PQsort(int *a, int N) { int k; PQinit(); for (k=1; k<=N; k++) PQinsert(a[k]); for (k=N; k>=1; k--) a[k]=PQdelmax(); }

31 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με ουρά προτεραιότητας void PQsort(int *a, int N) { int k; PQinit(); for (k=1; k<=N; k++) PQinsert(a[k]); for (k=N; k>=1; k--) a[k]=PQdelmax(); } Διαδοχική εισαγωγή των στοιχείων στην ουρά  O(N·logN) χρόνος

32 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με ουρά προτεραιότητας void PQsort(int *a, int N) { int k; PQinit(); for (k=1; k<=N; k++) PQinsert(a[k]); for (k=N; k>=1; k--) a[k]=PQdelmax(); } Διαδοχική εισαγωγή των στοιχείων στην ουρά  O(N·logN) χρόνος Διαδοχική εξαγωγή μέγιστου στοιχείου  O(N·logN) χρόνος

33 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος

34 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 418 9 2 14 7 15 13 6 5 12 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

35 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 418 9 2 14 7 15 13 6 5 12 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

36 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 418 9 2 14 7 15 13 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

37 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 418 9 2 14 7 15 13 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

38 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 418 9 2 14 7 13 15 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

39 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 418 9 2 14 7 13 15 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

40 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 418 9 2 14 7 13 15 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

41 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 418 9 2 14 7 13 15 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

42 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 1518 9 2 14 7 13 4 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

43 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 1518 9 2 14 7 13 4 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

44 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 1518 9 2 14 7 4 13 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

45 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 11 1518 9 2 14 7 4 13 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

46 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 18 1511 9 2 14 7 4 13 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

47 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 18 1511 9 2 14 7 4 13 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

48 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 18 1514 9 2 11 7 4 13 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

49 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος 18 1514 9 2 11 7 4 13 6 12 5 [1] [2][3] [7][6] [12] [11] [10] [9][8] [4][5] void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

50 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αλγόριθμοι σε Σωρούς Ταξινόμηση με σωρό Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά)  O(N) χρόνος Απόδειξη για Ο αριθμός των αντιμεταθέσεων είναι το πολύ void heapsort(int *a, int N) { int k; for (k=N/2; k>=1; k--) fixDown(a,k,N); while (N>1) { exch(a,1,N); fixDown(a,1,--N); }

51 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι Ταξινόμησης Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις a[i] > a[j] NAI OXI Οι αλγόριθμοι ταξινόμησης που μελετάμε στο μάθημα βασίζονται σε συγκρίσεις ανά δύο των στοιχείων της ακολουθίας: Οποιοσδήποτε τέτοιος αλγόριθμος μπορεί να αναπαρασταθεί με ένα δένδρο απόφασης Θα δείξουμε ότι ο χρόνος εκτέλεσης στη χειρότερη περίπτωση είναι

52 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι Ταξινόμησης Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις Δένδρο απόφασης a[i]<a[j] ? a[b]<a[c] ? a[f]<a[g] ? a[h]<a[i] ? a[d]<a[e] ? a[j]<a[k] ? a[l]<a[m] ?

53 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι Ταξινόμησης Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις Δένδρο απόφασης a[1]<a[2] ? a[1]<a[3] ? a[2]<a[3] ? a[1]<a[3] ? a[2]<a[3] ? a[1]< a[2]< a[3] a[1]< a[3]< a[2] a[3]< a[1]< a[2] Π.χ. για n=3 a[2]< a[1]< a[3] a[2]< a[3]< a[1] a[3]< a[2]< a[1] Η εκτέλεση του αλγόριθμου ακολουθεί ένα μονοπάτι από τη ρίζα προς κάποιο φύλλο

54 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι Ταξινόμησης Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις Δένδρο απόφασης a[1]<a[2] ? a[1]<a[3] ? a[2]<a[3] ? a[1]<a[3] ? a[2]<a[3] ? a[1]< a[2]< a[3] a[1]< a[3]< a[2] a[3]< a[1]< a[2] Π.χ. για n=3 a[2]< a[1]< a[3] a[2]< a[3]< a[1] a[3]< a[2]< a[1] Η εκτέλεση του αλγόριθμου ακολουθεί ένα μονοπάτι από τη ρίζα προς κάποιο φύλλο Για a=[1,2,3]

55 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι Ταξινόμησης Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις Δένδρο απόφασης a[1]<a[2] ? a[1]<a[3] ? a[2]<a[3] ? a[1]<a[3] ? a[2]<a[3] ? a[1]< a[2]< a[3] a[1]< a[3]< a[2] a[3]< a[1]< a[2] Π.χ. για n=3 a[2]< a[1]< a[3] a[2]< a[3]< a[1] a[3]< a[2]< a[1] Η εκτέλεση του αλγόριθμου ακολουθεί ένα μονοπάτι από τη ρίζα προς κάποιο φύλλο Για a=[2,1,3]

56 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι Ταξινόμησης Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις Δένδρο απόφασης a[i]<a[j] ? a[b]<a[c] ? a[f]<a[g] ? a[h]<a[i] ? a[d]<a[e] ? a[j]<a[k] ? a[l]<a[m] ? Κάθε μετάθεση της ακολουθίας εισόδου αντιστοιχεί σε διαφορετικό φύλλο  υπάρχουν n! φύλλα Ο αριθμός των συγκρίσεων που πραγματοποιεί μια εκτέλεση του αλγόριθμου στη χειρότερη περίπτωση είναι ίσος με το ύψος του δένδρου

57 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι Ταξινόμησης Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις Δένδρο απόφασης a[i]<a[j] ? a[b]<a[c] ? a[f]<a[g] ? a[h]<a[i] ? a[d]<a[e] ? a[j]<a[k] ? a[l]<a[m] ? Κάθε μετάθεση της ακολουθίας εισόδου αντιστοιχεί σε διαφορετικό φύλλο  υπάρχουν n! φύλλα Ο αριθμός των συγκρίσεων που πραγματοποιεί μια εκτέλεση του αλγόριθμου στη χειρότερη περίπτωση είναι ίσος με το ύψος του δένδρου Ύψος δυαδικού δένδρου με n! φύλλα =

58 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A δ-Σωρός Αποτελεί άμεση γενίκευση του δυαδικού σωρού : Κάθε κόμβος έχει το πολύ παιδιά και οι νέοι κόμβοι προστίθενται στο τελευταίο επίπεδο από τα αριστερά προς τα δεξιά 2 614 15 8 79 4 5 [1] [2][4][4] [9][9] [8][8][6][6][7][7] [5][5] [3][3] 3-σωρός ελάχιστου Εισαγωγή : χρόνος Διαγραφή : χρόνος

59 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Δυαδικά δένδρα αριστερά διατεταγμένα σε σωρό 20 16 12 1485 18 7 Το κλειδί κάθε κόμβου είναι μεγαλύτερο ή ίσο από όλα τα κλειδιά του αριστερού υποδένδρου αυτού του κόμβου. Σωρός δύναμης του 2 Δένδρο αριστερά διατεταγμένο σε σωρό, στο οποίο το δεξί υποδένδρο της ρίζας είναι κενό και το αριστερό υποδένδρο είναι πλήρες.

60 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Δυαδικά δένδρα αριστερά διατεταγμένα σε σωρό 20 16 12 1485 18 7 Το κλειδί κάθε κόμβου είναι μεγαλύτερο ή ίσο από όλα τα κλειδιά του αριστερού υποδένδρου αυτού του κόμβου. Σωρός δύναμης του 2 Δένδρο αριστερά διατεταγμένο σε σωρό, στο οποίο το δεξί υποδένδρο της ρίζας είναι κενό και το αριστερό υποδένδρο είναι πλήρες. 20 16 12 14 8 518 7 Διωνυμικό δένδρο Δένδρο που με την αντιστοίχηση αριστερού παιδιού και δεξιού αδελφού δίνει σωρό δύναμης του 2.

61 12 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Υλοποίηση 20 16 12 1485 18 7 20 16 12 14 8 518 7 20 16 18 57 8 14 Δυαδικό δένδρο Νοητή αναπαράσταση: Διωνυμικό δένδρο διατεταγμένο σε σωρό

62 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμικά δένδρα

63 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμικά δένδρα Το διωνυμικό δένδρο έχει κόμβους : κόμβους στο επίπεδο

64 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Δυαδικά δένδρα αριστερά διατεταγμένα σε σωρό 20 16 12 1485 18 7 Το κλειδί κάθε κόμβου είναι μεγαλύτερο ή ίσο από όλα τα κλειδιά του αριστερού υποδένδρου αυτού του κόμβου. Σωρός δύναμης του 2 Δένδρο αριστερά διατεταγμένο σε σωρό, στο οποίο το δεξί υποδένδρο της ρίζας είναι κενό και το αριστερό υποδένδρο είναι πλήρες. 20 16 12 14 8 518 7 Διωνυμικό δένδρο Δένδρο που με την αντιστοίχηση αριστερού παιδιού και δεξιού αδελφού δίνει σωρό δύναμης του 2. Το πλήθος των κόμβων σε ένα σωρό δύναμης του 2 είναι δύναμη του 2 Κανένας κόμβος δεν έχει κλειδί μεγαλύτερο από το κλειδί της ρίζας Τα διωνυμικά δέντρα είναι διατεταγμένα σε σωρό

65 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) 20 16 12 1485 18 7 20 16 12 14 8 518 7 15 11 9 1064 13 3 20 15 11 9 1064 13 3 16 12 1485 18 7 15 11 9 10 6 413 3 20 16 12 14 8 518 7 15 11 9 10 6 413 3

66 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Παράδειγμα: διωνυμική ουρά μεγέθους 13 = (1101) 2 Μια διωνυμική ουρά με κλειδιά αποτελείται από το πολύ σωρούς δύναμης του 2

67 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου

68 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 1101 + 0001

69 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 1101 + 0001 0 κρατούμενο 1

70 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 1101 + 0001 1110 κρατούμενο 0

71 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 13 1110 + 0001 1111

72 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 13 4 1111 + 0001

73 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 13 4 1111 + 0001 0 κρατούμενο 1

74 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 13 4 1111 + 0001 0 κρατούμενο 1

75 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 Εισαγωγή στοιχείου 15 3 13 4 1111 + 0001 00 κρατούμενο 1

76 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 Εισαγωγή στοιχείου 15 3 13 4 1111 + 0001 00 κρατούμενο 1

77 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 Εισαγωγή στοιχείου 15 3 13 4 1111 + 0001 000 κρατούμενο 1

78 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 Εισαγωγή στοιχείου 15 11 9 1063 13 4 1111 + 0001 000 κρατούμενο 1

79 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 Εισαγωγή στοιχείου 15 11 9 1063 13 4 1111 + 0001 0000 κρατούμενο 1

80 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. Εισαγωγή στοιχείου 20 15 11 9 1063 13 4 16 12 1485 18 7 1111 + 0001 10000 κρατούμενο 0 Χρόνος =

81 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. Διαγραφή μέγιστου από σωρό δύναμης του 2 20 15 11 9 1063 13 4 16 12 1485 18 7

82 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 15 11 9 1063 13 4 16 12 1485 18 7 Διαγραφή μέγιστου από σωρό δύναμης του 2

83 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 21 11 9 1063 13 4 16 12 1485 18 7 Διαγραφή μέγιστου

84 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 11 9 1063 13 4 16 12 1485 18 7 Διαγραφή μέγιστου Πρέπει να ενώσουμε δύο ουρές

85 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 16 12 1485 18 7 Ένωση δύο διωνυμικών ουρών 11 13 9 111 + 011 κρατούμενο 0

86 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 16 12 1485 18 7 Ένωση δύο διωνυμικών ουρών 11 13 9 111 + 011 0 κρατούμενο 1

87 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 16 12 148 18 7 Ένωση δύο διωνυμικών ουρών 13 9 111 + 011 10 κρατούμενο 1 11 5

88 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 16 12 148 Ένωση δύο διωνυμικών ουρών 111 + 011 10 κρατούμενο 1 11 5 18 13 79

89 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 16 12 148 Ένωση δύο διωνυμικών ουρών 111 + 011 010 κρατούμενο 1 11 5 18 13 79

90 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. Ένωση δύο διωνυμικών ουρών 111 + 011 1010 κρατούμενο 0 11 5 18 16 12 1487 13 9 Χρόνος =

91 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικές ουρές (binomial queues) Διωνυμική ουρά Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. Κατασκευή διωνυμικής ουράς με κλειδιά Η κατασκευή μιας διωνυμικής ουράς με διαδοχικές εισαγωγές σε αρχικά κενή ουρά απαιτεί χρόνο Για κάθε εισαγωγή έχουμε μια πράξη ένωσης σωρών δύναμης του δύο για κάθε bit που αλλάζει από 1 σε 0 στη δυαδική αναπαράσταση του αριθμού των κόμβων της ουράς

92 Διωνυμικές ουρές (binomial queues) Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

93 Διωνυμικές ουρές (binomial queues) Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 1 ο ψηφίο από το τέλος: αλλάζει με κάθε επαύξηση Επαύξηση δυαδικού μετρητή

94 Διωνυμικές ουρές (binomial queues) Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει 2 ο ψηφίο από το τέλος: αλλάζει με κάθε δεύτερη επαύξηση 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Επαύξηση δυαδικού μετρητή

95 Διωνυμικές ουρές (binomial queues) Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει 3 ο ψηφίο από το τέλος: αλλάζει με κάθε τέταρτη επαύξηση 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Επαύξηση δυαδικού μετρητή

96 Διωνυμικές ουρές (binomial queues) Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει 4 ο ψηφίο από το τέλος: αλλάζει με κάθε όγδοη επαύξηση 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

97 Διωνυμικές ουρές (binomial queues) Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Γενικά το i-οστό ψηφίο από το τέλος αλλάζει μετά από επαυξήσεις. Σε ακολουθία N πράξεων το i-οστό ψηφίο από το τέλος αλλάζει συνολικά φορές Σύνολο αλλαγών για όλα τα ψηφία = Επαύξηση δυαδικού μετρητή

98 Διωνυμικές ουρές (binomial queues) Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Γενικά το i-οστό ψηφίο από το τέλος αλλάζει μετά από επαυξήσεις. Σε ακολουθία N πράξεων το i-οστό ψηφίο από το τέλος αλλάζει συνολικά φορές Σύνολο αλλαγών για όλα τα ψηφία = Επαύξηση δυαδικού μετρητή

99 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Πλεονάζον αριθμητικό σύστημα Ο χρόνος εισαγωγής μπορεί να βελτιωθεί χρησιμοποιώντας ένα πιο ευέλικτο αριθμητικό σύστημα Για παράδειγμα Επιτρέπουμε κάποια ψηφία να λάβουν την τιμή 2 με ελεγχόμενο τρόπο. H ίδια τιμή μπορεί να αντιστοιχεί σε περισσότερες ακολουθίες ψηφίων. Μια ακολουθία στο πλεονάζον αριθμητικό σύστημα είναι κανονική εάν τα 2 και τα 0 εναλλάσσονται (δηλαδή ανάμεσα από διαδοχικά 2 μεσολαβεί κάποιο 0 και αντιστρόφως). Κανονικές ακολουθίες

100 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Βασίζεται στο διωνυμικό σωρό (δηλαδή αποτελεί μια συλλογή από δένδρα) αλλά έχει πιο χαλαρή δομή 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35 Αντισταθμιστικοί χρόνοι εκτέλεσης δείκτης στον κόμβο (ρίζα) με ελάχιστο κλειδί πλήθος κόμβων εισαγωγή, ένωση, εύρεση ελάχιστου, μείωση κλειδιού διαγραφή, εξαγωγή ελάχιστου

101 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Βασίζεται στο διωνυμικό σωρό (δηλαδή αποτελεί μια συλλογή από δένδρα) αλλά έχει πιο χαλαρή δομή 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35 Κάθε κόμβος αποθηκεύει εκτός από το κλειδί του τα παρακάτω δεδομένα δεξιός αδερφός αριστερός αδερφός γονέας παιδί (οποιοδήποτε) αριθμός παιδιών bit επισήμανσης δείκτης στον κόμβο (ρίζα) με ελάχιστο κλειδί πλήθος κόμβων

102 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35 Βασίζεται στο διωνυμικό σωρό (δηλαδή αποτελεί μια συλλογή από δένδρα) αλλά έχει πιο χαλαρή δομή Κάθε κόμβος αποθηκεύει εκτός από το κλειδί του τα παρακάτω δεδομένα δεξιός αδερφός αριστερός αδερφός γονέας παιδί (οποιοδήποτε) αριθμός παιδιών bit επισήμανσης δείκτης στον κόμβο (ρίζα) με ελάχιστο κλειδί πλήθος κόμβων

103 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35 Βασίζεται στο διωνυμικό σωρό (δηλαδή αποτελεί μια συλλογή από δένδρα) αλλά έχει πιο χαλαρή δομή Κάθε κόμβος αποθηκεύει εκτός από το κλειδί του τα παρακάτω δεδομένα δεξιός αδερφός αριστερός αδερφός γονέας παιδί (οποιοδήποτε) αριθμός παιδιών bit επισήμανσης δείκτης στον κόμβο (ρίζα) με ελάχιστο κλειδί πλήθος κόμβων

104 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Σε ένα σωρό Fibonacci με κλειδιά ο μέγιστος βαθμός που μπορεί να έχει οποιοσδήποτε κόμβος είναι Δυναμικό σωρού Για την αντισταθμιστική ανάλυση των λειτουργιών ενός σωρού Fibonacci ορίζουμε το δυναμικό του όπου το πλήθος των δένδρων το πλήθος των επισημασμένων κόμβων σταθερά Για να απλοποιήσουμε την ανάλυση θέτουμε και υποθέτουμε ότι μια μονάδα δυναμικού αντιστοιχεί σε κάποια σταθερή ποσότητα εργασίας

105 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Σε ένα σωρό Fibonacci με κλειδιά ο μέγιστος βαθμός που μπορεί να έχει οποιοσδήποτε κόμβος είναι Δυναμικό σωρού Για την αντισταθμιστική ανάλυση των λειτουργιών ενός σωρού Fibonacci ορίζουμε το δυναμικό του όπου το πλήθος των δένδρων το πλήθος των επισημασμένων κόμβων

106 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Σε ένα σωρό Fibonacci με κλειδιά ο μέγιστος βαθμός που μπορεί να έχει οποιοσδήποτε κόμβος είναι Δυναμικό σωρού Για την αντισταθμιστική ανάλυση των λειτουργιών ενός σωρού Fibonacci ορίζουμε το δυναμικό του όπου το πλήθος των δένδρων το πλήθος των επισημασμένων κόμβων 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35

107 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εύρεση ελάχιστου κόμβου Επιστρέφει τον κόμβο με ελάχιστο κλειδί 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35 Το πραγματικό κόστος της εύρεσης είναι Πρέπει επίσης να φράξουμε το αντισταθμιστικό κόστος. Το δυναμικό της δομής μετά την πράξη είναι Άρα το αντισταθμιστικό κόστος είναι

108 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Δημιουργείται νέο δένδρο με μόνο ένα κόμβο και εισάγεται στη λίστα των ριζών δίπλα από το Αν το εισαγόμενο κλειδί είναι το ελάχιστο τότε ο δείκτης δείχνει στο νέο κόμβο 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35 εισαγωγή(8) 7 7 8 8 3 3 18 52 38 39 41 17 30 24 26 46 35 23 Εισαγωγή κόμβου

109 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Δημιουργείται νέο δένδρο με μόνο ένα κόμβο και εισάγεται στη λίστα των ριζών δίπλα από το Αν το εισαγόμενο κλειδί είναι το ελάχιστο τότε ο δείκτης δείχνει στο νέο κόμβο 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35 εισαγωγή(2) 7 7 2 2 3 3 18 52 38 39 41 17 30 24 26 46 35 23 Εισαγωγή κόμβου

110 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εισαγωγή κόμβου Δημιουργείται νέο δένδρο με μόνο ένα κόμβο και εισάγεται στη λίστα των ριζών δίπλα από το Αν το εισαγόμενο κλειδί είναι το ελάχιστο τότε ο δείκτης δείχνει στο νέο κόμβο Το πραγματικό κόστος της εισαγωγής είναι Πρέπει επίσης να φράξουμε το αντισταθμιστικό κόστος. Το δυναμικό της δομής μετά την πράξη είναι Άρα το αντισταθμιστικό κόστος εισαγωγής είναι

111 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Ένωση δύο σωρών Fibonacci Ενώνει τις αντίστοιχες λίστες ριζικών κόμβων χρησιμοποιώντας τους δείκτες και Ο δείκτης δείχνει στον κόμβο με το ελάχιστο κλειδί μεταξύ των και 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35 ένωση 2 2 5 5 12 33 53 3 3 18 52 38 39 41 17 30 24 26 46 35 2 2 5 5 12 33 53 23 7 7

112 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Ένωση δύο σωρών Fibonacci Ενώνει τις αντίστοιχες λίστες ριζικών κόμβων χρησιμοποιώντας τους δείκτες και Ο δείκτης δείχνει στον κόμβο με το ελάχιστο κλειδί μεταξύ των και Το πραγματικό κόστος της ένωσης είναι Το δυναμικό της δομής μετά την πράξη είναι Άρα το αντισταθμιστικό κόστος ένωσης είναι

113 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Διαγράφει τον κόμβο με το ελάχιστο κλειδί και ενοποιεί δένδρα στο ριζικό επίπεδο 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35 21

114 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Διαγράφει τον κόμβο με το ελάχιστο κλειδί και ενοποιεί δένδρα στο ριζικό επίπεδο

115 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Διαγράφει τον κόμβο με το ελάχιστο κλειδί και ενοποιεί δένδρα στο ριζικό επίπεδο 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35 21 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 1 ο βήμα διαγραφής μέγιστου

116 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών Πριν την ενοποίηση θέτουμε

117 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

118 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

119 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

120 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

121 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

122 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

123 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

124 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

125 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

126 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

127 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

128 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

129 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

130 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

131 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 0123

132 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21

133 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Το πραγματικό κόστος της εξαγωγής είναι Το δυναμικό της δομής πριν την πράξη είναι Το αντισταθμιστικό κόστος εξαγωγής είναι Το δυναμικό της δομής μετά την πράξη είναι Άρα η μεταβολή του δυναμικού είναι

134 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού Η εκτέλεση αυτής της πράξης έχει ως αποτέλεσμα τα δένδρα του σωρού Fibonacci να μην παραμένουν διωνυμικά. Για να μειώσουμε το κλειδί του κόμβου από σε εκτελούμε

135 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού 23 7 7 18 52 38 39 41 17 30 24 26 46 35 21 23 7 7 18 52 38 39 41 17 30 24 26 15 35 21 μείωση του 46 σε 15 Η εκτέλεση αυτής της πράξης έχει ως αποτέλεσμα τα δένδρα του σωρού Fibonacci να μην παραμένουν διωνυμικά.

136 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού 23 7 7 18 52 38 39 41 17 30 24 26 15 35 21 μείωση του 35 σε 5 Η εκτέλεση αυτής της πράξης έχει ως αποτέλεσμα τα δένδρα του σωρού Fibonacci να μην παραμένουν διωνυμικά. 23 7 7 18 52 38 39 41 17 30 24 26 15 5 5 21 θα εκτελεστεί κλιμακωτή αποκοπή (cascading cut)

137 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού Η εκτέλεση αυτής της πράξης έχει ως αποτέλεσμα τα δένδρα του σωρού Fibonacci να μην παραμένουν διωνυμικά. 23 7 7 18 52 38 39 41 17 30 24 26 15 35 21 θα εκτελεστεί κλιμακωτή αποκοπή (cascading cut) 23 7 7 18 52 38 39 41 17 30 24 26 15 5 5 21 θα εκτελεστεί κλιμακωτή αποκοπή (cascading cut)

138 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού Η εκτέλεση αυτής της πράξης έχει ως αποτέλεσμα τα δένδρα του σωρού Fibonacci να μην παραμένουν διωνυμικά. 23 7 7 18 52 38 39 41 17 30 24 26 15 5 5 21 23 7 7 18 52 38 39 41 17 30 24 26 15 35 21 θα εκτελεστεί κλιμακωτή αποκοπή (cascading cut) η κλιμακωτή αποκοπή τερματίζεται

139 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού Η εκτέλεση αυτής της πράξης έχει ως αποτέλεσμα τα δένδρα του σωρού Fibonacci να μην παραμένουν διωνυμικά. 23 7 7 18 52 38 39 41 17 30 24 26 15 5 5 21

140 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού Το πραγματικό κόστος της μείωσης είναι Το δυναμικό της δομής πριν την πράξη είναι Το δυναμικό της δομής μετά την πράξη είναι Έστω ότι η διαδικασία κλιμακωτής αποκοπής εκτελέστηκε φορές οι κλιμακωτές αποκοπές δημιούργησαν δένδρα η αποκοπή του δημιούργησε 1 δένδρο

141 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού Το πραγματικό κόστος της μείωσης είναι Το δυναμικό της δομής πριν την πράξη είναι Το δυναμικό της δομής μετά την πράξη είναι Έστω ότι η διαδικασία κλιμακωτής αποκοπής εκτελέστηκε φορές οι κλιμακωτές αποκοπές έσβησαν την επισήμανση κόμβων η τελική κλιμακωτή αποκοπή ίσως επισήμανε ένα κόμβο

142 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού Το πραγματικό κόστος της μείωσης είναι Το δυναμικό της δομής πριν την πράξη είναι Το αντισταθμιστικό κόστος εξαγωγής είναι Το δυναμικό της δομής μετά την πράξη είναι Άρα η μεταβολή του δυναμικού είναι Έστω ότι η διαδικασία κλιμακωτής αποκοπής εκτελέστηκε φορές

143 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Διαγραφή κόμβου Έστω ο κόμβος που θέλουμε να διαγράψουμε. Η διαγραφή γίνεται σε δύο βήματα 1.Μειώνουμε το κλειδί του σε 2.Εκτελούμε εξαγωγή ελάχιστου Το αντισταθμιστικό κόστος της διαγραφής είναι

144 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Σε ένα σωρό Fibonacci με κλειδιά ο μέγιστος βαθμός που μπορεί να έχει οποιοσδήποτε κόμβος είναι Χωρίς την πράξη μείωσης κλειδιού τα δένδρα ενός σωρού Fibonacci είναι διωνυμικά, άρα Με τη μείωση κλειδιού το παραπάνω φράγμα δεν ισχύει. Θα δείξουμε όμως ότι όπου Ακολουθία Fibonacci

145 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Σε ένα σωρό Fibonacci με κλειδιά ο μέγιστος βαθμός που μπορεί να έχει οποιοσδήποτε κόμβος είναι Χωρίς την πράξη μείωσης κλειδιού τα δένδρα ενός σωρού Fibonacci είναι διωνυμικά, άρα Με τη μείωση κλειδιού το παραπάνω φράγμα δεν ισχύει. Θα δείξουμε όμως ότι όπου Ακολουθία Fibonacci Ισχύει

146 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός 23 7 7 3 3 18 52 38 39 41 17 30 24 26 46 35 21 Έστω το πλήθος των απογόνων του κόμβου δένδρο που τον περιέχει. Αν τότε Λήμμα

147 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Έστω το πλήθος των απογόνων του κόμβου δένδρο που τον περιέχει. Αν τότε Λήμμα Τότε αν ο έχει μέγιστο βαθμό έχουμε

148 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Έστω το πλήθος των απογόνων του κόμβου δένδρο που τον περιέχει. Αν τότε Λήμμα Παρατήρηση : Έστω τα παιδιά του με τη σειρά με την οποία τα απέκτησε από το πιο παλιό στο πιο πρόσφατο. Τότε και Ισχύει γιατί όταν συνδέθηκε ο με τον τότε αφού ο είχε ήδη παιδιά τους. Από εκείνη τη στιγμή ο μπορεί να έχασε το πολύ ένα παιδί.

149 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Έστω το πλήθος των απογόνων του κόμβου δένδρο που τον περιέχει. Αν τότε Λήμμα Έστω ο ελάχιστος δυνατός αριθμός απογόνων ενός κόμβου με βαθμό Ας υποθέσουμε ότι και ότι ο έχει παιδιά Από την προηγούμενη παρατήρηση ισχύει και Επομένως Δείχνουμε με επαγωγή ότι. Η βάση της επαγωγής ισχύει αφού


Κατέβασμα ppt "TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google