Δομές Δεδομένων - Αναλυτική ύλη μαθήματος
|
Θέμα | ||
Εισαγωγή --Αλγόριθμοι --Ορθότητα αλγορίθμων --Ασυμπτωτική ανάλυση --Αφηρημένος Τύπος Δεδομένων |
|||
Δυαδική αναζήτηση Συγκριτικοί αλγόριθμοι ταξινόμησης --Ταξινόμηση “Εισαγωγής” (insertion sort) --Ταξινόμηση “Επιλογής” (selection sort) --Ταξινόμηση “Φυσαλίδας” (bubble sort) --“Ταχεία” ταξινόμηση (quick sort) --Ταξινόμηση “Συγχώνευσης” (merge sort) Κάτω όριο για συγκριτικούς αλγόριθμους ταξινόμησης Αλγόριθμοι ταξινόμησης μέσω κατανομής --Ταξινόμηση “Κάδου/δοχείου” (bucket/bin sort) --Ταξινόμηση “Βάσης” (radix sort) --Ταξινόμηση “Καταμέτρησης” (counting sort) |
|||
Απλές δομές Δεδομένων Διανύσματα vs. Συνδεδεμένες δομές Λίστες --Απλά συνδεδεμένες (SinglyLinkedList) --Κυκλικά συνδεδεμένες (CircularlyLinkedList) --Διπλά συνδεδεμένες (DoublyLinkedList) --Positional (PositionalLinkedList) --Δεικτοδοτιμένες (ArrayList) |
pdf |
||
Απλοί Αφηρημένοι Τύποι Δεδομένων (ΑΤΔ) --Στοίβα (Stack, FIFO) --Ουρά (Queue, FIFO) --Κυκλική ουρά (CircularQueue) |
pdf | ||
Δένδρα --Ορισμοί --Διαπεράσεις δένδρων (Preorder, Postorder, Inorder) --Δυαδικά δένδρα και ιδιότητες --Υλοποίηση δένδρικών δομών --Εφαρμογές |
pdf | ||
Ο ΑΔΤ "Ουρά προτεραιότητας" (Priority Queue) --Δομή σωρού * Υλοποίηση με δενδρική δομή * Υλοποίηση με διάνυσμα * Κατασκευή σωρού (heapify) --Προσαρμοζόμενη (adjustable) ουρά προτεραιότητας |
pdf | ||
Ο ΑΔΤ "Χάρτης" (Map) --Υλοποιήσεις με Λίστες --Κατακερμαστισμός (Hashing) * Με αλυσίδες (Chaining) * Γραμμική εξέταση (Linear probing) * Τετραγωνική εξέταση (Quadratic probing) * Διπλός κατακερματισμός (Double hashing) Ο ΑΔΤ "Διατεταγμένος Χάρτης" (SortedMap) --Υλοποίηση με ArrayList --Λίστα Παράλειψης (Skip List) Ο ΑΔΤ "Σύνολο" (Set) Ο ΑΔΤ "Λεξικό" (Dictionary/MultiSet/Bag) |
|||
Δυαδικά Δένδρα Αναζήτησης (Binary Search Trees) -- Φυλλο-προσανατολισμένα Δενδρα Αναζήτησης (Leaf-oriented BSTs) -- AVL Trees -- Β-Trees * B-Trees και Βάσεις Δεδομένων --Υλοποιήσεις ΑΤΔ * SortedMap * AdaptablePriorityQueue |
|||
Ο ΑΔΤ "Ξένα σύνολα" (Disjoint Sets) | |||
-- |