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

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

Δομές Δεδομένων (Data Structures)

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


Παρουσίαση με θέμα: "Δομές Δεδομένων (Data Structures)"— Μεταγράφημα παρουσίασης:

1 Δομές Δεδομένων (Data Structures)
Διδάσκων: Αν. καθηγητής Χρήστος Μακρής Διδάσκων με βάση Π.Δ. 407: Ανδρέας Καναβός Διδάσκων (ΕΔΙΠ): Άρης Ηλίας

2 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΤΑΞΙΝΟΜΗΣΗ

3 ΤΟ ΠΡΟΒΛΗΜΑ ΤΗΣ ΤΑΞΙΝΟΜΗΣΗΣ
Ορισμός ταξινόμησης Κατηγορίες αλγορίθμων ταξινόμησης ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

4 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ορισμός Ταξινόμησης Εύρεση μιας αλγοριθμικής διαδικασίας που επιφέρει τάξη σε ένα σύνολο S, τοποθετώντας τα στοιχεία του με αύξουσα σειρά. ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

5 Κατηγορίες αλγορίθμων ταξινόμησης
Βάσει των πράξεων (συγκρίσεις) στο σύνολο S Βάσει της πληροφορίας εισόδου (επίτευξη καλύτερου χρόνου),π.χ. ακεραίων. Βάσει του χώρου αποθήκευσης της εισόδου - Κύριας Μνήμης (Internal Sorting) - Δευτερεύουσας Μνήμης (External Sorting) ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

6 Αλγόριθμοι ταξινόμησης
Βάσει συγκρίσεων Βάσει πληροφορίας εισόδου Φυσαλίδας (Bubble Sort) Σωρού (Heap Sort) Με συμβολή (Merge Sort) Εισαγωγής (Insertion Sort) Γρήγορη Ταξινόμηση (Quick Sort) Ταξινόμηση με μέτρηση (Counting Sort) Radix Sort Bucket Sort ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

7 Δένδρο - Σωρός Είναι ένα πλήρες δυαδικό δένδρο που υποστηρίζει τις εξής βασικές λειτουργίες: Εύρεση ελαχίστου (ή μεγίστου) σε σταθερό χρόνο. Εισαγωγή στοιχείου σε χρόνο O(logn), όπου n το πλήθος των στοιχείων του σωρού. Διαγραφή ελαχίστου (ή μεγίστου) σε χρόνο O(logn). Να συγκρίνετε τους χρόνους αυτούς με τους αντίστοιχους του ταξινομημένου πίνακα.

8 Δένδρο - Σωρός Σωρός μεγίστων (maxHeap)
Το δένδρο-σωρός μεγαλώνει από επάνω προς τα κάτω και από αριστερά προς τα δεξιά. Μόνο το τελευταίο επίπεδο μπορεί να μην είναι πλήρως συμπληρωμένο. Το στοιχείο ενός κόμβου είναι μεγαλύτερο από τα στοιχεία των παιδιών του. Το μέγιστο στοιχείο βρίσκεται πάντα στη ρίζα του δένδρου. 20 11 12 9 6 8 10 7

9 Δένδρο - Σωρός Διαδικασία εισαγωγής
Το νέο στοιχείο τοποθετείται σε ένα νέο κόμβο στο τέλος του σωρού. Στη συνέχεια, λαμβάνουν χώρα αντιμεταθέσεις ώστε το νέο στοιχείο να τοποθετηθεί τελικά στο σωστό επίπεδο. Το νέο στοιχείο μπορεί να φτάσει μέχρι τη ρίζα του σωρού.

10 Δένδρο - Σωρός Αποθήκευση σωρού σε πίνακα
22 15 17 9 13 8 10 2 4 22 15 17 9 13 8 10 2 4 Τα παιδιά του κόμβου που βρίσκεται στη θέση i του πίνακα βρίσκονται στις θέσεις 2i και 2i+1. Ο γονέας του κόμβου που βρίσκεται στη θέση i του πίνακα βρίσκεται στη θέση i/2

11 Δένδρο - Σωρός Κατασκευή
Ο πιο προφανής τρόπος κατασκευής ενός δένδρου-σωρού είναι να εισάγουμε τα στοιχεία ένα προς ένα. Εύκολα αποδεικνύεται ότι το κόστος της μεθόδου σε αριθμό συγκρίσεων είναι O(nlogn). Ένας πιο αποδοτικός τρόπος είναι να προχωρήσουμε στην κατασκευή «από κάτω προς τα επάνω» (bottom-up) έχοντας πρώτα κατασκευάσει ένα πλήρες δυαδικό δέντρο για τα στοιχεία προς εισαγωγή. Με τη μέθοδο αυτή, το κόστος πέφτει σε O(n) !

12 Δένδρο - Σωρός Ανάλυση κατασκευής bottom-up
Παρατηρούμε ότι αριθμώντας τα επίπεδα του δένδρου από το 1 και από από κάτω προς τα επάνω, τότε στο επίπεδο k υπάρχουν το πολύ n/2k κόμβοι. Επόμένως κατά την κατασκευή έχουμε το πολύ n/22 στοιχεία που μετακινούνται το πολύ 1 θέση κάτω n/23 στοιχεία που μετακινούνται το πολύ 2 θέσεις κάτω n/24 στοιχεία που μετακινούνται το πολύ 3 θέσεις κάτω … … cost(n) = O(1*n/22 + 2*n/23 + 3*n/24 + …) = O((n/2)(1/2 + 2/22 + 3/23 + 4/24 + …)) = O(n)

13 Δένδρο - Σωρός Σωρός μεγίστων (maxHeap)
Το δένδρο-σωρός μεγαλώνει από επάνω προς τα κάτω και από αριστερά προς τα δεξιά. Μόνο το τελευταίο επίπεδο μπορεί να μην είναι πλήρως συμπληρωμένο. Το στοιχείο ενός κόμβου είναι μεγαλύτερο από τα στοιχεία των παιδιών του. Το μέγιστο στοιχείο βρίσκεται πάντα στη ρίζα του δένδρου. 20 11 12 9 6 8 10 7

14

15

16 Ταξινόμηση Σωρού (Heap Sort)
Βήμα 1: Από το μη ταξινομημένο σύνολο,επέλεξε το μεγαλύτερο στοιχείο, έστω m. Αφαίρεσέ το από το S και τοποθέτησε ως το μικρότερο(αριστερότερο) στοιχείο, ενός ταξινομημένου συνόλου O. Βήμα 2: S’ = S – {m}, ώστε η εύρεση του μεγαλύτερου στοιχείου του S’ να είναι αποδοτική. Βήμα 3: Θέσε S’ = S και πήγαινε στο βήμα 1. ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

17 Ταξινόμηση Σωρού (Heap Sort)
Η Ταξινόμηση Σωρού αποτελείται από δύο φάσεις: Φάση 1-Φάση Δόμησης: Μετατρέπω τον πίνακα 𝑺 = {𝒔1, 𝒔2, … , 𝒔𝒏} σε σωρό ξεκινώντας από την θέση 1. Φάση 2-Φάση Διαλογής: Διαλέγω και απομακρύνω το μεγαλύτερο στοιχείο, το οποίο θα το φέρω στην ρίζα του σωρού ή στο S[1]. Επαναλαμβάνω για τα υπόλοιπα στοιχεία φέρνοντας το μεγαλύτερο στοιχείο στην ρίζα ξεκινώντας πάλι από την θέση 1. Θέλω πάντα να διατηρείται η ιδιότητα του Σωρού, δηλ. τιμή(πατέρας(v))≥ τιμή(v) Ο αλγόριθμος ταξινόμησης σωρού, χρειάζεται O(nlogn) συγκρίσεις στη χειρότερη περίπτωση για να ταξινομήσει σύνολο n στοιχείων. ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

18 1η ΦΑΣΗ Ι Α1 Α2 Α3 Α4 Α5 Α6 1 46 32 58 26 70 61 2 3 4 (σωρός) 46 32 58 26 70 61

19 1η ΦΑΣΗ Ι Α1 Α2 Α3 Α4 Α5 Α6 1 46 32 58 26 70 61 2 3 4 (σωρός) 46 32 61 26 70 58

20 1η ΦΑΣΗ Ι Α1 Α2 Α3 Α4 Α5 Α6 1 46 32 58 26 70 61 2 3 4 (σωρός) 46 70 61 26 32 58

21 1η ΦΑΣΗ Ι Α1 Α2 Α3 Α4 Α5 Α6 1 46 32 58 26 70 61 2 3 4 (σωρός) 70 46 61 26 32 58

22 (διατεταγμένος πίνακας)
2η ΦΑΣΗ Ν Α1 Α2 Α3 Α4 Α5 Α6 6(5) 70 46 61 26 32 58 5(4) 4(3) 3(2) 2(1) (διατεταγμένος πίνακας) 61 46 58 26 32 Διαγραφή 70

23 (διατεταγμένος πίνακας)
2η ΦΑΣΗ Ν Α1 Α2 Α3 Α4 Α5 Α6 6(5) 70 58 61 26 32 46 5(4) 4(3) 3(2) 2(1) (διατεταγμένος πίνακας) 58 46 32 26 Διαγραφή 61

24 (διατεταγμένος πίνακας)
2η ΦΑΣΗ Ν Α1 Α2 Α3 Α4 Α5 Α6 6(5) 70 58 61 26 32 46 5(4) 4(3) 3(2) 2(1) (διατεταγμένος πίνακας) 46 26 32 Διαγραφή 58

25 (διατεταγμένος πίνακας)
2η ΦΑΣΗ Ν Α1 Α2 Α3 Α4 Α5 Α6 6(5) 70 58 61 26 32 46 5(4) 4(3) 3(2) 2(1) (διατεταγμένος πίνακας) 32 26 Διαγραφή 46

26 (διατεταγμένος πίνακας)
2η ΦΑΣΗ Ν Α1 Α2 Α3 Α4 Α5 Α6 6(5) 70 58 61 26 32 46 5(4) 4(3) 3(2) 2(1) (διατεταγμένος πίνακας) 26 Διαγραφή 32

27 (διατεταγμένος πίνακας)
2η ΦΑΣΗ (τέλος) Ν Α1 Α2 Α3 Α4 Α5 Α6 6(5) 70 58 61 26 32 46 5(4) 4(3) 3(2) 2(1) (διατεταγμένος πίνακας)

28 Ταξινόμηση Σωρού (Heap Sort)
3 8 2 1 4 9 7 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

29 Ταξινόμηση Σωρού (Heap Sort)
3 8 2 1 4 9 7 3 8 2 1 4 9 7 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

30 Ταξινόμηση Σωρού (Heap Sort)
3 8 9 1 4 2 7 3 8 9 1 4 2 7 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

31 Ταξινόμηση Σωρού (Heap Sort)
9 8 3 1 4 2 7 9 8 3 1 4 2 7 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

32 Ταξινόμηση Σωρού (Heap Sort)
9 8 7 1 4 2 3 9 8 7 1 4 2 3 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

33 Ταξινόμηση Σωρού (Heap Sort)
3 8 7 1 4 2 3 8 7 1 4 2 9 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

34 Ταξινόμηση Σωρού (Heap Sort)
8 4 7 1 3 2 8 4 7 1 3 2 9 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

35 Γρήγορη Ταξινόμηση (Quick Sort)
Παράδειγμα Έστω S = {43, 74, 22, 42, 54, 11, 63, 76, 32}, Pivot = 43 11 32 22 42 43 54 63 76 74 Right Left Οι δείκτες διασταυρώθηκαν οπότε εναλλάσσω τον οδηγό (pivot) με τον δείκτη Right. ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

36 Κάτω όριο ταξινόμησης βάσει συγκρίσεων
ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

37 Άποψη Δένδρου Απόφασης
s1:s2 < = > s2:s3 s1:s3 < = > > 2,13 1,2,3 s1:s3 s2:s3 < = > < = > 1,3,2 3,1,2 2,3,1 3,2,1 Ταξινόμηση μεγέθους 3 S = {s1,s2,s3} ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

38 Αλγοριθμοι Ταξινομησης βασιζομενοι σε συγκρισεις- Ταξινομηση Ακεραιων
ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

39 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση με Μέτρηση ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

40 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση με Μέτρηση ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

41 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση με Μέτρηση Παράδειγμα 1 2 3 4 5 6 7 8 Α 5 1 2 3 6 1 2 3 4 5 6 C 1 1 2 1 2 1 2 1 2 1 3 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

42 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση με Μέτρηση Παράδειγμα 1 2 3 4 5 6 7 8 Α 5 1 2 3 6 1 2 3 4 5 6 C 2 3 6 7 8 B 3 C 2 3 5 6 7 8 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

43 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση με Μέτρηση 1 2 3 4 5 6 7 8 Α 5 1 2 3 6 C 2 3 5 6 7 8 B 3 C 2 3 4 6 7 8 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

44 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
1 2 3 4 5 6 7 8 Α 5 1 2 3 6 C 2 3 4 6 7 8 B 3 6 C 2 3 4 6 7 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ 44

45 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
1 2 3 4 5 6 7 8 Α 5 1 2 3 6 C 2 3 4 6 7 B 3 6 C 2 3 6 7 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ 45

46 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
1 2 3 4 5 6 7 8 Α 5 1 2 3 6 C 2 3 4 6 7 B 3 6 C 2 3 6 7 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ 46

47 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
1 2 3 4 5 6 7 8 Α 5 1 2 3 6 C 2 3 4 6 7 B 1 3 6 C 1 2 3 6 7 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ 47

48 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
1 2 3 4 5 6 7 8 Α 5 1 2 3 6 C 1 2 3 6 7 B 1 3 6 C 2 3 6 7 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ 48

49 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
1 2 3 4 5 6 7 8 Α 5 1 2 3 6 C 2 3 6 7 B 1 3 5 6 C 2 3 6 7 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ 49

50 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση Radix ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

51 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση Radix ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

52 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση Radix Παράδειγμα L = {329,257,892,749,587,134,305}, d = 3 ψηφία , βάση = 10 B L 1 2 3 4 5 6 7 8 9 329 257 892 749 587 134 305 892 134 305 257 329 749 587 1 πέρασμα ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

53 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση Radix Παράδειγμα L = {329,257,892,749,587,134,305} B L 1 2 3 4 5 6 7 8 9 892 134 305 257 587 329 749 305 329 134 749 257 587 892 2 πέρασμα ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

54 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση Radix Παράδειγμα L = {329,257,892,749,587,134,305} B L 1 2 3 4 5 6 7 8 9 305 329 134 749 257 587 892 134 257 305 587 749 892 329 3 πέρασμα ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

55 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση Radix Παράδειγμα L = {329,257,892,749,587,134,305} 134 257 305 329 587 749 892 Ταξινομημένη Λίστα ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

56 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση Υβριδική ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

57 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση Υβριδική Παράδειγμα Α = {0.28,0.42,0.12,0,85,0.47,0.26,0.39,0.02,0.17,0.78} Α B 0.78 0.17 0.02 0.39 0.26 0.47 0.85 0.12 0.42 0.28 1 2 3 4 5 6 7 8 9 0.02 0.12 0.26 0.39 0.42 0.78 0.85 0.17 0.28 0.47 n = 10, k = 10 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

58 ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ
Ταξινόμηση Υβριδική Παράδειγμα Α = {0.28,0.42,0.12,0,85,0.47,0.26,0.39,0.02,0.17,0.78} 0.02 0.12 0.17 0.26 0.28 0.39 0.42 0.47 0.78 0.85 Ταξινομημένη Λίστα ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ

59 ΜΕΡΟΣ Α ΤΑΞΙΝΟΜΗΣΗ ΣΤΗ ΔΕΥΤΕΡΕΥΟΥΣΑ ΜΝΗΜΗ
ΜΕΡΟΣ Α ΤΑΞΙΝΟΜΗΣΗ ΣΤΗ ΔΕΥΤΕΡΕΥΟΥΣΑ ΜΝΗΜΗ

60 ΕΙΣΑΓΩΓΗ Όταν η χωρητικότητα της κύριας μνήμης δεν είναι ικανή να χωρέσει όλα τα δεδομένα που πρόκειται να ταξινομηθούν αναγκαζόμαστε να χρησιμοποιήσουμε τη δευτερεύουσα μνήμη (δίσκο,μαγνητικές ταινίες).

61 Αλγόριθμοι Ταξινόμησης Δευτερεύουσας Μνήμης
Εξωτερική Ταξινόμηση Εξωτερική Ταξινόμηση με Επιλογή Αντικατάστασης Υποθέτουμε ότι έχουμε στη διάθεσή μας μαγνητικές ταινίες που χρησιμοποιούνται εναλλάξ ανά p για είσοδο και έξοδο δεδομένων. Η κύρια μνήμη έχει μέγεθος Μ και ταξινομούμε Ν >> Μ στοιχεία.

62 Εξωτερική Ταξινόμηση ΤΑΙΝΙΑ 1 AOS DMN AEX ΤΑΙΝΙΑ 2 IRT EGR LMP
ΤΑΙΝΙΑ 1 AOS DMN AEX ΤΑΙΝΙΑ 2 IRT EGR LMP ΤΑΙΝΙΑ 3 AGN GIN E

63 Εξωτερική Ταξινόμηση ΤΑΙΝΙΑ 4 AAGINORST ΤΑΙΝΙΑ 5 DEGGIMNNR ΤΑΙΝΙΑ 6
ΤΑΙΝΙΑ 4 AAGINORST ΤΑΙΝΙΑ 5 DEGGIMNNR ΤΑΙΝΙΑ 6 AEELMPX

64 Εξωτερική Ταξινόμηση Έστω Μ = 3, p = 3 Ακολουθία εισόδου προς ταξινόμηση (αγνοούμε τα κενά) “A SORTING AND MERGING EXAMPLE” Φάση B Οι p ταινίες (1-3) είναι οι ταινίες εισόδου και οι υπόλοιπες p (4-6) οι ταινίες εξόδου. Συγχώνευση:Οι ταινίες εισόδου(1-3) “ξανατυλίγονται” σε μία ταινία εξόδου, την Ταινία 1. Οι ταινίες εξόδου(4-6) γίνονται ταινίες εισόδου. Σαρώνουμε τα πρώτα στοιχεία της κάθε ταινίας και διώχνουμε το μικρότερο στην ταινία εξόδου.Στη θέση του στοιχείου που έφυγε ολισθαίνει το αμέσως επόμενο στοιχείο της ταινίας που αυτό ανήκει.


Κατέβασμα ppt "Δομές Δεδομένων (Data Structures)"

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


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