Δομές Δεδομένων - Αναλυτική ύλη μαθήματος

 

Εβδομάδα

Θέμα

Αναφορά

1

Εισαγωγή.

  • Αλγόριθμοι
  • Ασυμπτωτική ανάλυση
  • Γλώσσα υλοποίησης: Java

Κεφ. 1 (3-17)

2

Ανασκόπηση της Java

Σύνδεσμοι ιστοσελίδας μαθήματος

3

Δυαδική αναζήτηση

Συγκριτικοί αλγόριθμοι ταξινόμησης

  • Ταξινόμηση εισαγωγής (insertion sort)
  • Ταξινόμηση επιλογής (selection sort)
  • Ταξινόμηση φυσαλίδας (bubble sort)

Κεφ. 3 (73-76)

Κεφ. 4 (81-87)

(όχι §4.1.4)

4

Συγκριτικοί αλγόριθμοι ταξινόμησης (συνεχεία)

  • Ταχεία ταξινόμηση (quick sort)
  • Ταξινόμηση συγχώνευσης (merge sort)

Κάτω όριο για συγκριτικούς αλγόριθμους ταξινόμησης

Κεφ. 4 (89-97)

Κεφ. 4 (106-113)

(όχι §4.3)

5

Αλγόριθμοι ταξινόμησης μέσω κατανομής

  • Ταξινόμηση κάδου / δοχείου (bucket sort, bin sort)
  • Ταξινόμηση βάσης (radix sort)

Επιλογή

Κεφ. 5 (120-132)

Κεφ. 6 (136-144)

6

Απλές Δομές Δεδομένων

  • Διανύσματα
  • Λίστες

Κεφ. 2 (22-36)

7

Αφηρημένοι Τύποι Δεδομένων (ΑΤΔ)

  • Απλές ουρές (queues)
    • Στοίβα (stack)
    • Ουρά FIFO

Κεφ. 2 (36-48)

8

Απλές Δομές Δεδομένων (συνέχεια)

  • Στατικά δένδρα
  • Διελεύσεις δένδρων
  • Δυναμικά δένδρα

Κεφ. 2 (48-64)

9

Ο ΑΔΤ «Ουρά προτεραιότητας (priority queue

  • Δομή σωρού
    • Υλοποίηση με δενδρική δομή
    • Υλοποίηση με διάνυσμα

Σημειώσεις από διάλεξη.

Κεφ. 18 (466)

Κεφ. 4 (97-106)

10

Ο ΑΔΤ «Λεξικό» (dictionary) ή «Πίνακας συμβόλων» (symbol table)

  • Δενδρα αναζήτησης
    • Αζύγιστα δυαδικά (binary search trees)

Κεφ. 7 (149-167)

11

Ο ΑΔΤ «Λεξικό» (συνέχεια)

  • Δένδρα-(a,b)

Κεφ. 9 (1-186-217)

12

Ο ΑΔΤ «Λεξικό» (συνέχεια)

Κατακερματισμός

Με αλυσίδες (chaining)

Γραμμική δοκιμή (linear probing)

Ο ΑΔΤ «Ταξινομημένο λεξικό»

Κεφ. 11 (247-253)

Κεφ. 12 (256-261, 266-268)

(όχι §14.2, §14.3)

Σημειώσεις από διάλεξη.

13

Ο ΑΔΤ «Ξένα μεταξύ τους σύνολα» (disjoint sets)

Κεφ 17. (376-385)