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

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

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) Δομή δεδομένων που υποστηρίζει τις ακόλουθες λειτουργίες εισαγωγή στοιχείου Εξαιρετικά χρήσιμη δομή δεδομένων με πολλές εφαρμογές. Π.χ. ταξινόμηση με χρήση ουράς προτεραιότητας. επιστροφή του στοιχείου με το μεγαλύτερο κλειδί (ή ελάχιστο κλειδί) και διαγραφή του από τη δομή

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]; } [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) Υποστηρίζει αποδοτικά τις λειτουργίες μιας ουράς προτεραιότητας Αναπαράσταση ως πλήρες δυαδικό δένδρο: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του.

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

7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Υποστηρίζει αποδοτικά τις λειτουργίες μιας ουράς προτεραιότητας Αναπαράσταση ως πλήρες δυαδικό δένδρο: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] [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) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [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) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [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) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [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) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [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) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [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) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [1] [2][3] [7][6] [12] [11][10][9][8] [4][5] fixUp(int *a, int k) { while (k>1 && (a[k/2]

14 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δομή Δεδομένων Σωρού (heap) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [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) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [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) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [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) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [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) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [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) Συνθήκη σωρού: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του [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 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--]; } [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--]; } [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--]; } [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--]; } [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--]; } [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--]; } [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--]; } [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) χρόνος [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) Δυαδικά δένδρα αριστερά διατεταγμένα σε σωρό Το κλειδί κάθε κόμβου είναι μεγαλύτερο ή ίσο από όλα τα κλειδιά του αριστερού υποδένδρου αυτού του κόμβου. Σωρός δύναμης του 2 Δένδρο αριστερά διατεταγμένο σε σωρό, στο οποίο το δεξί υποδένδρο της ρίζας είναι κενό και το αριστερό υποδένδρο είναι πλήρες.

49 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Δυαδικά δένδρα αριστερά διατεταγμένα σε σωρό Το κλειδί κάθε κόμβου είναι μεγαλύτερο ή ίσο από όλα τα κλειδιά του αριστερού υποδένδρου αυτού του κόμβου. Σωρός δύναμης του 2 Δένδρο αριστερά διατεταγμένο σε σωρό, στο οποίο το δεξί υποδένδρο της ρίζας είναι κενό και το αριστερό υποδένδρο είναι πλήρες Διωνυμικό δένδρο Δένδρο που με την αντιστοίχηση αριστερού παιδιού και δεξιού αδελφού δίνει σωρό δύναμης του 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) Δυαδικά δένδρα αριστερά διατεταγμένα σε σωρό Το κλειδί κάθε κόμβου είναι μεγαλύτερο ή ίσο από όλα τα κλειδιά του αριστερού υποδένδρου αυτού του κόμβου. Σωρός δύναμης του 2 Δένδρο αριστερά διατεταγμένο σε σωρό, στο οποίο το δεξί υποδένδρο της ρίζας είναι κενό και το αριστερό υποδένδρο είναι πλήρες Διωνυμικό δένδρο Δένδρο που με την αντιστοίχηση αριστερού παιδιού και δεξιού αδελφού δίνει σωρό δύναμης του 2. Το πλήθος των κόμβων σε ένα σωρό δύναμης του 2 είναι δύναμη του 2 Κανένας κόμβος δεν έχει κλειδί μεγαλύτερο από το κλειδί της ρίζας Τα διωνυμικά δέντρα είναι διατεταγμένα σε σωρό

53 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap)

54 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διωνυμικός Σωρός (binomial heap) Διωνυμικός Σωρός Σύνολο σωρών δύναμης του 2 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της Παράδειγμα: διωνυμική ουρά μεγέθους 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 οι οποίοι δεν έχουν το ίδιο μέγεθος. Η δομή της καθορίζεται από τη δυαδική αναπαράσταση του αριθμού των κόμβων της Εισαγωγή στοιχείου Διωνυμικός Σωρός

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

82 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Βασίζεται στο διωνυμικό σωρό (δηλαδή αποτελεί μια συλλογή από δένδρα) αλλά έχει πιο χαλαρή δομή Κάθε κόμβος αποθηκεύει εκτός από το κλειδί του τα παρακάτω δεδομένα δεξιός αδερφός αριστερός αδερφός γονέας παιδί (οποιοδήποτε) αριθμός παιδιών 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 ορίζουμε το δυναμικό του όπου το πλήθος των δένδρων το πλήθος των επισημασμένων κόμβων

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

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

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

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 Ενώνει τις αντίστοιχες λίστες ριζικών κόμβων χρησιμοποιώντας τους δείκτες και Ο δείκτης δείχνει στον κόμβο με το ελάχιστο κλειδί μεταξύ των και ένωση

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 Εξαγωγή ελάχιστου Διαγράφει τον κόμβο με το ελάχιστο κλειδί και ενοποιεί δένδρα στο ριζικό επίπεδο

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 Εξαγωγή ελάχιστου Διαγράφει τον κόμβο με το ελάχιστο κλειδί και ενοποιεί δένδρα στο ριζικό επίπεδο ο βήμα διαγραφής μέγιστου

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) χρησιμοποιεί ένα βοηθητικό πίνακα δεικτών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Μείωση κλειδιού μείωση του 46 σε 15 Η εκτέλεση αυτής της πράξης έχει ως αποτέλεσμα τα δένδρα του σωρού Fibonacci να μην παραμένουν διωνυμικά.

115 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Σωρός Fibonacci Μείωση κλειδιού μείωση του 35 σε 5 Η εκτέλεση αυτής της πράξης έχει ως αποτέλεσμα τα δένδρα του σωρού Fibonacci να μην παραμένουν διωνυμικά θα εκτελεστεί κλιμακωτή αποκοπή (cascading cut)

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

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

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

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 Μέγιστος βαθμός Έστω το πλήθος των απογόνων του κόμβου δένδρο που τον περιέχει. Αν τότε Λήμμα

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 Μέγιστος βαθμός Έστω το πλήθος των απογόνων του κόμβου δένδρο που τον περιέχει. Αν τότε Λήμμα Έστω ο ελάχιστος δυνατός αριθμός απογόνων ενός κόμβου με βαθμό Ας υποθέσουμε ότι και ότι ο έχει παιδιά Από την προηγούμενη παρατήρηση ισχύει και Επομένως Δείχνουμε με επαγωγή ότι. Η βάση της επαγωγής ισχύει αφού


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

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


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