ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

Διδάσκων: Παναγιώτης Ανδρέου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: ομές εδομένων και Αλγόριθμοι

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

Διδάσκων: Κωνσταντίνος Κώστα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.

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

Δομές Δεδομένων και Αλγόριθμοι

Επιλογές και Κριτήρια Σχεδιασμού ΑΤΔ Ανεξαρτήτως από Γλώσσα Υλοποίησης 24/4/2012

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Ε Θ Ν Ι Κ Ο Μ Ε Τ Σ Ο Β Ι Ο Π Ο Λ Υ Τ Ε Χ Ν Ε Ι Ο ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

4. Συνδεδεμένες Λίστες

Δοµές Δεδοµένων. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Φθινοπωρινό Εξάµηνο Ευάγγελος Μαρκάκης

Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Επιµέλεια Θοδωρής Πιερράτος

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

Ουρά Προτεραιότητας: Heap

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2670

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

υναµικές οµές εδοµένων

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Περιεχόμενα. Περιεχόμενα

xvi Προσέγγιση δομεσ δεδομενων και αλγοριθμοι

Επανάληψη για τις Τελικές εξετάσεις

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Βασικές οµές εδοµένων

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

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

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

Λεξικό, Union Find. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

Ανάπτυξη και Σχεδίαση Λογισμικού

ιαφάνειες παρουσίασης #3

ΒΙΒΛΙΑ ΒΙΒΛΙΑ

Δομές Δεδομένων και Αλγόριθμοι

Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας)

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

Περίγραμμα. Διαδικαστικά. Εργαστήρια Τεχνικών Προγραμματισμού 21/2/2017. ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ και Τεχνικές Προγραμματισμού

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ και Τεχνικές Προγραμματισμού

1. ΕΙΣΑΓΩΓΗ-ΓΕΝΙΚΑ ΠΕΡΙ ΑΦΗΡΗΜΕΝΩΝ ΤΥΠΩΝ ΔΕΔΟΜΕΝΩΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) Γ ΤΑΞΗΣ 2003

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

Διάλεξη 11: Φροντιστήριο για Στοίβες. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

Περιεχόμενα. Πρόλογος... 17

Χειµερινό Εξάµηνο 2013

ΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ...

Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Σήμερα. Εργαστήρια Τεχνικών Προγραμματισμού. Διαδικαστικά 19/3/2015. ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ και Τεχνικές Προγραμματισμού

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον υποδειγματική διδασκαλία Κεφ. 3 Δομές Δεδομένων & αλγόριθμοι

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) Γ ΤΑΞΗΣ 2003

Επανάληψη Θεωρίας. Καστούμης Γιώργος

ιαφάνειες παρουσίασης #5 (β)

Δομές Δεδομένων & Αλγόριθμοι

Προγραμματισμός Δομές Δεδομένων

Διδάσκων: Παναγιώτης Ανδρέου

Αναδροµή. Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής

Περιεχόμενα. Πρόλογος... 21

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

Στοίβες με Δυναμική Δέσμευση Μνήμης

Ενδεικτικές Ερωτήσεις Θεωρίας

Διάλεξη 18: B-Δένδρα

Διάλεξη 14: Δέντρα IV - B-Δένδρα

Ουρά Προτεραιότητας: Heap

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

Αξιοποίηση Η/Υ και Πληροφορικής στην Μηχανική

Αλγόριθµοι και Πολυπλοκότητα

Υπολογιστικό Πρόβληµα

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Μαθηµατικά για Πληροφορική

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών Ακαδηµαϊκό έτος 2010 2011, Χειµερινό εξάµηνο Παρασκευή - 17/12/10 (08:30-11:30) Τελική Εξέταση ΧΩ 01 Αίθουσα 108 Οι ερωτήσεις που δίνονται για κάθε κεφάλαιο έχουν ως στόχο να σας υποβοηθήσουν να προετοιµαστείτε όσο το δυνατό καλύτερα για την τελική εξέταση. εν καθορίζουν όµως την ύλη της τελικής, η οποία καθορίζεται από τις διαφάνειες των διαλέξεων οι οποίες είναι αναρτηµένες στην ακόλουθη ιστοσελίδα. http://www.cs.ucy.ac.cy/courses/epl035/index.html Ύλη Τελικής Εξέτασης Κεφάλαιο 1: Εισαγωγή ( ιάλεξη 1) 1. Ποια τα στάδια επίλυσης φυσικών προβληµάτων στη πληροφορική. 2. Τι είναι η µαθηµατική µοντελοποίηση? 3. Τι είναι οι δοµές δεδοµένων? 4. Τι είναι ο αλγόριθµος? a. ποια κριτήρια πρέπει να ικανοποιεί? b. ποια η κύρια διαφορά µε ένα πρόγραµµα? c. πως και σε τι αποσκοπεί η αξιολόγηση των αλγορίθµων? Κεφάλαιο 2: Αφηρηµένοι Τύποι εδοµένων ( ιάλεξη 1) 1. Τι ορίζουµε ως τύπο δεδοµένων και τι ως Αφηρηµένο Τύπο εδοµένων (ΑΤ ) και ποια η διαφορά τους? 2. Πλεονεκτήµατα και υλοποίηση του ΑΤ. 3. οµικές σχέσεις ΑΤ 4. Πως ορίζουµε ένα ΑΤ καθώς και ποιοι είναι οι βασικοί ΑΤ? 5. Υλοποιήσεις βασικών ΑΤ. 6. ΑΤ δοµή, τρόπος ορισµού και υλοποίησης σε ένα πρόγραµµα, καθώς και υπολογισµός διεύθυνσης πεδίου, βλέπε φροντιστήριο και εργασία 1. = βαση( ) i + 1 j= 1 λj

Κεφάλαιο 3: Πολυπλοκότητα Αλγορίθµων ( ιάλεξη 2-3) Εκτός Ύλης Τελικής 1. Τι είναι αλγόριθµος και ποιες παράµετροι θεωρούνται σηµαντικοί για ένα αλγόριθµο? 2. Σε τι αποσκοπεί η ανάλυση αλγορίθµων και ποιοι τρόποι ανάλυσης υπάρχουν? 3. Αρχή της σταθερότητας 4. Big-O notation και ιδιότητες. 5. Ανάλυση/εξέταση προγραµµάτων (κώδικα) ή συναρτήσεων και υπολογισµός χείριστης και βέλτιστης περίπτωσης χρόνου εκτέλεσης αλγορίθµου. 6. Μαθηµατική επαγωγή Κεφάλαιο 4: Συµβολοσειρές ( ιάλεξη 4) 1. Τι είναι η συµβολοσειρά? Ορισµός a. Ποιος είναι ο τρόπος υλοποίησης συµβολοσειράς στην C? b. Αναγνώριση/χρησιµοποίηση ορθών τρόπων αρχικοποίησης συµβολοσειρών (προγραµµατιστικά). c. Ανάγνωση και εκτύπωση συµβολοσειράς στην C (προγραµµατιστικά). 2. Πίνακες συµβολοσειρών και προγραµµατιστική υλοποίηση. 3. Ποιες είναι οι βασικές (συχνές και αναγκαίες) πράξεις µε συµβολοσειρές? 4. Πως υλοποιούνται στην C? a. υνατότητα χρήσης/κατανόησης υφιστάµενων πράξεων (συναρτήσεων) στην C καθώς και προγραµµατιστικής υλοποίησης δικών σας συναρτήσεων (πράξεων) που εξυπηρετούν τον ίδιο σκοπό. 5. Υλοποίηση προγραµµάτων ή συναρτήσεων που βασίζονται στις υφιστάµενες συναρτήσεις για διαχείριση συµβολοσειρών? Κεφάλαιο 5: είκτες και Πίνακες ( ιάλεξη 5-6) 1. Τι είναι οι δείκτες, πως λειτουργούν και ποιοι οι λόγοι χρήσης τους?\ 2. υνατότητα προγραµµατιστικής χρήσης/κατανόησης δεικτών και διευθύνσεων, π.χ. χρήση τελεστής διεύθυνσης, χρήση τελεστής αναφοράς, παραδείγµατα προγραµµάτων ή ορισµός συναρτήσεων µε δείκτες και κατανόησης/εξαγωγής αποτελεσµάτων. 3. είκτες και πίνακες: υνατότητα κατανόησης προγραµµάτων ή συναρτήσεων µε δείκτες και πίνακες. 4. Πίνακες δεικτών: Σωστή αρχικοποίηση και υλοποίηση προγραµµάτων µε πίνακες δεικτών ή κατανόηση προγραµµάτων και εξαγωγή αποτελεσµάτων. 5. Παράµετροι συνάρτησης main(), η σηµασία τους καθώς και οι τρόποι υλοποίησης προγράµµατος στο οποίο δέχεται παραµέτρους η συνάρτησης main(). Κεφάλαιο 6: οµές και Ενώσεις ( ιάλεξη 7) 1. Τι είναι οι δοµές (structures) και τι οι ενώσεις (unions)? a. Ποια η χρησιµότητα τους καθώς και η κύρια διαφορά τους? 2. Προγραµµατιστική υλοποίηση δοµής και αναφορά σε πεδία/µέλη της δοµής. 3. Προγραµµατιστική υλοποίηση φωλιασµένης δοµής και αναφορά σε πεδία/µέλη φωλιασµένων δοµών.

4. Ποια η χρησιµότητα του typedef στην υλοποίηση δοµών? 5. Υλοποίηση συναρτήσεων µε δοµές ως παραµέτρους εισόδου. Κεφάλαιο 7: Memory Allocation (malloc) ( ιάλεξη 8) 1. Ποια η κύρια διαφορά/πλεονέκτηµα της υναµικής έσµευσης Μνήµης µε την Στατική έσµευση Μνήµης? 2. Υπολογισµός απαιτούµενης µνήµης εκτέλεσης προγράµµατος µε στατική ή/και δυναµική δέσµευση µνήµης. 3. Πως υλοποιούµε/δεσµεύουµε δυναµικά µνήµη σε ένα πρόγραµµα και πως αποδεσµεύουµε την µνήµη που δεν χρησιµοποιείται πλέον? 4. Υλοποίησης συνδεδεµένης λίστας µε αυτοαναφερόµενες δοµές. Κεφάλαιο 8: Αναδροµή ( ιάλεξη 9) 1. Τι είναι η αναδροµή, ποια η χρησιµότητα της και ποια βήµατα είναι αναγκαία για την υλοποίηση της? 2. Πως γίνεται η υλοποίηση της αναδροµής και ποια η σχέση µε τον ΑΤ στοίβα? 3. Υλοποίηση προγραµµάτων/συναρτήσεων µε τη χρήση αναδροµής, π.χ. δίνεται ένα πρόγραµµα/συνάρτηση χωρίς αναδροµή και να πρέπει να υλοποιήσετε ένα αντίστοιχο πρόγραµµα/συνάρτηση µε αναδροµή, ή να συµπληρώσετε τις αναγκαίες εντολές σε ένα αναδροµικό πρόγραµµα/συνάρτηση. Κεφάλαιο 9: Αφηρηµένοι Τύποι εδοµένων (ΑΤ ), Λίστες, ΑΤ Στοίβα και Ουρά ( ιάλεξη 10) 1. Τι ορίζουµε ως Τύπο εδοµένων και τι ως Αφηρηµένο Τύπο εδοµένων (ΑΤ ) και ποια η διαφορά τους? 2. Τι είναι η Λίστα και ποιες οι βασικές/αναγκαίες πράξεις για τον ορισµό του γενικού ΑΤ Λίστα? 3. Ποιοι είναι οι βασικοί τύποι λίστας (περιγραφή) και ποιες οι παραλλαγές στις 2 βασικές πράξεις σε σχέση µε τη γενική ΑΤ Λίστα? 4. ΑΤ Στοίβα, βασικές πράξεις, ορισµός/δήλωση στοίβας και κόµβων καθώς και υλοποίηση/κατανόηση βασικών πράξεων µε στατική δέσµευση µνήµης. 5. ΑΤ Ουρά, βασικές πράξεις, ορισµός/δήλωση ουράς και κόµβων καθώς και υλοποίηση/κατανόηση βασικών πράξεων µε στατική δέσµευση µνήµης. Κεφάλαιο 10: Στοίβες ( ιάλεξη 11) 1. ΑΤ Στοίβα, βασικές πράξεις, ορισµός/δήλωση στοίβας και κόµβων καθώς και υλοποίηση/κατανόηση βασικών πράξεων µε δυναµική δέσµευση µνήµης. 2. Παραδείγµατα εφαρµογών του ΑΤ Στοίβα. Κεφάλαιο 11: Λίστες ( ιάλεξη 12) 1. ΑΤ Λίστα, βασικές πράξεις, ορισµός/δήλωση λίστας και κόµβων καθώς και υλοποίηση/κατανόηση βασικών πράξεων µε δυναµική δέσµευση µνήµης. 2. Σύγκριση Πινάκων µε Συνδεδεµένες Λίστες, Πλεονεκτήµατα, Μειονεκτήµατα.

Κεφάλαιο 12: Αλγόριθµοι ταξινόµησης Μέρος 1 ( ιάλεξη 13) Αλγόριθµοι ταξινόµησης o SelectionSort α) Θεωρητικά: Σκοπός, Λειτουργία/Βήµατα Εκτέλεσης, Ανάλυση Χρόνου Εκτέλεσης, β) Πρακτικά: Κατανόηση και Επεξήγηση Κώδικα Υλοποίησης Αλγόριθµου SelectionSort, υνατότητα (βάση Κώδικα Υλοποίησης Αλγόριθµου SelectionSort) Εξαγωγής Αποτελεσµάτων Εκτέλεσης, Επίλυση Παραδειγµάτων Εκτέλεσης Αλγόριθµου SelectionSort. o InsertionSort α) Θεωρητικά: Σκοπός, Λειτουργία/Βήµατα Εκτέλεσης, Ανάλυση Χρόνου Εκτέλεσης, β) Πρακτικά: Κατανόηση και Επεξήγηση Κώδικα Υλοποίησης Αλγόριθµου InsertionSort, υνατότητα (βάση Κώδικα Υλοποίησης Αλγόριθµου InsertionSort) Εξαγωγής Αποτελεσµάτων Εκτέλεσης, Επίλυση Παραδειγµάτων Εκτέλεσης Αλγόριθµου InsertionSort. o Σύγκριση InsertionSort και SelectionSort Κεφάλαιο 12: Αλγόριθµοι ταξινόµησης Μέρος 2 ( ιάλεξη 14) Αλγόριθµοι ταξινόµησης o Mergesort α) Θεωρητικά: Σκοπός, Λειτουργία/Βήµατα Εκτέλεσης, Ανάλυση Χρόνου Εκτέλεσης, β) Πρακτικά: Κατανόηση και Επεξήγηση Κώδικα Υλοποίησης Αλγόριθµου Mergesort, υνατότητα (βάση Κώδικα Υλοποίησης Αλγόριθµου Mergesort) Εξαγωγής Αποτελεσµάτων Εκτέλεσης, Επίλυση Παραδειγµάτων Εκτέλεσης Αλγόριθµου Mergesort. o BucketSort α) Θεωρητικά: Σκοπός, Λειτουργία/Βήµατα Εκτέλεσης, Ανάλυση Χρόνου Εκτέλεσης, β) Πρακτικά: Κατανόηση και Επεξήγηση Κώδικα Υλοποίησης Αλγόριθµου BucketSort, υνατότητα (βάση Κώδικα Υλοποίησης Αλγόριθµου BucketSort) Εξαγωγής Αποτελεσµάτων Εκτέλεσης, Επίλυση Παραδειγµάτων Εκτέλεσης Αλγόριθµου BucketSort. o Σύγκριση Mergesort και BucketSort Κεφάλαιο 12: Αλγόριθµοι ταξινόµησης Μέρος 3 ( ιάλεξη 15) Αλγόριθµοι ταξινόµησης o QuickSort α) Θεωρητικά: Σκοπός, Λειτουργία/Βήµατα Εκτέλεσης, Ανάλυση Χρόνου Εκτέλεσης, β) Πρακτικά: Κατανόηση και Επεξήγηση Κώδικα Υλοποίησης Αλγόριθµου QuickSort, υνατότητα (βάση Κώδικα Υλοποίησης Αλγόριθµου QuickSort) Εξαγωγής Αποτελεσµάτων Εκτέλεσης, Επίλυση Παραδειγµάτων Εκτέλεσης Αλγόριθµου QuickSort. o Τι είναι η έµµεση ταξινόµηση (Indirect Sorting)? o Τι είναι η Εξωτερική ταξινόµηση (External Sorting)?

Κεφάλαιο 13: Εισαγωγή σε ενδρικές οµές εδοµένων ( ιάλεξη 16) ενδρικές οµές εδοµένων o Τι είναι η ενδρικές οµές εδοµένων? Ποια η διαφορά τους µε τις γραµµικές δοµές δεδοµένων? Ορισµός ένδρου. Παραδείγµατα Χρήσης/Υλοποίησης ένδρων o Σύγκριση και µειονεκτήµατα της χρήσης γραµµικής δοµής πίνακα σε σχέση µε την χρήση ένδρων ( ενδρικών οµών εδοµένων). o Ορισµοί ένδρων (π.χ. Βάθος και ύψος ενός δένδρου), Επίλυση (Εξαγωγή Αποτελεσµάτων) Βάση των ορισµών ένδρων. o Αναπαράσταση ένδρων στη Μνήµη. o Τεχνικές ιάσχισης ένδρων, Επίλυση Παραδειγµάτων Εκτέλεσης Προθεµατικής και Μεταθεµατικής ιάσχισης ένδρων. Κεφάλαιο 14: υαδικά ένδρα ( ιάλεξη 17) υαδικά ένδρα o Τι είναι τα υαδικά ένδρα? Ποιο είναι το σηµαντικότερο πλεονέκτηµα που προσφέρουν (χρειάζεται επεξήγηση)? o Τι είναι τα υαδικά ένδρα Αναζήτησης? o υνατότητα Κτισίµατος καθώς και αναγνώρισης υαδικών ένδρων (π.χ. Γεµάτο (Full), Τέλειο (Perfect)). o υνατότητα Υλοποίησης ή ιαµόρφωσης της Υλοποίησης υαδικών ένδρων (π.χ. πράξεις Εισαγωγής, Εύρεσης Στοιχείου, ιαγραφής Μικρότερου Στοιχείου, Σύγκρισης ένδρων). Κεφάλαιο 15: Ισοζυγισµένα έντρα (Balanced Trees) ( ιάλεξη 18) Ισοζυγισµένα έντρα (Balanced Trees) o Τι είναι τα Ισοζυγισµένα ένδρα? Τι επιτυγχάνεται µε την χρήση Ισοζυγισµένων ένδρων και πως επιτυγχάνεται? o Τι είναι τα 2-3 (2 ή 3 παιδιά) ένδρα? o Πως επιτυγχάνεται (θεωρητικά) η υλοποίηση 2-3 ένδρων? o Ποιες είναι οι φάσεις εισαγωγής κόµβου (θεωρητικά) σε ένα 2-3 δένδρο? o υνατότητα Επίλυσης Ολοκληρωµένου Παραδείγµατος Εισαγωγής Κόµβων σε 2-3 ένδρα. o Ποια η σχέση των 2-3 ένδρων µε τα Ισοζυγισµένα έντρα (Balanced Trees)? Κεφάλαιο 16: Εισαγωγή στους Γράφους (Graphs) ( ιάλεξη 19) Εισαγωγή στους Γράφους (Graphs) o Τι είναι οι γράφοι και ποιες οι πιο γνωστές εφαρµογές τους? o Ορισµοί Γράφων και δυνατότητα κατάταξης/αναγνώρισης γράφων βάση των ιδιοτήτων τους. o Αναπαράσταση γράφων στην Μνήµη (θεωρητικά και κυρίως πρακτικά)

o Τι είναι η ιάσχιση γράφων και ποιες οι γνωστές εφαρµογές της διάσχισης γράφων? o Προθεµατική και Μεταθεµατική ιάσχιση Γράφων (θεωρητικά και κυρίως πρακτικά) o Ποιο είναι το πρόβληµα στην περίπτωση της Προθεµατικής ιάσχισης όταν ο γράφος δεν είναι συνεκτικός (disconnected) και πως επιλύεται? Κεφάλαιο 17: Ελάχιστα Γεννητορικά ένδρα - Αλγόριθµος Prim ( ιάλεξη 20) Ελάχιστα Γεννητορικά ένδρα - Αλγόριθµος Prim o Τι είναι τα Ελάχιστα Γεννητορικά ένδρα? Περιγράψτε το πρόβληµα που προσπαθούν να επιλύσουν. o Ορισµοί Γεννητορικών ένδρων και Ελάχιστο Γεννητορικό ένδρο. o υνατότητα εξαγωγής Ελάχιστου Γεννητορικού ένδρου. o Ο αλγόριθµός του Prim (θεωρητικά και κυρίως πρακτικά) o Πως επιτυγχάνουµε την υλοποίηση του αλγόριθµου Prim (θεωρητικά)? o Ανάλυση Χρόνου Εκτέλεσης Αλγόριθµου Prim.