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

Σχετικά έγγραφα
Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Αλγόριθμοι Ταξινόμησης Μέρος 4

Εισαγωγή στην Επιστήμη των Υπολογιστών

Αναζήτηση Κατά Πλάτος

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Αλγόριθμοι Γραφημάτων

Αναζήτηση Κατά Πλάτος

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

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

Αναζήτηση Κατά Πλάτος

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αναζήτηση Κατά Πλάτος

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

Γράφοι: κατευθυνόμενοι και μη

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Διερεύνηση γραφήματος

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

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

7η Σειρά Ασκήσεων. Μπορείτε, αν θέλετε, να χρησιμοποιήσετε τον τύπο string της ΗΡ Pascal και τις αντίστοιχες συναρτήσεις (κεφ 10.1 των σημειώσεων).

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

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

1. Δεν μπορεί να γίνει κλήση μίας διαδικασίας μέσα από μία συνάρτηση.

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

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

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

3η Σειρά Γραπτών Ασκήσεων

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

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

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

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

Εισαγωγή στους Αλγορίθμους

an:3 are:6 a:10

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

1. Δεν μπορεί να γίνει κλήση μίας διαδικασίας μέσα από μία συνάρτηση.

ΘΕΜΑ Α. Μονάδες 10 Α2.

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο

Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort

Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Θεωρία Γραφημάτων 6η Διάλεξη

Στοιχεία Θεωρίας Γράφων (Graph Theory)

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

Εισαγωγή στους Αλγόριθμους

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

Αλγόριθµοι Γραφηµάτων

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

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

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

waitpid(), read(), write(), pipe(), mkfifo() κ.α.).

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Διαδικασιακός Προγραμματισμός

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

Εργαστήριο 5. Εαρινό Εξάμηνο

Δομές Δεδομένων (Data Structures)

ΔΟΚΙΜΑΣΤΙΚΟ ΤΕΣΤ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 26 ΑΠΡΙΛΙΟΥ 2017 ΑΕΠΠ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΤΕΣΣΕΡΕΙΣ (4)

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

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

Θεωρητικό Μέρος. 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); } }

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΡΩΤΗ ΠΡΟΟΔΟΣ ΣΤΗΝ «ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Y»

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

Αλγόριθμοι Γραφημάτων

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Πέµπτη 17/12/2015, 22:00

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

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ουρές Προτεραιότητας. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

Transcript:

Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα). 15% του συνολικού βαθμού στο μάθημα. 1. Σχεδιάστε το Β-δένδρο που προκύπτει αν εισάγουμε τα κλειδιά 4, 40, 23, 50, 11, 34, 62, 78, 66, 22, 90, 59, 25, 72, 64, 77, 39, 12 με αυτή τη σειρά σε ένα αρχικά κενό Β-δένδρο τάξεως 7. Μετά σχεδιάστε το Β-δένδρο που θα προκύψει αν διαγράψουμε όλα τα στοιχεία της ρίζας από το μικρότερο προς το μεγαλύτερο. (10+5=15 μονάδες) 2. Θεωρήστε τον κώδικα της Ενότητας 10 που υλοποιεί την δομή του B-δένδρου. Να προσθέσετε στον κώδικα μια συνάρτηση η οποία παίρνει σαν όρισμα ένα δείκτη στη ρίζα ενός Β-δένδρου και ένα φυσικό αριθμό k 0 και επιστρέφει το k-οστό μικρότερο στοιχείο του Β-δένδρου (έχουμε δώσει μια παρόμοια συνάρτηση select στον κώδικα της Ενότητας 9 για δυαδικά δένδρα αναζήτησης). Μετά να προσθέσετε στον κώδικα μια συνάρτηση η οποία παίρνει σαν όρισμα ένα δείκτη στη ρίζα ενός Β-δένδρου και ένα κλειδί a, και επιστρέφει το κλειδί που προηγείται του a στην φυσική διάταξη των κλειδιών του δένδρου. Να προσθέσετε κατάλληλο κώδικα στη main που θα ελέγχει την συμπεριφορά των συναρτήσεων που αναπτύξατε. (50+30=80 μονάδες) 3. Θεωρήστε ένα μη κατευθυνόμενο γράφο G = (V, E) με σύνολο κορυφών V = {0,1, 2,,9} και σύνολο ακμών Ε = {(3,7), (1,4), (7,8), (0,5), (5,2), (3,8), (2,9), (0,6), (4,9), (2,6), (6,4)}. Να σχεδιάσετε τον παραπάνω γράφο. Να δώσετε την ακολουθία κορυφών που προκύπτει αν διασχίσουμε το γράφο χρησιμοποιώντας τους αλγόριθμους DFS (με αναδρομική κλήση) και BFS από τις διαφάνειες της Ενότητας 13. Να

υποθέσετε ότι ο αλγόριθμος ξεκινάει από τον κόμβο 0 και η σειρά των ακμών στις λίστες γειτνίασης είναι αριθμητική. (5+5+5=15 μονάδες) 4. Θεωρήστε τον κώδικα της Ενότητας 13 για κατευθυνόμενους γράφους με χρήση λιστών γειτνίασης. Να τροποποιήσετε τον αλγόριθμο DFS ώστε να εκτυπώνει όλες τις ακμές (edges) που διασχίζει και να τις ταξινομεί σε tree, back, forward ή cross edges. 5. Θεωρήστε τον κατευθυνόμενο γράφο G = (V, E) με σύνολο κορυφών V = {0,1, 2,,12} και σύνολο ακμών Ε = { (2,3), (0,6), (0,1), (2,0), (11,12), (9,12), (9,10), (9,11), (3,5), (8,7), (5,4), (0,5), (6,4), (6,9), (7,6)}. Να σχεδιάσετε τον δοσμένο γράφο και να δώσετε μια τοπολογική ταξινόμηση του (topological sort). (5+10=15 μονάδες) 6. Θεωρήστε τον κατευθυνόμενο γράφο G = (V, E) με σύνολο κορυφών V = {0,1, 2,,12} και σύνολο ακμών Ε = { (0,1), (0,5), (0,6), (2,0), (2,3), (3,5), (3,2), (4,2), (4,3), (4,11), (5,4), (6,4), (6,9), (7,6), (7,8), (8,7), (8,9), (9,10), (9,11), (10,12), (11,12), (12,9) } Να σχεδιάσετε τον δοσμένο γράφο και να δώσετε τις ισχυρά συνεκτικές συνιστώσες του (strongly connected components). (5+10=15 μονάδες) 7. Να υλοποιήσετε τον αλγόριθμο υπολογισμού των ισχυρά συνεκτικών συνιστωσών ενός κατευθυνόμενου γράφου που δώσαμε στις διαφάνειες της Ενότητας 13 (Graphs). 8. Να υλοποιήσετε τον αλγόριθμο των Prim-Jarnik για τον υπολογισμό του ελάχιστου δέντρου επικάλυψης ενός δοσμένου μη-κατευθυνόμενου γράφου. 9. Να υπολογίσετε την υπολογιστική πολυπλοκότητα χειρίστης περίπτωσης του αλγόριθμου σας για το προηγούμενο ερώτημα (δηλ. θα υπολογίσετε Ο( ) με

παραμέτρους e τον αριθμό των ακμών και n τον αριθμό των κορυφών του γράφου). (15 μονάδες) 10. Θεωρήστε τον κώδικα της Ενότητας 13 για γράφους με χρήση λιστών γειτνίασης. Να προσθέστε μια συνάρτηση (κατά προτίμηση αναδρομική) η οποία παίρνει σαν είσοδο ένα γράφο και δύο κορυφές και επιστρέφει ένα απλό μονοπάτι που συνδέει αυτές τις κορυφές ή μας πληροφορεί ότι τέτοιο μονοπάτι δεν υπάρχει. Ένα μονοπάτι λέγεται απλό εάν όλες οι κορυφές και οι ακμές από τις οποίες αποτελείται είναι διαφορετικές μεταξύ τους. Γράψτε μια κατάλληλη main για την επίδειξη των δυνατοτήτων του προγράμματος σας. 11. Ένας τρόπος να ορίσουμε ένα συγκοινωνιακό δίκτυο (π.χ. το Μετρό της Αθήνας) είναι χρησιμοποιώντας ένα σύνολο ακολουθιών από κορυφές, όπου κάθε ακολουθία ορίζει ένα μονοπάτι που συνδέει τις κορυφές. Για παράδειγμα, ή ακολουθία 0-9-3-2 ορίζει τις ακμές 0-9, 9-3 και 3-2. Γράψτε ένα πρόγραμμα που θα φτιάχνει ένα γράφο συγκοινωνιών διαβάζοντας ένα αρχείο εισόδου που περιέχει μία ακολουθία σε κάθε γραμμή και χρησιμοποιεί συμβολικά ονόματα π.χ., Akropoli-Syntagma-Panepistmio. Δοκιμάστε το πρόγραμμά σας με είσοδο ένα αρχείο που κωδικοποιεί το Μετρό της Αθήνας. Μετά προσθέστε μια συνάρτηση η οποία παίρνει σαν είσοδο δύο κορυφές του γράφου (σταθμούς του Μετρό) και μας πληροφορεί πως θα πάμε από την πρώτη κορυφή στη δεύτερη. Γράψτε μια κατάλληλη main για την επίδειξη των δυνατοτήτων του προγράμματος σας. 12. Θεωρήστε τη μέθοδο του δυναμικού κατακερματισμού που παρουσιάζεται στις διαφάνειες της Ενότητας 11 και στο κεφάλαιο 14.5 του βιβλίου του Sedgewick. Να δώσετε τα περιεχόμενα του πίνακα κατακερματισμού που προκύπτει όταν εισάγουμε στοιχεία με κλειδιά E A S Y Q U T I O N με αυτή τη σειρά σε ένα αρχικά άδειο πίνακα. Το αρχικό μέγεθος του πίνακα είναι Μ = 4. Το μέγεθος διπλασιάζεται όταν ο πίνακας γεμίσει κατά το ήμισυ, και οι συγκρούσεις αντιμετωπίζονται με γραμμική διερεύνηση (linear probing). Χρησιμοποιείστε τη συνάρτηση κατακερματισμού 11k mod M για τη

μετατροπή του k-οστού γράμματος του αλφαβήτου στην αντίστοιχη θέση του πίνακα. (10 μονάδες) 13. Θεωρήστε τον κώδικα για τη μέθοδο του δυναμικού κατακερματισμού που παρουσιάζεται στις διαφάνειες της Ενότητας 11 και στο Πρόγραμμα 14.7 του βιβλίου του Sedgewick. Προσθέστε στο πρόγραμμα αυτό μια συνάρτηση delete η οποία διαγράφει ένα στοιχείο από τον πίνακα και τον υποδιπλασιάζει όταν φτάσει να είναι κατά τα 7/8 άδειος. Παρατηρήσεις: Οι λύσεις σας στα ερωτήματα που απαιτούν υλοποίηση πρέπει να είναι οργανωμένες σε modules της C όπως έχουμε συζητήσει στο μάθημα. Τα προγράμματα σας θα πρέπει να είναι όσο πιο καλά οργανωμένα γίνεται, σύμφωνα με όσα έχετε μάθει στο μάθημα «Εισαγωγή στον Προγραμματισμό». Τα προγράμματα σας πρέπει να «τρέχουν» στους υπολογιστές του Τμήματος με το λειτουργικό linux αφού μεταφραστούν με τον μεταγλωττιστή gcc. Πως να παραδώσετε τις λύσεις σας: Οι λύσεις θα πρέπει να σταλούν στο e-mail ddproj@di.uoa.gr μέχρι την προθεσμία παράδοσης και να είναι οργανωμένες ως εξής. Θα στείλετε ακριβώς ένα συμπιεσμένο αρχείο. Η λύση κάθε προβλήματος που απαιτεί υλοποίηση θα είναι σε χωριστό directory το οποίο θα περιλαμβάνει τα source files που χρειάζονται, και ένα Makefile το οποίο θα μπορεί να χρησιμοποιηθεί για να μεταγλωττιστούν τα αρχεία σας και να παραχθεί το αντίστοιχο executable. Θα πρέπει να υποβάλλετε και ένα αρχείο pdf στο οποίο θα περιέχονται οι απαντήσεις των θεωρητικών ερωτημάτων και το οποίο, για τα προγραμματιστικά ερωτήματα, θα περιέχει όσο documentation χρειάζεται ώστε οι βαθμολογητές να κατανοήσουν πλήρως τη λύση σας και να τη βαθμολογήσουν ανάλογα. Αυτό θα πρέπει να γίνει ανεξάρτητα με το αν είναι τα προγράμματα σας καλά σχολιασμένα, πράγμα που συνιστάται. Τέλος, το αρχείο pdf θα πρέπει

να ξεκινά με το όνομα σας γραμμένο με Ελληνικούς χαρακτήρες και τον αριθμό μητρώου σας. Καλή Επιτυχία!