þ Ω ü ÿ Θ Γ þ ÿ ù ü ÿ û Ω...

Click here to load reader

  • date post

    09-Jul-2020
  • Category

    Documents

  • view

    3
  • download

    0

Embed Size (px)

Transcript of þ Ω ü ÿ Θ Γ þ ÿ ù ü ÿ û Ω...

  • ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ

    ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΤΕ ΠΛΗΡΟΦΟΡΙΚΗΣ

    ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ &

    ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ

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

    Β’ ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ

    Επιμέλεια

    Δρ Τσακνάκης Ιωάννης

    Επίκουρος Καθηγητής

    Ναύπακτος, 20 Φεβρουαρίου 2014

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

    2

    ΠΕΡΙΕΧΟΜΕΝΑ

    ΠΕΡΙΕΧΟΜΕΝΑ ......................................................................................................... 2

    ΠΡΟΛΟΓΟΣ ................................................................................................................. 5

    ΚΕΦΑΛΑΙΟ 1. ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ .............................. 7

    1.1 Εισαγωγή ............................................................................................................. 7

    1.2 Ορισμός του προβλήματος ................................................................................... 8

    1.3 Επίλυση προβλημάτων – Ανάπτυξη αλγορίθμων ................................................ 8

    1.3.1 Ορισμός αλγορίθμου .................................................................................. 8

    1.3.2 Αναπαράσταση αλγορίθμων ....................................................................... 9

    1.3.3 Παράδειγμα ανάπτυξης αλγορίθμου ........................................................ 11

    1.3.4 Ανάλυση αλγορίθμων ............................................................................... 13

    1.3.5 Μορφή ακολουθιών εντολών στους αλγορίθμους .................................... 14

    1.3.6 Είδη αλγορίθμων ..................................................................................... 15

    1.4 Δομές δεδομένων ............................................................................................... 15

    1.4.1 Βασικά παραδείγματα δομών δεδομένων ................................................ 16

    Πίνακες (Arrays) ........................................................................................ 16

    Στοίβα (Stack) ............................................................................................ 16

    Ουρά (Queue) ............................................................................................ 17

    Γραμμικές Λίστες (Linear Lists) ................................................................ 17

    Δέντρα (Trees) ........................................................................................... 17

    Ουρά προτεραιότητας (Priority queue) ...................................................... 18

    Γράφοι (graphs) ......................................................................................... 18

    Ερωτήσεις- Ασκήσεις Κεφαλαίου ........................................................................... 18

    ΚΕΦΑΛΑΙΟ 2. ΓΡΑΜΜΙΚΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ...................................... 19

    2.1 Πίνακες .............................................................................................................. 19

    2.1.1 Μερικοί τύποι πινάκων ............................................................................ 20

    2.1.2 Συμβολοσειρές ......................................................................................... 21

    2.2 Στοίβες ............................................................................................................... 22

    2.2.1 Αλγόριθμος υλοποίησης στοίβας .............................................................. 23

    Πράξη Push ................................................................................................ 24

    Πράξη Pop ................................................................................................. 24

    2.2.2 Εφαρμογές Στοίβας – Πολωνικός συμβολισμός ...................................... 25

    Μετατροπή ένθετης παράστασης χωρίς παρενθέσεις σε μεταθετική ........ 26

    Μετατροπή ένθετης παράστασης με παρενθέσεις σε μεταθετική ............. 27

    Υπολογισμός παραστάσεις μεταθετικής μορφής ....................................... 28

    2.3 Ουρές ................................................................................................................. 29

    2.3.1 Αλγόριθμοι υλοποίησης ουράς ................................................................. 30

    Απλή μορφή υλοποίησης ουράς pipeline με χρήση πινάκων .................... 31

    Ουρά δακτυλίου ......................................................................................... 34

    2.4 Λίστες................................................................................................................. 34

    2.4.1 Εφαρμογές ............................................................................................... 35

    2.4.2 Κατηγορίες λιστών ................................................................................... 35

    2.4.3 Βασικές πράξεις σε λίστες ........................................................................ 36

    2.4.4 Υλοποίηση αλγορίθμων των βασικών πράξεων ....................................... 37

    Εισαγωγή στοιχείου ................................................................................... 38

    Διαγραφή στοιχείου. .................................................................................. 40

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

    3

    Σάρωση λίστας ........................................................................................... 41

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

    Συνένωση λιστών ....................................................................................... 42

    Αντιστροφή λίστας..................................................................................... 43

    Ερωτήσεις- Ασκήσεις Κεφαλαίου ........................................................................... 43

    ΚΕΦΑΛΑΙΟ 3. ΜΗ ΓΡΑΜΜΙΚΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ .............................. 45

    3.1 Δένδρα ............................................................................................................... 45

    3.1.1 Γενική περιγραφή - Ορισμοί .................................................................... 45

    3.1.2 Υλοποίηση δένδρου .................................................................................. 47

    Υλοποίηση με πίνακα ................................................................................ 47

    Υλοποίηση με εγγραφές ............................................................................. 48

    3.1.3 Μέθοδοι διάσχισης δένδρων .................................................................... 48

    Προδιάταξη (preorder) ............................................................................... 48

    Μεταδιάταξη (Postorder) ........................................................................... 49

    Μεταδιάταξη (Postorder) ........................................................................... 49

    Συμμετρική διάταξη (Symmetric order ή inorder)..................................... 49

    Εφαρμογή μετατροπής παραστάσεων στον πολωνικό συμβολισμό .......... 50

    3.1.4 Νηματοειδή δένδρα .................................................................................. 50

    3.1.5 Υλοποίηση αλγορίθμων των βασικών πράξεων ....................................... 51

    Εισαγωγή (insert) ....................................................................................... 52

    Σάρωση δένδρου ........................................................................................ 54

    Αναζήτηση (search) ................................................................................... 54

    Διαγραφή (deletion) ................................................................................... 55

    3.1.6 Ισοζυγισμένα δένδρα ................................................................................ 57

    3.2 Γράφοι ...................................................................................