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

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

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

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


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

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

2 Array Initialization in O(1) time
Πρόβληµα: ∆ίνεται array Α [0...Ν-1], το οποίο πρέπει να αρχικοποιηθεί µε την τιµή 0, σε κάθε θέση του. Να δώσετε ένα τρόπο για να αποφευχθεί η αρχικοποίηση (O(N)). Απάντηση: Χρησιµοποιούµε επιπλέον πίνακες AUX και S, και οι δυο µεγέθους Ν, χωρίς να χρειάζονται αρχικοποίηση. Ο S υλοποιεί µια στοίβα η οποία κρατά όλες τις θέσεις του Α που έχουν έγκυρες τιµές. Οι θέσεις του πίνακα AUX χρησιµοποιούνται για τυχαία προσπέλαση της στοίβας µε τρόπο που θα φανεί παρακάτω. Επίσης χρησιµοποιείται η µεταβλητή TOP που δείχνει στην κορυφή της στοίβας. Αρχικά TOP=-1, συνθήκη ισοδύναµη µε την αρχικοποίηση του Α µε µηδενικά.

3 Array Initialization in O(1) time
Κατά τη διάρκεια της εκτέλεσης, διατηρούµε την εξής συνθήκη:  A[i] = s, αν και µόνο αν 0<=AUX[i]<=TOP && S[AUX[i]] = i (1) Οπότε, όταν χρειαστεί να γράψουµε ή να διαβάσουµε µια τιµή από το Α[i], ελέγχουµε την τήρηση της παραπάνω συνθήκης. Αν επαληθεύεται, µπορούµε να συνεχίσουµε να κάνουµε την πράξη. ∆ιαφορετικά το i, πρέπει να εισαχθεί στη στοίβα και να ενηµερωθεί γι’ αυτό και ο AUX, δηλαδή TOP = TOP+1; S[TOP]= i; AUX[i] = TOP; A[i] = s;

4

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

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

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

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

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

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

11 Εξωτερική Ταξινόμηση Έξοδος Α, Ολίσθηση A μία θέση αριστερά
G I N O R S T D E M L P X Έξοδος Α, Ολίσθηση A μία θέση αριστερά Ταινία 1: A Έξοδος Α, Ολίσθηση G μία θέση αριστερά A G I N O R S T D E M L P X Ταινία 1: AA G I N O R S T D E M A L P X Έξοδος Α, Ολίσθηση Ε μία θέση αριστερά Ταινία 1: AAA

12 Εξωτερική Ταξινόμηση Έξοδος D, Ολίσθηση E μία θέση αριστερά
G I N O R S T D E M L P X Έξοδος D, Ολίσθηση E μία θέση αριστερά Ταινία 1: AAAD G I N O R S T E M L P X Έξοδος E, Ολίσθηση G μία θέση αριστερά Ταινία 1: AAADE G I N O R S T M E L P X Έξοδος E, Ολίσθηση E μία θέση αριστερά Ταινία 1: AAADEE

13 Εξωτερική Ταξινόμηση Έξοδος E, Ολίσθηση L μία θέση αριστερά
G I N O R S T M E L P X Έξοδος E, Ολίσθηση L μία θέση αριστερά Ταινία 1: AAADEEE G I N O R S T M L P X Έξοδος G, Ολίσθηση I μία θέση αριστερά Ταινία 1: AAADEEEG I N O R S T G M L P X Έξοδος G, Ολίσθηση G μία θέση αριστερά Ταινία 1: AAADEEEGG

14 Εξωτερική Ταξινόμηση Έξοδος G, Ολίσθηση I μία θέση αριστερά
N O R S T G M L P X Έξοδος G, Ολίσθηση I μία θέση αριστερά Ταινία 1: AAADEEEGGG I N O R S T M L P X Έξοδος I, Ολίσθηση N μία θέση αριστερά Ταινία 1: AAADEEEGGGI N O R S T I M L P X Έξοδος I, Ολίσθηση M μία θέση αριστερά Ταινία 1: AAADEEEGGGII

15 Εξωτερική Ταξινόμηση Συνεχίζουμε την προηγούμενη διαδικασία μέχρι να εμφανιστεί ένα και μόνο μπλοκ στην έξοδο, δηλαδή στην Ταινία 1 να εμφανιστούν τα γράμματα της ακολουθίας εισόδου ταξινομημένα. Ταινία 1: AAADEEEGGGIILMMNNNOPRRSTX

16 Εξωτερική Ταξινόμηση με Επιλογή Αντικατάστασης
Παραλλαγή της Φάσης Α του προηγούμενου αλγόριθμου. Η Φάση Β είναι ίδια με του προηγούμενου αλγόριθμου Το μέγεθος των μπλοκ που παράγονται κατά την εφαρμογή του τρέχοντος αλγορίθμου στη Φάση Α είναι κατά μέσο όρο 2-πλάσιο σε σχέση με τον προηγούμενο μειώνοντας τα βήματα συγχώνευσης. Ταξινόμηση Ακολουθίας Εισόδου: EXTERNAL SORTING

17 Εξωτερική Ταξινόμηση με Επιλογή Αντικατάστασης-Φάση Α
HEAP ΡΙΖΑ HEAP ΕΠΟΜΕΝΟ ΕΞΟΔΟΣ ΣΧΟΛΙΑ ΕΧΤ Ε E R EE RTX N EER (N<R μπαίνε με *) N*XT T A EERT (A<T μπαίνει με *) Ν*XA* X L EERTX (1ο μπλοκ-Ταινία 1) N*L*A* A* S N*L*S* L* O A*L* N*O*S N* A*L*N* R*O*S O* A*L*N*O* R*T*S* R* I A*L*N*O*R* (I<R μπαίνει χωρίς *) ΙΤ*S* S* A*L*N*O*R*S* (N<S μπαίνει χωρίς *) IT*N T* G A*L*N*O*R*S*T* (2o μπλοκ –Ταινία 2) IGN - (3ο μπλοκ-Ταινία 3)

18 Εύρεση i-στού στοιχείου (1)

19 Εύρεση i-στού στοιχείου (2)

20

21

22


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

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


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