Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεCos Michaelides Τροποποιήθηκε πριν 9 χρόνια
1
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει τις ακόλουθες λειτουργίες εισαγωγή στοιχείου Εξαιρετικά χρήσιμη δομή δεδομένων με πολλές εφαρμογές. Π.χ. ταξινόμηση με χρήση ουράς προτεραιότητας. επιστροφή του στοιχείου με το μεγαλύτερο κλειδί (ή ελάχιστο κλειδί) και διαγραφή του από τη δομή
2
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) εισαγωγή στοιχείου επιστροφή του στοιχείου με το μεγαλύτερο κλειδί (ή ελάχιστο κλειδί) και διαγραφή του από τη δομή Σε πολλές εφαρμογές χρειαζόμαστε επιπλέον λειτουργίες κατασκευή ουράς προτεραιότητας για δεδομένα Ν στοιχεία αλλαγή κλειδιού ενός στοιχείου διαγραφή στοιχείου Δομή δεδομένων που υποστηρίζει τις ακόλουθες λειτουργίες ένωση δύο ουρών προτεραιότητας σε μία
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); return pq[--N]; } 201812111595 [0][0][1][1][2][2][3][3][4][4][5][5][6][6][7][7][8][8][9][9][10][11] NmaxN-1
4
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) εισαγωγή διαγραφή μέγιστου διαγραφή ( * ) εύρεση μέγιστου αλλαγή προτεραιότητας ένωση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένη λίστα μη διατεταγμένος πίνακας σωρός διωνυμική ουρά ( * ) Υποθέτει ότι γνωρίζουμε τη θέση του στοιχείου που διαγράφεται
5
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Υποστηρίζει αποδοτικά τις λειτουργίες μιας ουράς προτεραιότητας. 20 1812 11 2 5 4 13 15 7 9 6 Αναπαράσταση ως πλήρες δυαδικό δένδρο: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του.
6
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Υποστηρίζει αποδοτικά τις λειτουργίες μιας ουράς προτεραιότητας. 20 1812 11 2 5 4 13 15 7 9 6 Αναπαράσταση ως πλήρες δυαδικό δένδρο: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. η ρίζα έχει το μέγιστο κλειδί. ύψος lgN
7
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Υποστηρίζει αποδοτικά τις λειτουργίες μιας ουράς προτεραιότητας. 20 1812 11 2 5 4 13 15 7 9 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
8
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 1812 11 2 5 4 13 15 7 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5]
9
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 1812 11 2 5 4 13 15 19 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] παραβίαση της συνθήκης σωρού
10
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 1812 11 2 5 4 13 1919 15 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] αντιμετάθεση με το γονέα
11
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 191912 11 2 5 4 13 1818 15 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 Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 191912 11 2 5 4 13 1818 15 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 Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 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; } }
14
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 20 1812 11 2 5 4 13 15 7 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 Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 14 1812 11 2 5 4 13 15 7 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 Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 18 1412 11 2 5 4 13 15 7 9 6 [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] αντιμετάθεση με μεγαλύτερο παιδί
17
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 18 151512 11 2 5 4 13 1414 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 Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 18 151512 11 2 5 4 13 1414 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 Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. 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; }
20
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ουρά προτεραιότητας βασισμένη σε σωρό 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]
21
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ουρά προτεραιότητας βασισμένη σε σωρό 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] διαγραφή μέγιστου
22
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ουρά προτεραιότητας βασισμένη σε σωρό 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] διαγραφή μέγιστου
23
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ουρά προτεραιότητας βασισμένη σε σωρό 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] διαγραφή μέγιστου
24
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ουρά προτεραιότητας βασισμένη σε σωρό 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] διαγραφή μέγιστου
25
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ουρά προτεραιότητας βασισμένη σε σωρό 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] διαγραφή μέγιστου
26
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ουρά προτεραιότητας βασισμένη σε σωρό 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] διαγραφή μέγιστου
27
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με ουρά προτεραιότητας void PQsort(int *a, int l, int r) { int k; PQinit(); for (k=l; k<=r; k++) PQinsert(a[k]); for (k=r; k>=l; k--) a[k]=PQdelmax(); }
28
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με ουρά προτεραιότητας void PQsort(int *a, int l, int r) { int k; PQinit(); for (k=l; k<=r; k++) PQinsert(a[k]); for (k=r; k>=l; k--) a[k]=PQdelmax(); } Διαδοχική εισαγωγή των στοιχείων στην ουρά O(N·logN) χρόνος
29
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με ουρά προτεραιότητας void PQsort(int *a, int l, int r) { int k; PQinit(); for (k=l; k<=r; k++) PQinsert(a[k]); for (k=r; k>=l; k--) a[k]=PQdelmax(); } Διαδοχική εισαγωγή των στοιχείων στην ουρά O(N·logN) χρόνος Διαδοχική εξαγωγή μέγιστου στοιχείου O(N·logN) χρόνος
30
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) O(N) χρόνος
31
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
32
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
33
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
34
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
35
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
36
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
37
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
38
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
39
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
40
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
41
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
42
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
43
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
44
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
45
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
46
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) 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]
47
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Ταξινόμηση με σωρό #define pq(A) a[l-1+A] void heapsort(int *a, int l, int r) { int k, N=r-l+1; for (k=N/2; k>=1; k--) fixDown(&pq(0),k,N); while (N>1) { exch(pq,1,N); fixDown(&pq(0),1,--N); } Τακτοποίηση σωρού (αντικαθιστά τη διαδοχική εισαγωγή των στοιχείων στην ουρά) O(N) χρόνος Απόδειξη για Ο αριθμός των αντιμεταθέσεων είναι το πολύ
48
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Δυαδικά δένδρα αριστερά διατεταγμένα σε σωρό 20 16 12 1485 18 7 Το κλειδί κάθε κόμβου είναι μεγαλύτερο ή ίσο από όλα τα κλειδιά του αριστερού υποδένδρου αυτού του κόμβου. Σωρός δύναμης του 2 Δένδρο αριστερά διατεταγμένο σε σωρό, στο οποίο το δεξί υποδένδρο της ρίζας είναι κενό και το αριστερό υποδένδρο είναι πλήρες.
49
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Δυαδικά δένδρα αριστερά διατεταγμένα σε σωρό 20 16 12 1485 18 7 Το κλειδί κάθε κόμβου είναι μεγαλύτερο ή ίσο από όλα τα κλειδιά του αριστερού υποδένδρου αυτού του κόμβου. Σωρός δύναμης του 2 Δένδρο αριστερά διατεταγμένο σε σωρό, στο οποίο το δεξί υποδένδρο της ρίζας είναι κενό και το αριστερό υποδένδρο είναι πλήρες. 20 16 12 14 8 518 7 Διωνυμικό δένδρο Δένδρο που με την αντιστοίχηση αριστερού παιδιού και δεξιού αδελφού δίνει σωρό δύναμης του 2.
50
Διατεταγμένα Δένδρα Διατεταγμένο δένδρο - Υλοποίηση TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A προς 1 ο παιδί προς επόμενο αδελφό
51
Διατεταγμένα Δένδρα Διατεταγμένο δένδρο – Μετατροπή σε δυαδικό δένδρο TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A
52
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Δυαδικά δένδρα αριστερά διατεταγμένα σε σωρό 20 16 12 1485 18 7 Το κλειδί κάθε κόμβου είναι μεγαλύτερο ή ίσο από όλα τα κλειδιά του αριστερού υποδένδρου αυτού του κόμβου. Σωρός δύναμης του 2 Δένδρο αριστερά διατεταγμένο σε σωρό, στο οποίο το δεξί υποδένδρο της ρίζας είναι κενό και το αριστερό υποδένδρο είναι πλήρες. 20 16 12 14 8 518 7 Διωνυμικό δένδρο Δένδρο που με την αντιστοίχηση αριστερού παιδιού και δεξιού αδελφού δίνει σωρό δύναμης του 2. Το πλήθος των κόμβων σε ένα σωρό δύναμης του 2 είναι δύναμη του 2 Κανένας κόμβος δεν έχει κλειδί μεγαλύτερο από το κλειδί της ρίζας Τα διωνυμικά δέντρα είναι διατεταγμένα σε σωρό
53
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) 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
54
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Διωνυμικός Σωρός Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Παράδειγμα: διωνυμική ουρά μεγέθους 13 = (1101) 2
55
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου Διωνυμικός Σωρός
56
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 1101 + 0001 Διωνυμικός Σωρός
57
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 1101 + 0001 0 κρατούμενο 1 Διωνυμικός Σωρός
58
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 1101 + 0001 1110 κρατούμενο 0 Διωνυμικός Σωρός
59
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 13 Διωνυμικός Σωρός 1111 + 0001 10000
60
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 13 4 Διωνυμικός Σωρός 1111 + 0001
61
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 13 4 κρατούμενο 1 Διωνυμικός Σωρός 1111 + 0001 10000
62
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 15 Εισαγωγή στοιχείου 3 13 4 κρατούμενο 1 Διωνυμικός Σωρός 1111 + 0001 0
63
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 Εισαγωγή στοιχείου 15 3 13 4 κρατούμενο 1 Διωνυμικός Σωρός 1111 + 0001 00
64
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 Εισαγωγή στοιχείου 15 3 13 4 κρατούμενο 1 Διωνυμικός Σωρός 1111 + 0001 00
65
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 11 9 106 Εισαγωγή στοιχείου 15 3 13 4 κρατούμενο 1 Διωνυμικός Σωρός 1111 + 0001 000
66
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 Εισαγωγή στοιχείου 15 11 9 1064 13 3 κρατούμενο 1 Διωνυμικός Σωρός 1111 + 0001 000
67
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 20 16 12 1485 18 7 Εισαγωγή στοιχείου 15 11 9 1064 13 3 κρατούμενο 1 Διωνυμικός Σωρός 1111 + 0001 0000
68
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. Εισαγωγή στοιχείου 20 15 11 9 1064 13 3 16 12 1485 18 7 1111 + 0001 10000 κρατούμενο 0 Διωνυμικός Σωρός
69
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. Διαγραφή μέγιστου από σωρό δύναμης του 2 20 15 11 9 1064 13 3 16 12 1485 18 7 Διωνυμικός Σωρός
70
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 15 11 9 1064 13 3 16 12 1485 18 7 Διαγραφή μέγιστου από σωρό δύναμης του 2 Διωνυμικός Σωρός
71
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 21 11 9 1064 13 3 16 12 1485 18 7 Διαγραφή μέγιστου Διωνυμικός Σωρός
72
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 11 9 1064 13 3 16 12 1485 18 7 Διαγραφή μέγιστου Πρέπει να ενώσουμε δύο ουρές Διωνυμικός Σωρός
73
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 16 12 1485 18 7 Ένωση δύο διωνυμικών ουρών 11 13 9 κρατούμενο 0 Διωνυμικός Σωρός 111 + 011
74
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 16 12 1485 18 7 Ένωση δύο διωνυμικών ουρών 11 13 9 κρατούμενο 1 Διωνυμικός Σωρός 111 + 011 0
75
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 16 12 148 18 7 Ένωση δύο διωνυμικών ουρών 13 9 κρατούμενο 1 11 5 Διωνυμικός Σωρός 111 + 011 10
76
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 16 12 148 Ένωση δύο διωνυμικών ουρών κρατούμενο 1 11 5 18 13 79 Διωνυμικός Σωρός 111 + 011 10
77
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. 16 12 148 Ένωση δύο διωνυμικών ουρών κρατούμενο 1 11 5 18 13 79 Διωνυμικός Σωρός 111 + 011 010
78
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της. Ένωση δύο διωνυμικών ουρών 111 + 011 1010 κρατούμενο 0 11 5 18 16 12 1487 13 9 Διωνυμικός Σωρός
79
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 Αντισταθμιστικοί χρόνοι εκτέλεσης δείκτης στον κόμβο (ρίζα) με ελάχιστο κλειδί πλήθος κόμβων εισαγωγή, ένωση, εύρεση ελάχιστου, μείωση κλειδιού διαγραφή, εξαγωγή ελάχιστου
80
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 επισήμανσης δείκτης στον κόμβο (ρίζα) με ελάχιστο κλειδί πλήθος κόμβων
81
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 επισήμανσης δείκτης στον κόμβο (ρίζα) με ελάχιστο κλειδί πλήθος κόμβων
82
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 επισήμανσης δείκτης στον κόμβο (ρίζα) με ελάχιστο κλειδί πλήθος κόμβων
83
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Σε ένα σωρό Fibonacci με κλειδιά ο μέγιστος βαθμός που μπορεί να έχει οποιοσδήποτε κόμβος είναι Δυναμικό σωρού Για την αντισταθμιστική ανάλυση των λειτουργιών ενός σωρού Fibonacci ορίζουμε το δυναμικό του όπου το πλήθος των δένδρων το πλήθος των επισημασμένων κόμβων σταθερά Για να απλοποιήσουμε την ανάλυση θέτουμε και υποθέτουμε ότι μια μονάδα δυναμικού αντιστοιχεί σε κάποια σταθερή ποσότητα εργασίας
84
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Σε ένα σωρό Fibonacci με κλειδιά ο μέγιστος βαθμός που μπορεί να έχει οποιοσδήποτε κόμβος είναι Δυναμικό σωρού Για την αντισταθμιστική ανάλυση των λειτουργιών ενός σωρού Fibonacci ορίζουμε το δυναμικό του όπου το πλήθος των δένδρων το πλήθος των επισημασμένων κόμβων
85
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
86
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 Το πραγματικό κόστος της εύρεσης είναι Πρέπει επίσης να φράξουμε το αντισταθμιστικό κόστος. Το δυναμικό της δομής μετά την πράξη είναι Άρα το αντισταθμιστικό κόστος είναι
87
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 Εισαγωγή κόμβου
88
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 Εισαγωγή κόμβου
89
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εισαγωγή κόμβου Δημιουργείται νέο δένδρο με μόνο ένα κόμβο και εισάγεται στη λίστα των ριζών δίπλα από το Αν το εισαγόμενο κλειδί είναι το ελάχιστο τότε ο δείκτης δείχνει στο νέο κόμβο Το πραγματικό κόστος της εισαγωγής είναι Πρέπει επίσης να φράξουμε το αντισταθμιστικό κόστος. Το δυναμικό της δομής μετά την πράξη είναι Άρα το αντισταθμιστικό κόστος εισαγωγής είναι
90
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
91
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Ένωση δύο σωρών Fibonacci Ενώνει τις αντίστοιχες λίστες ριζικών κόμβων χρησιμοποιώντας τους δείκτες και Ο δείκτης δείχνει στον κόμβο με το ελάχιστο κλειδί μεταξύ των και Το πραγματικό κόστος της ένωσης είναι Το δυναμικό της δομής μετά την πράξη είναι Άρα το αντισταθμιστικό κόστος ένωσης είναι
92
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
93
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Διαγράφει τον κόμβο με το ελάχιστο κλειδί και ενοποιεί δένδρα στο ριζικό επίπεδο
94
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 ο βήμα διαγραφής μέγιστου
95
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Η ρουτίνα ενοποίησης (consolidate) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών Πριν την ενοποίηση θέτουμε
96
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
97
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
98
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
99
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
100
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
101
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
102
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
103
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
104
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
105
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
106
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
107
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
108
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
109
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
110
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
111
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
112
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Εξαγωγή ελάχιστου Το πραγματικό κόστος της εξαγωγής είναι Το δυναμικό της δομής πριν την πράξη είναι Το αντισταθμιστικό κόστος εξαγωγής είναι Το δυναμικό της δομής μετά την πράξη είναι Άρα η μεταβολή του δυναμικού είναι
113
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού Η εκτέλεση αυτής της πράξης έχει ως αποτέλεσμα τα δένδρα του σωρού Fibonacci να μην παραμένουν διωνυμικά. Για να μειώσουμε το κλειδί του κόμβου από σε εκτελούμε
114
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 να μην παραμένουν διωνυμικά.
115
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)
116
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)
117
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) η κλιμακωτή αποκοπή τερματίζεται
118
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
119
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού Το πραγματικό κόστος της μείωσης είναι Το δυναμικό της δομής πριν την πράξη είναι Το δυναμικό της δομής μετά την πράξη είναι Έστω ότι η διαδικασία κλιμακωτής αποκοπής εκτελέστηκε φορές οι κλιμακωτές αποκοπές δημιούργησαν δένδρα η αποκοπή του δημιούργησε 1 δένδρο
120
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού Το πραγματικό κόστος της μείωσης είναι Το δυναμικό της δομής πριν την πράξη είναι Το δυναμικό της δομής μετά την πράξη είναι Έστω ότι η διαδικασία κλιμακωτής αποκοπής εκτελέστηκε φορές οι κλιμακωτές αποκοπές έσβησαν την επισήμανση κόμβων η τελική κλιμακωτή αποκοπή ίσως επισήμανε ένα κόμβο
121
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού Το πραγματικό κόστος της μείωσης είναι Το δυναμικό της δομής πριν την πράξη είναι Το αντισταθμιστικό κόστος εξαγωγής είναι Το δυναμικό της δομής μετά την πράξη είναι Άρα η μεταβολή του δυναμικού είναι Έστω ότι η διαδικασία κλιμακωτής αποκοπής εκτελέστηκε φορές
122
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Διαγραφή κόμβου Έστω ο κόμβος που θέλουμε να διαγράψουμε. Η διαγραφή γίνεται σε δύο βήματα 1.Μειώνουμε το κλειδί του σε 2.Εκτελούμε εξαγωγή ελάχιστου Το αντισταθμιστικό κόστος της διαγραφής είναι
123
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Σε ένα σωρό Fibonacci με κλειδιά ο μέγιστος βαθμός που μπορεί να έχει οποιοσδήποτε κόμβος είναι Χωρίς την πράξη μείωσης κλειδιού τα δένδρα ενός σωρού Fibonacci είναι διωνυμικά, άρα Με τη μείωση κλειδιού το παραπάνω φράγμα δεν ισχύει. Θα δείξουμε όμως ότι όπου Ακολουθία Fibonacci
124
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Σε ένα σωρό Fibonacci με κλειδιά ο μέγιστος βαθμός που μπορεί να έχει οποιοσδήποτε κόμβος είναι Χωρίς την πράξη μείωσης κλειδιού τα δένδρα ενός σωρού Fibonacci είναι διωνυμικά, άρα Με τη μείωση κλειδιού το παραπάνω φράγμα δεν ισχύει. Θα δείξουμε όμως ότι όπου Ακολουθία Fibonacci Ισχύει
125
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 Έστω το πλήθος των απογόνων του κόμβου δένδρο που τον περιέχει. Αν τότε Λήμμα
126
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Έστω το πλήθος των απογόνων του κόμβου δένδρο που τον περιέχει. Αν τότε Λήμμα Τότε αν ο έχει μέγιστο βαθμό έχουμε
127
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Έστω το πλήθος των απογόνων του κόμβου δένδρο που τον περιέχει. Αν τότε Λήμμα Παρατήρηση : Έστω τα παιδιά του με τη σειρά με την οποία τα απέκτησε από το πιο παλιό στο πιο πρόσφατο. Τότε και Ισχύει γιατί όταν συνδέθηκε ο με τον τότε αφού ο είχε ήδη παιδιά τους. Από εκείνη τη στιγμή ο μπορεί να έχασε το πολύ ένα παιδί.
128
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μέγιστος βαθμός Έστω το πλήθος των απογόνων του κόμβου δένδρο που τον περιέχει. Αν τότε Λήμμα Έστω ο ελάχιστος δυνατός αριθμός απογόνων ενός κόμβου με βαθμό Ας υποθέσουμε ότι και ότι ο έχει παιδιά Από την προηγούμενη παρατήρηση ισχύει και Επομένως Δείχνουμε με επαγωγή ότι. Η βάση της επαγωγής ισχύει αφού
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.