ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ...

43
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

description

ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ. ΟΡΙΣΜΟΙ. Προγράμματα=Αλγόριθμοι + Δομές Δεδομένων 8.Αλγόριθμος Βηματική ακολουθία εντολών για την επίλυση ενός προβλήματος Ουσιαστικά, η λογική που ακολουθούμε για να λύσουμε ένα πρόβλημα - PowerPoint PPT Presentation

Transcript of ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ...

Page 1: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ

ΒΑΣΙΚΕΣ ΔΟΜΕΣ

ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Page 2: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

ΟΡΙΣΜΟΙ Προγράμματα=Αλγόριθμοι + Δομές Δεδομένων 8.Αλγόριθμος

Βηματική ακολουθία εντολών για την επίλυση ενός προβλήματος Ουσιαστικά, η λογική που ακολουθούμε για να λύσουμε ένα πρόβλημα Κάθε πρόβλημα μπορεί να επιλυθεί με περισσότερους του ενός τρόπους – αλγορίθμους Ποιος αλγόριθμος είναι ο καλύτερος; (ανάλυση αλγορίθμων)

Page 3: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Δεδομένα: Παραστάσεις γεγονότων, εννοιών ή άλλων πληροφοριών που είναι σε κατάλληλη μορφή για επεξεργασία απο τον άνθρωπο ή τον Η/Υ

Απλά – Σύνθετα δεδομένα Δομές δεδομένων: Ένα σύνολο Δεδομένων μαζί

με ένα σύνολο επιτρεπτών λειτουργιών στα δεδομένα αυτά

Page 4: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Τύποι δομών δεδομένων

Δομές στην εσωτερική μνήμη (π.χ. Πίνακες) και Δομές στην βοηθητική μνήμη (π.χ. αρχεία)

9.Οι εσωτερικές δομές χωρίζονται επιπλέον σε: Γραμμικές Δομές δεδομένων: Τα στοιχεία των δομών αυτών

έχουν αυστηρές σχέσεις γειτνίασης μεταξύ τους Μη γραμμικές Δομές Δεδομένων: Τα στοιχεία των δομών αυτών

δεν έχουν αυστηρά καθορισμένες γειτονικές σχέσεις

Page 5: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Γραμμικές Δομές Δεδομένων 10.dwste 4 grammikes domes dedomenvn Πίνακες

Ενσωματωμένη δομή σχεδόν σε όλες τις γλώσσες προγραμματισμού (και άρα εύχρηστη) Στατική δομή και πιθανώς μνημοβόρα)

Ουρές Μη ενσωματωμένη δομή: Υλοποιούνται με πίνακες ή με δείκτες First – In – First – Out (FIFO)

Στοίβες Μη ενσωματωμένη δομή: Υλοποιούνται με πίνακες ή με δείκτες Last – In – First – Out (LIFO)

Λίστες Σχεδόν πάντα υλοποιούνται με δείκτες Η πιο ευέλικτη γραμμική δομή δεδομένων

Page 6: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

11.Μη γραμμικές Δομές Δεδομένων

Δένδρα Ίσως η πιο σημαντική (μαζί με τις λίστες) δομή δεδομένων Σχεδόν πάντα υλοποιούνται με δείκτες

Γράφοι – Γραφήματα Η πιο ευέλικτη (και γι’ αυτό η πιο πολύπλοκη) απο τις δομές

της εσωτερικής μνήμης Σχεδόν πάντα υλοποιούνται με δείκτες

Page 7: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Αλγόριθμοι

Αλγόριθμος είναι η ακριβής περιγραφή μιας αυστηρά καθορισμένης σειράς ενεργριών (βημάτων) για την λύση ενός προβλήματος

Κάθε αλγόριθμος έχει κανένα, ένα ή περισσότερα δεδομένα εισόδου και τουλάχιστον ένα αποτέλεσμα εξόδου

Page 8: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Ψευδοκώδικας

Page 9: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Παράσταση Αλγορίθμων

Υπάρχουν πολλές τεχνικές, τόσο διαγραμματικές (π.χ. Διαγράμματα Ροής Δεδομένων) όσο και με χρήση κειμένου όπως ψευδοκώδικα

12 - Στοιχεία Ψευδοκώδικα Ακολουθία εντολών Μπλοκ εντολών (αρχή – τέλος) Επιλογή (απλή – Πολλαπλή) Επανάληψη Λογικές μεταβλητές Τελεστές (πράξεων, συγκρίσεων, λογικοί) Σχόλια

Page 10: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Παράσταση Αλγορίθμων

Page 11: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Παράσταση Αλγορίθμων

Page 12: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Παράσταση Αλγορίθμων

Page 13: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Παράσταση Αλγορίθμων

Page 14: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Παράσταση Αλγορίθμων

Page 15: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Παράσταση Αλγορίθμων

Page 16: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Θεωρία Αλγορίθμων

13.Είδη προβλημάτων Κανονικά προβλήματα (υπάρχει γνωστός αλγόριθμος επίλυσης) Άλυτα προβλήματα (έχει αποδειχθεί οτι δεν υπάρχει ικανός

αλγόριθμος επίλυσης) Ανοικτά προβλήματα (δεν έχει βρεθεί μέχρι σήμερα ικανός

αλγόριθμος, ούτε όμως έχει αποδειχθεί η μη ύπαρξή του

14.Ανάλυση Αλγορίθμων: Η μελέτη της πολυπλοκότητας ενός αλγορίθμου Αφορά τις απαιτήσεις του αλγορίθμου σε μνήμη και το χρόνο

εκτέλεσής του

Page 17: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Πολυπλοκότητα Αλγορίθμων

Page 18: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Πολυπλοκότητα Αλγορίθμων

15

Page 19: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Θεωρία Πολυπλοκότητας

Page 20: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Page 21: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Δομές Δεδομένων

Page 22: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Βάσεις Δεδομένων (πίνακες δομών)

Page 23: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Βασικές λειτουργίες (πράξεις) επί των δομών :Προσπέλαση (Access) Είναι η δυνατότητα πρόσβασης σε ένα κόμβο με σκοπό την ανάγνωση ή τροποποίηση του

περιεχομένου του.

Αναζήτηση (Searching) Προσπελαύνονται οι κόμβοι μίας δομής με σκοπό να εντοπιστεί κάποιος που περιέχει μία συγκεκριμένη τιμή.

Εισαγωγή (Insertion) Προσθήκη νέου κόμβου στη δομή

Διαγραφή (Deletion) Αφαιρούμε έναν κόμβο από τη δομή.

Ταξινόμηση (Sorting) Διατάσσουμε τους κόμβους της δομής σε αύξουσα ή φθίνουσα σειρά (π.χ. αλφαβητικά κατά επώνυμο, όνομα)

Αντιγραφή (Copying) Όλοι ή μερικοί κόμβοι αντιγράφονται σε μία άλλη δομή

Συγχώνευση (Merging) Δύο ή περισσότερες δομές συνενώνονται σε μία ενιαία δομή.

Διαχωρισμός (Separation) Μία δομή διασπάται σε δύο ή περισσότερες. Είναι το αντίστροφο της συγχώνευσης.

Page 24: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Πίνακες

Χαρακτηριστικός εκπρόσωπος των στατικών δομών. Περιέχει ένα σταθερό σύνολο κόμβων (θέσεις) που αποθηκεύονται σε συνεχόμενες θέσεις στη μνήμη. Επίσης, όλα τα στοιχεία είναι του ιδίου τύπου (δηλαδή ακέραιοι, πραγματικοί κλπ).

16.Enas pseudokwdikas

Page 25: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

α) Μονοδιάστατοι πίνακες (μίας γραμμής ή μίας στήλης)

Page 26: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Οι αριθμοί κάτω από τις θέσεις του πίνακα δηλώνουν τον αριθμό θέσης του πίνακα. Ο αριθμός θέσης λέγεται και δείκτης θέσης. Ο πίνακας ορίζεται ως εξής: τύπος όνομα_πίνακα [διαστάσεις]. Π.χ. ακέραιος Π [1:5] δηλώνει έναν μονοδιάστατο πίνακα μίας γραμμής πέντε θέσεων (στήλες) που περιέχει ακεραίους.

Γενικά, ορίζεται ως Π [1:Ν].

Για να αναφερθούμε στο περιεχόμενο μία θέσης του πίνακα βάζουμε το όνομα[θέση]

Για παράδειγμα, Π [1] = το περιεχόμενο της θέσης 1, Π [6] = το

περιεχόμενο της θέσης 6

Page 27: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

β) Δισδιάστατοι πίνακες (πολλών γραμμών και στηλών) Εδώ έχουμε περισσότερες από μία γραμμές. Κάθε γραμμή έχει

ένα σύνολο θέσεων (στήλες). Στο παρακάτω παράδειγμα ο πίνακας ορίζεται ως εξής :

ακέραιος Π [1:3, 1:4}. Η πρώτη διάσταση αναφέρεται στις γραμμές και η δεύτερη στις στήλες.

Γενικά, ορίζεται ως Π [1:Μ, 1:Ν] για έναν πίνακα ΜxΝ.

Για να αναφερθούμε στο περιεχόμενο μία θέσης του δισδιάστατου πίνακα βάζουμε το όνομα[γραμμή, στήλη]. Δηλαδή, η θέση προσδιορίζεται από τον αριθμό γραμμής και στήλης.

Page 28: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Για παράδειγμα, Π [1,2] = το περιεχόμενο της θέσης στη γραμμή 1 και στήλη 2, Π [3,2] = το περιεχόμενο της θέσης στη γραμμή 3 και στήλη 2.

17.Τυπικές επεξεργασίες (λειτουργίες) σε έναν πίνακα

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

Page 29: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Αλγόριθμοι μονοδιάστατου πίνακα α) Διάβασμα στοιχείων (δηλ. εισαγωγή

στοιχείων στις θέσεις του πίνακα)

Page 30: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Αλγόριθμοι μονοδιάστατου πίνακα

β) Εκτύπωση στοιχείων

Page 31: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

γ) Υπολογισμός αθροίσματος στοιχείων

Αλγόριθμοι μονοδιάστατου πίνακα

Page 32: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

δ) Υπολογισμός μέσου όρου (ΜΟ) στοιχείων

Αλγόριθμοι μονοδιάστατου πίνακα

Page 33: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

ε) Εύρεση μέγιστου στοιχείου

Αλγόριθμοι μονοδιάστατου πίνακα

Page 34: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

στ) Αναζήτηση στοιχείου

Εδώ θα δούμε την σειριακή μέθοδο. Η λογική είναι η εξής : Σαρώνουμε τον πίνακα και εξετάζουμε σε κάθε θέση αν το στοιχείο της θέσης αυτής είναι ίσο με αυτό που ψάχνουμε. Αν ναι, τότε σταματάμε.

Πότε χρησιμοποιούμε τη μέθοδο αυτή; Όταν ο πίνακας είναι μη ταξινομημένος Ο πίνακας είναι μικρού μεγέθους (π.χ. Ν <=20) Η αναζήτηση να πραγματοποιείται σπάνια, διότι η μέθοδος αυτή είναι σχετικά αργή. Θα χρειαστούμε μία μεταβλητή βρέθηκε λογικού τύπου, που θα γίνει True αν το

στοιχείο βρεθεί. Επίσης, δεν γνωρίζουμε σε ποια θέση βρίσκεται. Μπορεί να είναι στην 1η θέση αλλά μπορεί να είναι στη Νστή θέση. Θα χρησιμοποιήσουμε και μία μεταβλητή θέση που θα κρατήσει τη θέση όπου βρέθηκε.

Αλγόριθμοι μονοδιάστατου πίνακα

Page 35: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Σημείωση : Όταν ο πίνακας είναι ταξινομημένος είναι προτιμότερο να χρησιμοποιείται μία πιο αποδοτική (γρήγορη) μέθοδος που ονομάζεται δυαδική αναζήτηση.

Page 36: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

ζ) Ταξινόμηση πίνακα

Θα δούμε τη μέθοδο της φυσαλίδας (Bubble Sort) ή ευθείας ανταλλαγής. Βασίζεται στην αρχή της σύγκρισης γειτονικών στοιχείων του πίνακα και ανταλλαγής τους μέχρι να διαταχθούν όλα σε μία σειρά (αύξουσα ή φθίνουσα).

Η λογική είναι η εξής : Κάνουμε διαδοχικές σαρώσεις στον πίνακα. Σε κάθε σάρωση, το μικρότερο στοιχείο (για αύξουσα) μετακινείται προς την κορυφή του πίνακα Αφού γίνουν όλες οι σαρώσεις θα έχει επιτευχθεί η ταξινόμηση.

Αλγόριθμοι μονοδιάστατου πίνακα

Page 37: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Αλγόριθμοι μονοδιάστατου πίνακα

Page 38: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Παράδειγμα : Να ταξινομηθούν οι ακέραιοι 12, 7, 5, 3, 10 ενός πίνακα. Πώς διαμορφώνεται ο πίνακας σε κάθε βήμα του αλγορίθμου;

Page 39: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

Αλγόριθμοι δισδιάστατου πίνακα α) Διάβασμα στοιχείων (δηλ. εισαγωγή

στοιχείων στις θέσεις του πίνακα)

Page 40: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

β) Εκτύπωση στοιχείων

Αλγόριθμοι δισδιάστατου πίνακα

Page 41: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

γ) Υπολογισμός ΜΟ ανά γραμμή

Αλγόριθμοι δισδιάστατου πίνακα

Page 42: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ

γ) Υπολογισμός ΜΟ ανά γραμμή αλλά με αποθήκευσή του σε ξεχωριστό πίνακα.

Αλγόριθμοι δισδιάστατου πίνακα

Page 43: ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ