ΗΥ240: Δοµές Δεδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος
|
|
- Σαμψών Γερμανός
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΗΥ240: Δοµές Δεδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος Ηµεροµηνία Παράδοσης: Δευτέρα, 14 Νοεµβρίου 2016, ώρα 23:59. Τρόπος Παράδοσης: Χρησιµοποιώντας το πρόγραµµα turnin. Πληροφορίες για το πώς λειτουργεί το turnin παρέχονται στην ιστοσελίδα του µαθήµατος. Γενική Περιγραφή Στην εργασία αυτή καλείστε να υλοποιήσετε ένα πρόγραµµα που προσοµοιώνει τη λειτουργία ενός ζωολογικού πάρκου. Το πάρκο αυτό αποτελείται από ένα σύνολο οικοσυστηµάτων τα οποία φιλοξενούν διάφορα είδη ζώων και είναι ανοιχτό προς τους επισκέπτες. Στο πάρκο απασχολούνται κάποιοι εργαζόµενοι στους οποίους έχει ανατεθεί η επιµέλεια κάποιων οικοσυστηµάτων και η φροντίδα των ζώων που αυτά φιλοξενούν. Αναλυτική Περιγραφή Ζητούµενης Υλοποίησης Στο ζωολογικό πάρκο κατοικούν διάφορα είδη ζώων τα οποία συνυπάρχουν οµαδοποιηµένα οικοσυστήµατα τα οποία τους επιτρέπουν να συµβιώνουν αρµονικά. Πληροφορίες για νέα ζώα που θα φιλοξενηθούν στο πάρκο αποθηκεύονται σε µια απλά συνδεµένη λίστα, η οποία είναι ταξινοµηµένη σε αύξουσα διάταξη µε βάση το αναγνωριστικό του κάθε ζώου. Η λίστα αυτή ονοµάζεται λίστα ζώων. Ο κάθε κόµβος της λίστας αυτής αποτελεί µια εγγραφή τύπου animal µε τα ακόλουθα πεδία: aid: Αναγνωριστικό (τύπου int) που χαρακτηρίζει µοναδικά το ζώο. eco_id: Αναγνωριστικό (τύπου int) που χαρακτηρίζει µοναδικά το οικοσύστηµα στο οποίο κατοικεί το ζώο σε 1
2 next: Δείκτης (τύπου animal) στον επόµενο κόµβο της λίστας ζώων. Στο Σχήµα 1 παρουσιάζεται η λίστα όλων των ζώων του ζωολογικού πάρκου. Σχήµα 1: H απλά συνδεµένη λίστα ζώων, η οποία είναι ταξινοµηµένη σε αύξουσα διάταξη µε βάση το αναγνωριστικό του κάθε ζώου. Για τη διαχείριση των οικοσυστηµάτων, θα δηµιουργήσετε έναν πίνακα σταθερού µεγέθους 50 θέσεων (όσα και τα οικοσυστήµατα του πάρκου), ο οποίος θα ονοµάζεται πίνακας οικοσυστηµάτων. Κάθε θέση του πίνακα αποτελεί µια εγγραφή τύπου ecosystem µε τα ακόλουθα πεδία: eco_id: Αναγνωριστικό (τύπου int) που χαρακτηρίζει µοναδικά το οικοσύστηµα. Το αναγνωριστικό αυτό αποτελεί επίσης το δείκτη στη θέση του πίνακα όπου είναι αποθηκευµένο το συγκεκριµένο οικοσύστηµα. Για παράδειγµα αν το πεδίου eco_id ενός κόµβου της λίστας ζώων έχει τιµή 5, αυτό σηµαίνει ότι το συγκεκριµένο ζώο κατοικεί στο οικοσύστηµα που βρίσκεται στη θέση 5 του πίνακα οικοσυστηµάτων. animal_count: Μετρητής (τύπου int) που αντικατοπτρίζει το πλήθος των ζώων που κατοικούν στο οικοσύστηµα. animals_list: Δείκτης (τύπου animal) στο πρώτο στοιχείο µιας απλά συνδεδεµένης λίστας, η οποία ονοµάζεται λίστα ζώων του οικοσυστήµατος. Η λίστα αυτή περιέχει κόµβους τύπου animal και είναι ταξινοµηµένη µε βάση το αναγνωριστικό των ζώων σε αύξουσα διάταξη. Στο Σχήµα 2 παρουσιάζεται ο πίνακας οικοσυστηµάτων, και η λίστα των ζώων που δεικτοδοτείται από κάθε στοιχείο του. Σχήµα 2: O πίνακας οικοσυστηµάτων, και η λίστα των ζώων που δεικτοδοτείται από κάθε στοιχείο του. Η λίστα ζώων του κάθε οικοσυστήµατος είναι ταξινοµηµένη µε βάση τα αναγνωριστικά των ζώων 2
3 Το πάρκο είναι ανοιχτό προς τους πολίτες και δεν είναι λίγοι αυτοί που το επισκέπτονται καθηµερινά. Για το σκοπό αυτό θα δηµιουργήσετε µια απλά συνδεδεµένη, µη-ταξινοµηµένη λίστα µε κόµβο φρουρό, η οποία ονοµάζεται λίστα επισκεπτών. Ο κάθε κόµβος της λίστας περιέχει µια εγγραφή τύπου visitor µε τα ακόλουθα πεδία: vid: Αναγνωριστικό (τύπου int) που χαρακτηρίζει µοναδικά τον επισκέπτη του πάρκου. last_visit: Πεδίο (τύπου int) που αντιστοιχεί στο έτος της τελευταίας επίσκεψής του στο πάρκο. visits: Μετρητής (τύπου int) που αντικατοπτρίζει τον αριθµό των επισκέψεων του επισκέπτη στο πάρκο. next: Δείκτης (τύπου visitor) στον επόµενο κόµβο της λίστας επισκεπτών. O κόµβος φρουρός της λίστας είναι ένας διαχειριστικός κόµβος για τον οποίο ισχύουν τα εξής: είναι και αυτός τύπου visitor µε την ιδιαιτερότητα ότι το αναγνωριστικό του (vid) και τα πεδία last_visit και visits έχουν τιµή -1 (δηλαδή δεν χρησιµοποιούνται). Το Σχήµα 3 απεικονίζει τη λίστα επισκεπτών. Σχήµα 3 Η απλά συνδεδεµένη, µη ταξινοµηµένη λίστα των επισκεπτών µε κόµβο φρουρό. Οι εργαζόµενοι στο ζωολογικό πάρκο είναι υπεύθυνοι για την επιµέλεια των οικοσυστηµάτων του. Για το σκοπό αυτό θα δηµιουργήσετε µια διπλά-συνδεδεµένη, κυκλική λίστα µε κόµβο φρουρό, η οποία ονοµάζεται λίστα εργαζοµένων (employee_list). Ο κάθε κόµβος της λίστας αυτής περιέχει µια εγγραφή τύπου employee µε τα ακόλουθα πεδία: eid: Αναγνωριστικό (τύπου int) που χαρακτηρίζει µοναδικά τον εργαζόµενο του πάρκου. eco_count: Μετρητής (τύπου int) που αντιστοιχεί στο πλήθος των οικοσυστηµάτων για τα οποία είναι υπεύθυνος ο εργαζόµενος. employee_ecos_list: Δείκτης (τύπου animal) στο πρώτο στοιχείο µιας απλά συνδεδεµένης, µη ταξινοµηµένης λίστας, η οποία ονοµάζεται λίστα οικοσυστηµάτων του εργαζοµένου. Ο κάθε κόµβος της λίστας περιέχει εγγραφές τύπου employee_eco µε τα ακόλουθα πεδία: o eco_id: Αναγνωριστικό (τύπου int) που χαρακτηρίζει µοναδικά το οικοσύστηµα. o next: Δείκτης (τύπου employee_eco) στον επόµενο κόµβο της λίστας οικοσυστηµάτων του εργαζοµένου. next: Δείκτης (τύπου employee) στον επόµενο κόµβο της λίστας εργαζοµένων. prev: Δείκτης (τύπου employee) στον προηγούµενο κόµβο της λίστας εργαζοµένων. O κόµβος φρουρός της λίστας είναι ένας διαχειριστικός κόµβος για τον οποίο ισχύουν τα εξής: είναι και αυτός τύπου employee µε την ιδιαιτερότητα ότι το αναγνωριστικό του, eid, και το πεδίο eco_count έχουν τιµή -1, ενώ ο δείκτης employee_ecos_list έχει τιµή NULL. (δηλαδή δεν χρησιµοποιούνται). Επιπλέον ο δείκτης next του κόµβου φρουρού δείχνει στον πρώτο κόµβο της λίστας και το πεδίο prev του πρώτου κόµβου δείχνει στον κόµβο φρουρό ώστε η λίστα να παραµένει κυκλική..στο Σχήµα 4 παρουσιάζεται η λίστα εργαζοµένων. 3
4 Σχήµα 4 Η λίστα εργαζοµένων του ζωολογικού πάρκου. Ο κάθε κόµβος (εργαζόµενος) περιέχει µια απλά συνδεδεµένη, µη ταξινοµηµένη λίστα οικοσυστηµάτων για τα οποία είναι υπεύθυνος ο εργαζόµενος. 4
5 Τρόπος Λειτουργίας Προγράµµατος Το πρόγραµµα που θα δηµιουργηθεί θα πρέπει να εκτελείται καλώντας την ακόλουθη εντολή: <executable> <input-file> όπου <executable> είναι το όνοµα του εκτελέσιµου αρχείου του προγράµµατος (π.χ. a.out) και <input-file> είναι το όνοµα ενός αρχείου εισόδου (π.χ. testfile) το οποίο περιέχει γεγονότα των ακόλουθων µορφών: L <aid> <eco_id> Γεγονός που υποδηλώνει ότι το ζώο µε αναγνωριστικό aid θα φιλοξενηθεί στο ζωολογικό πάρκο και πιο συγκεκριµένα στο οικοσύστηµα µε αναγνωριστικό <eco_id>. Κατά το γεγονός αυτό θα γίνεται εισαγωγή ενός νέου κόµβου τύπου animal στη λίστα ζώων. Μετά από κάθε εισαγωγή, η λίστα ζώων πρέπει να παραµένει ταξινοµηµένη. Μετά το πέρας της εκτέλεσης ενός τέτοιου γεγονότος το πρόγραµµα θα πρέπει να τυπώνει την ακόλουθη L <aid> <eco_id> Animals = <aid 1 >, <aid 2 >,..., <aid n > όπου n είναι ο αριθµός των κόµβων στη λίστα ζώων και για κάθε i {1,, n}, <aid i > είναι το αναγνωριστικό του ζώου που αντιστοιχεί στον i-οστό κόµβο της λίστας αυτής. D Γεγονός τύπου distribute animals το οποίο σηµατοδοτεί τον διαχωρισµό των ζώων στα οικοσυστήµατα στα οποία ζουν µέσα στο ζωολογικό πάρκο. Μετά την εκτέλεση του γεγονότος αυτού, η λίστα των ζώων είναι κενή. Κατά το γεγονός αυτό πρέπει να κατανεµηθούν όλα τα ζώα της λίστας ζώων στον πίνακα οικοσυστηµάτων του ζωολογικού πάρκου. Αυτό µπορεί να γίνει εξετάζοντας το πεδίο eco_id του κάθε κόµβου της λίστας ζώων και στη συνέχεια να γίνεται εισαγωγή του κάθε ζώου στη αντίστοιχη λίστα του οικοσυστήµατος στο οποίο ανήκει. Για παράδειγµα αν το πεδίου eco_id ενός κόµβου της λίστας ζώων έχει τιµή 5, το συγκεκριµένο ζώο θα τοποθετηθεί στο οικοσύστηµα που βρίσκεται στη θέση 5 του πίνακα οικοσυστηµάτων. Επιπλέον µετά από κάθε εισαγωγή η λίστα ζώων του οικοσυστήµατος πρέπει να είναι ταξινοµηµένη µε βάση το αναγνωριστικό των ζώων. Η διαδικασία αυτή θα πρέπει να εκτελείται σε χρόνο Ο(n), όπου n είναι ο αριθµός των ζώων που περιέχονται στη λίστα ζώων. Στο τέλος αυτής της διαδικασίας, όλα τα ζώα της λίστας ζώων πρέπει να έχουν διαµοιραστεί στα οικοσυστήµατα του πάρκου. D ECOSYSTEMS: <ecosystem 1 >: <aid 1,1 >... <aid 1,n1 > <ecosystem 2 >: <aid 2,1 >... <aid 2,n2 >... <ecosystem 50 >: <aid 50,1 >... <aid 50,n20 > όπου για κάθε i, 1 i 50, n i είναι το µέγεθος της λίστας ζώων του i-οστού οικοσυστήµατος του πίνακα 5
6 οικοσυστηµάτων, και για κάθε j, 1 j n i, και <aid i,j > είναι το αναγνωριστικό του j-οστού κόµβου στη λίστα ζώων του i-οστού οικοσυστήµατος. V <vid> <year> Γεγονός τύπου visit το οποίο σηµατοδοτεί την επίσκεψη ενός επισκέπτη µε αναγνωριστικό <vid> στο ζωολογικό πάρκο το έτος <year>. Κατά το γεγονός αυτό αρχικά θα πρέπει να γίνεται αναζήτηση του επισκέπτη µε αναγνωριστικό vid στη λίστα επισκεπτών. Αν αυτός βρεθεί τότε πρέπει να γίνει ανανέωση του πεδίου last_visit µε την τιµή <year> και να αυξηθεί ο µετρητής visits. Αν δεν βρεθεί κόµβος µε αναγνωριστικό <vid> στη λίστα, τότε πρέπει να εισάγετε έναν νέο κόµβο µε αυτό το αναγνωριστικό στη λίστα. Τα πεδία last_visit και visits του νέου κόµβου θα πρέπει να έχουν τιµές <year> και 1, αντίστοιχα. Μετά το πέρας της εκτέλεσης ενός τέτοιου γεγονότος, το πρόγραµµα θα πρέπει να τυπώνει την ακόλουθη V <vid> <year> Visitors = <vid 1 : visits 1 : last_visit 1 >,..., <vid n : visits n : last_visit n > όπου n είναι ο αριθµός των κόµβων στη λίστα επισκεπτών και για κάθε i {1,, n}, <vid i > είναι το αναγνωριστικό του επισκέπτη που αντιστοιχεί στον i-οστό κόµβο της λίστας αυτής, ενώ <visits i > και <last_visit i > είναι ο αριθµός των επισκέψεων του επισκέπτη µε αναγνωριστικό <vid i > στο πάρκο και η χρονολογία της τελευταίας του επίσκεψης, αντίστοιχα. O <years_interval> Γεγονός τύπου delete old visitors το οποίο σηµατοδοτεί τη διαγραφή των επισκεπτών από τη λίστα επισκεπτών για τους οποίους ισχύει ότι η τελευταία επίσκεψή τους στο πάρκο είχε πραγµατοποιηθεί πριν από περισσότερα των <years_interval> έτη. Για να υπολογίσετε πόσα χρόνια έχουν περάσει από την τελευταία επίσκεψη αρκεί να γίνει η αφαίρεση από το τρέχον έτος (2016) του έτους της τελευταίας επίσκεψης του επισκέπτη (πεδίο last_visit). Ο συνολικός χρόνος για να πραγµατοποιηθούν όλες οι διαγραφές που απαιτεί το γεγονότος αυτό πρέπει να είναι Ο(n), όπου n ο αριθµός των κόµβων της λίστας επισκεπτών. O <years_interval> Visitors = <vid 1 : visits 1 : last_visit 1 >,..., <vid n : visits n : last_visit n > όπου n είναι ο αριθµός των κόµβων στη λίστα επισκεπτών και για κάθε i {1,, n}, <vid i >, <visits i > και <last_visit i > είναι το αναγνωριστικό, ο αριθµός και η χρονολογία της τελευταίας επίσκεψης αντίστοιχα του επισκέπτη που αντιστοιχεί στον i-οστό κόµβο της λίστας αυτής. H <eid> 6
7 Γεγονός τύπου hire employee το οποίο σηµατοδοτεί την πρόσληψη ενός νέου εργαζόµενου στο πάρκο. Ο εργαζόµενος αρχικά έχει κενή λίστα οικοσυστηµάτων για τα οποία είναι υπεύθυνος και συνεπώς o αντίστοιχος µετρητής (eco_count) έχει τιµή 0. Η εισαγωγή του εργαζοµένου στη λίστα πρέπει να πραγµατοποιείται σε χρόνο Ο(1). Η <eid> EMPLOYEES: <eid 1 >, <eid 2 >... <eid n > όπου n είναι το µέγεθος της λίστας εργαζοµένων και για κάθε i, 1 i n, <eid i > είναι το αναγνωριστικό του i-οστού εργαζοµένου. A <eid> <eco_id> Γεγονός τύπου assign ecosystem σε εργαζόµενο το οποίο σηµατοδοτεί την ανάθεση του οικοσυστήµατος µε αναγνωριστικό <eco_id> στον εργαζόµενο µε αναγνωριστικό <eid>. Το οικοσύστηµα µε αναγνωριστικό <eco_id> προστίθεται στη λίστα των οικοσυστηµάτων για τα οποία ο συγκεκριµένος εργαζόµενος είναι υπεύθυνος. Η εισαγωγή θα πρέπει να πραγµατοποιείται σε χρόνο Ο(n), όπου n είναι το µέγεθος της λίστας εργαζοµένων (είναι ανεξάρτητο από το µέγεθος της λίστας οικοσυστηµάτων του εκάστοτε εργαζοµένου). A <eid> <eco_id> EMPLOYEES: <employee 1 : eco_count 1 >: <eco_id 1,1 >... eco_id 1,n1 > <employee 2 : eco_count 2 >: <eco_id 2,1 >... <eco_id 2,n2 >... <employee k : eco_count k >: <eco_id k,1 >... <eco_id k,nk > όπου k είναι το µέγεθος της λίστας εργαζοµένων, για κάθε i, 1 i k, n i είναι το µέγεθος της λίστας οικοσυστηµάτων του i-οστού εργαζοµένου και για κάθε j, 1 j n i, και <eco_id i,j > είναι το αναγνωριστικό του i-οστού οικοσυστήµατος του j-οστού εργαζοµένου. R <eid> Γεγονός τύπου retirement εργαζοµένου το οποίο σηµατοδοτεί τη συνταξιοδότηση του εργαζοµένου µε αναγνωριστικό <eid>. Κατά το γεγονός αυτό πρέπει να διαγράψετε από τη λίστα εργαζοµένων τον κόµβο που αντιστοιχεί στον συγκεκριµένο εργαζόµενο. Τα οικοσυστήµατα για τα οποία είναι υπεύθυνος ο εργαζόµενος πρέπει να ανατεθούν σε άλλους εργαζοµένους ώστε να συνεχιστεί η οµαλή λειτουργία του πάρκου. Πιο συγκεκριµένα αυτά θα ανατίθενται στους εργαζόµενους που βρίσκονται στις τρεις επόµενες και στις τρεις προηγούµενες θέσεις της λίστας εργαζοµένων σε σχέση µε αυτόν που συνταξιοδοτείται. Για 7
8 να το πετύχετε αυτό αρχικά πρέπει να διαιρέσετε τον αριθµό των οικοσυστηµάτων που είναι υπεύθυνος ο εργαζόµενος που συνταξιοδοτείται µε το εξι (6), αφού τα οικοσυστήµατα του θα διανεµηθούν σε 6 άλλους εργαζόµενους (τρείς προηγούµενους και τρείς επόµενους). Το αποτέλεσµα αυτής της πράξης αποτελεί τον αριθµό των οικοσυστηµάτων που πρέπει να προστεθούν στη λίστα οικοσυστηµάτων του κάθε εργαζοµένου που θα αναλάβει µέρος των υποχρεώσεων αυτού που συνταξιοδοτείται. Η ανάθεση γίνεται µε τη σειρά που βρίσκονται στη λίστα οικοσυστηµάτων του εργαζοµένου που αποχωρεί ξεκινώντας απ τον τρίτο προηγούµενο εργαζόµενου µέχρι τον τρίτο επόµενο στη λίστα εργαζοµένων. Για παράδειγµα αν ο εργαζόµενος που βγαίνει στη σύνταξη είναι υπεύθυνος για 12 οικοσυστήµατα µε αναγνωριστικά 1,2,, 12, τότε ο τρίτος προηγούµενος εργαζόµενος θα αναλάβει τα οικοσυστήµατα 1,2, ο δεύτερος προηγούµενος τα οικοσυστήµατα 3,4 κ.ο.κ. µέχρι να φτάσετε στον τρίτο επόµενο εργαζόµενο, ο οποίος θα αναλάβει τα οικοσυστήµατα µε αναγνωριστικά 11, 12. Στην περίπτωση που το αποτέλεσµα της διαίρεσης δεν είναι ακέραιος αριθµός (αλλά είναι µεγαλύτερος από ένα) τότε θα πρέπει να αναθέσετε στους ενεργούς εργαζοµένους επιπλέον οικοσυστήµατα όσα το ακέραιο µέρος της διαίρεσης. Εξαίρεση αποτελεί ο τελευταίος εργαζόµενος (ο τρίτος επόµενος του εργαζόµενου που συνταξιοδοτείται) ο οποίος θα λάβει όσα οικοσυστήµατα έχουν περισσέψει απ τις προηγούµενες αναθέσεις. Για παράδειγµα αν ο εργαζόµενος που βγαίνει στη σύνταξη είναι υπεύθυνος για 7 οικοσυστήµατα µε αναγνωριστικά 1,2,, 7, τότε ο τρίτος προηγούµενος εργαζόµενος θα αναλάβει το οικοσύστηµα 1, ο δεύτερος προηγούµενος το οικοσύστηµα 2 κ.ο.κ. µέχρι να φτάσετε στον τρίτο επόµενο εργαζόµενο, ο οποίος θα αναλάβει τα οικοσυστήµατα µε αναγνωριστικά 6, 7. Στην περίπτωση που το αποτέλεσµα της διαίρεσης είναι µικρότερο από το ένα τότε δεν θα λάβουν όλοι οι επόµενοι και προηγούµενοι εργαζόµενοι επιπλέον οικοσυστήµατα. Ξεκινώντας απ τον τρίτο προηγούµενο εργαζόµενο θα προστέθετε ένα οικοσύστηµα και θα προχωράτε στον επόµενο εργαζόµενο της λίστας µέχρι να έχετε αναθέσει όλα τα οικοσυστήµατα που εργαζοµένου που αποχωρεί στους υπόλοιπους εργαζοµένους σύµφωνα µε την παραπάνω περιγραφή. Για παράδειγµα αν ο εργαζόµενος που βγαίνει στη σύνταξη είναι υπεύθυνος για 2 οικοσυστήµατα µε αναγνωριστικά 1, 2, τότε ο τρίτος προηγούµενος εργαζόµενος θα αναλάβει το οικοσύστηµα 1 και ο δεύτερος προηγούµενος το οικοσύστηµα 2. Οι επόµενοι εργαζόµενοι της λίστας δεν λάβουν κανένα επιπλέον οικοσύστηµα. Σηµείωση: Δεν χρειάζεται να ελέγχετε αν οι εργαζόµενοι είναι περισσότεροι από 6 καθώς στα test files που θα σας δοθούν εξασφαλίζεται ότι οι «ενεργοί» εργαζόµενοι είναι περισσότεροι από 6. 8
9 R <eid> EMPLOYEES: <employee 1 : eco_count 1 >: <eco_id 1,1 >... eco_id 1,n1 > <employee 2 : eco_count 2 >: <eco_id 2,1 >... <eco_id 2,n2 >... <employee k : eco_count k >: <eco_id k,1 >... <eco_id k,nk > όπου k είναι το µέγεθος της λίστας εργαζοµένων, για κάθε i, 1 i k, n i είναι το µέγεθος της λίστας οικοσυστηµάτων του i-οστού εργαζοµένου και για κάθε j, 1 j n i, και <eco_id i,j > είναι το αναγνωριστικό του i-οστού οικοσυστήµατος του j-οστού εργαζοµένου. G Γεγονός τύπου gold visitors κατά το οποίο υπολογίζονται και τυπώνονται οι πέντε (5) πιο συχνοί επισκέπτες του πάρκου εξετάζοντας το πεδίο visits των κόµβων της λίστας επισκεπτών. Για το σκοπό αυτό θα χρησιµοποιήσετε έναν βοηθητικό πίνακα 5 θέσεων στον οποίο θα αποθηκεύονται δείκτες προς τους κόµβους της λίστας επισκεπτών. Πιο συγκεκριµένα θα εφαρµόσετε τις εξής ενέργειες: i. Ο βοηθητικός πίνακας αρχικοποιείται µε τους 5 πρώτους εργαζοµένους της λίστας εργαζοµένων. ii. Καθώς εκτελείται η διάσχιση της λίστας εργαζοµένων, για κάθε κόµβο που επισκέπτεστε, εξετάζετε αν ο µετρητής visits έχει τιµή µεγαλύτερη από τον εργαζόµενο µε τις λιγότερες επισκέψεις στον βοηθητικό πίνακα. Αν συµβαίνει αυτό, τότε αντικαθιστούµε τον εργαζόµενο αυτό στον πίνακα µε τον τρέχον κόµβο της λίστας. Στην συνέχεια, θα πρέπει να υπολογίζετε εκ νέου ποιος είναι ο επισκέπτης µε τις λιγότερες επισκέψεις στον πίνακα και να επαναλαµβάνετε. iii. Μετά το τέλος της διάσχισης της λίστας εργαζοµένων, ο βοηθητικός πίνακας θα περιέχει δείκτες στους κόµβους της λίστας που αντιστοιχούν στους 5 πιο συχνούς επισκέπτες του πάρκου. G Gold Visitors = <vid 1 : visits 1 : last_visit 1 >,..., <vid 5 : visits 5 : last_visit 5 > και για κάθε i {1,, 5}, <vid i >, <visits i > και <last_visit i > είναι το αναγνωριστικό, ο αριθµός των επισκλεψεων και η χρονολογία της τελευταίας επίσκεψης αντίστοιχα του επισκέπτη που αντιστοιχεί στην i-οστή θέση του βοηθητικού πίνακα. X Γεγονός τύπου print ecosystems το οποίο σηµατοδοτεί την εκτύπωση όλων των οικοσυστηµάτων του πίνακα οικοσυστηµάτων. Για το κάθε οικοσύστηµα θα πρέπει να εκτυπώνονται όλα τα στοιχεία του, συµπεριλαµβανοµένων της λίστας ζώων που κατοικούν σ αυτό. Μετά το πέρας της εκτέλεσης ενός τέτοιου γεγονότος το πρόγραµµα θα πρέπει να τυπώνει την ακόλουθη 9
10 X ECOSYSTEMS: <ecosystem 1 : animal_count 1 >: <aid 1,1 >... <aid 1,n1 > <ecosystem 2 : animal_count 2 >: <aid 2,1 >... <aid 2,n2 >... <ecosystem 50 : animal_count 50 >: <aid 50,1 >... <aid 50,n50 > όπου για κάθε i, 1 i 50, n i είναι το µέγεθος της λίστας ζώων του i-οστού οικοσυστήµατος του πίνακα οικοσυστηµάτων, και για κάθε j, 1 j n i, και <aid i,j > είναι το αναγνωριστικό του j-οστού κόµβου στη λίστα ζώων του i-οστού οικοσυστήµατος. Y Γεγονός τύπου print visitors το οποίο σηµατοδοτεί εκτύπωση όλων των επισκεπτών της λίστας επισκεπτών. Υ Visitors = <vid 1 : visits 1 : last_visit 1 >..., <vid n : visits n : last_visit n > όπου n είναι ο αριθµός των κόµβων στη λίστα επισκεπτών και για κάθε i {1,, n}, <vid i > είναι το αναγνωριστικό του επισκέπτη που αντιστοιχεί στον i-οστό κόµβο της λίστας αυτής. Z Γεγονός τύπου print employees το οποίο σηµατοδοτεί εκτύπωση όλων των κόµβων της λίστας εργαζοµένων. Για τον κάθε εργαζόµενο θα πρέπει να εκτυπώνονται όλα τα στοιχεία του, συµπεριλαµβανοµένων της λίστας οικοσυστηµάτων για τα οποία αυτός είναι υπεύθυνος. Μετά το πέρας της εκτέλεσης ενός τέτοιου γεγονότος το πρόγραµµα θα πρέπει να τυπώνει την ακόλουθη Z EMPLOYEES: <employee 1 : eco_count 1 >: <eco_id 1,1 >... eco_id 1,n1 > <employee 2 : eco_count 2 >: <eco_id 2,1 >... <eco_id 2,n2 >... <employee k : eco_count k >: <eco_id k,1 >... <eco_id k,nk > όπου k είναι το µέγεθος της λίστας εργαζοµένων, για κάθε i, 1 i k, n i είναι το µέγεθος της λίστας οικοσυστηµάτων του i-οστού εργαζοµένου και για κάθε j, 1 j n i, <eco_id i,j > είναι το αναγνωριστικό του i-οστού οικοσυστήµατος του j-οστού εργαζοµένου. 10
11 Δοµές Δεδοµένων Στην υλοποίησή σας δεν επιτρέπεται να χρησιµοποιήσετε έτοιµες δοµές δεδοµένων (πχ., ArrayList) είτε η υλοποίηση πραγµατοποιηθεί στη C είτε στη Java. Στη συνέχεια παρουσιάζονται οι δοµές σε C που πρέπει να χρησιµοποιηθούν για την υλοποίηση της παρούσας εργασίας. struct animal { int aid; int eco_id; struct animal *next; }; struct ecosystem { int eco_id; int animal_count; struct animal * animals_list; }; struct visitor { int vid; int last_visit; int visits; struct visitor * next; }; struct employee_eco { int eco_id; struct employee_eco * next; }; struct employee { int eid; int eco_count; struct employee_eco * employee_ecos_list; struct employee * prev; struct employee * next; }; 11
12 /*The array of the park s ecosystems */ struct ecosystem ecosystems_array [50]; /* global variable, pointer to the beginning of the animals list*/ struct animal * animals_list; /* global variable, pointer to the beginning of the visitors list*/ struct visitor * visitors_list; /* global variable, pointer to the sentinel node of the users list */ struct employee * employees_sentinel; 12
ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος
ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2016-2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 19 Δεκεμβρίου 2016, ώρα 23:59. Τρόπος
Διαβάστε περισσότεραΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2016 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος
ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2016 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος Ηµεροµηνία Παράδοσης: Κυριακή, 3 Απριλίου 2016, ώρα 23:59. Τρόπος Παράδοσης:
Διαβάστε περισσότεραΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος
ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος Ηµεροµηνία Παράδοσης: Δευτέρα, 3 Απριλίου 2017, ώρα 23:59. Τρόπος Παράδοσης:
Διαβάστε περισσότεραΠρογραμματιστική Εργασία Μέρος Β. Δρακωνάκης Κώστας Παπαϊωάννου Αντώνης
Προγραμματιστική Εργασία Μέρος Β Δρακωνάκης Κώστας Παπαϊωάννου Αντώνης Διαδικαστικά Παράδοση: Σάββατο, 19 Δεκεμβρίου 2016, ώρα 23:59 Compile & run σε μηχανήματα της σχολής Μέρος της βαθμολογίας Τρόπος
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος
ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος Ημερομηνία Παράδοσης: Κυριακή, 1 Απριλίου 2018, ώρα 23:59 Τρόπος Παράδοσης:
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος
ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 15 Μαΐου 2017, ώρα 23:59. Τρόπος Παράδοσης:
Διαβάστε περισσότεραΗΥ240: Δοµές Δεδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος
ΗΥ240: Δοµές Δεδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2017-2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος Ηµεροµηνία Παράδοσης: Δευτέρα, 20 Νοεµβρίου 2017, ώρα 23:59. Τρόπος
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος
ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018-2019 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 1 Απριλίου 2019, ώρα 23:59 Τρόπος Παράδοσης:
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος
ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 14 Μαΐου 2018, ώρα 23:59 Τρόπος Παράδοσης: Χρησιμοποιώντας
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών, 4 Μαρτίου 2019 ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018-2019 Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 13 Μαϊου
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος
ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2017-2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος Ημερομηνία Παράδοσης: Παρασκευή, 22 Δεκεμβρίου 2017, ώρα 23:59. Τρόπος
Διαβάστε περισσότεραΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 2 ο Μέρος
ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2014-15 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 2 ο Μέρος Ηµεροµηνία Παράδοσης: Κυριακή, 18 Μαΐου 2015, ώρα 23:59. Τρόπος Παράδοσης:
Διαβάστε περισσότεραΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:
Διαβάστε περισσότεραΠρογραµµατιστική Εργασία 1 ο Μέρος
ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2013-14 ιδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 1 ο Μέρος Ηµεροµηνία Παράδοσης: Παρασκευή, 29 Νοεµβρίου 2013, ώρα 23:59. Τρόπος Παράδοσης:
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2016 Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 2 ο Μέρος
ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2016 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία 2 ο Μέρος Ημερομηνία Παράδοσης: Κυριακή, 15 Μαίου 2016, ώρα 23:59. Τρόπος Παράδοσης: Χρησιμοποιώντας
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος
ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2014-15 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2 ο Μέρος Ημερομηνία Παράδοσης: Παρασκευή, 19 Δεκεμβρίου 2014, ώρα 23:59. Τρόπος
Διαβάστε περισσότεραhttps://csd.uoc.gr/~hy240b/current/submit.php
Project HY240b - 1η Φάση Διδάσκουσα: Παναγιώτα Φατούρου Βοηθός: Νικόλαος Μπατσαράς Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Ηράκλειο, 09 Μαρτίου 2018 Εισαγωγή Διαδικαστικά Θεματολογία Δομές Χρηστών
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 1 ο Μέρος
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών 12 Οκτωβρίου 2012 ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2011-12 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία 1 ο Μέρος Ημερομηνία
Διαβάστε περισσότεραΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 1 ο Μέρος
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 15 Οκτωβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 1 ο Μέρος Ηµεροµηνία Παράδοσης:
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος
ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2018-2019 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Παρασκευή, 21 Δεκεμβρίου 2018, ώρα 23:59 Τρόπος
Διαβάστε περισσότεραΠρογραµµατιστική Εργασία 1 ο Μέρος
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 4 Νοεµβρίου 2011 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2011-12 ιδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 1 ο Μέρος Ηµεροµηνία
Διαβάστε περισσότεραHY-486 Αρχές Κατανεμημένου Υπολογισμού
HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Πρώτη Προγραμματιστική Εργασία Προθεσμία παράδοσης: Τρίτη 2/5 στις 23:59. 1. Γενική Περιγραφή Στην πρώτη προγραμματιστική εργασία καλείστε
Διαβάστε περισσότεραΠρογραµµατιστική Εργασία - 2 ο Μέρος
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 1 εκεµβρίου 2011 ΗΥ240: οµές εδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2011-12 ιδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 2 ο Μέρος Ηµεροµηνία
Διαβάστε περισσότεραΠρογραµµατιστική Εργασία 2 ο Μέρος
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 20 Νοεµβρίου 2012 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2011-12 ιδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 2 ο Μέρος Ηµεροµηνία
Διαβάστε περισσότεραMy Instagram Παρουσίαση Α Μέρους Προγραμματιστικής Εργασίας
My Instagram Παρουσίαση Α Μέρους Προγραμματιστικής Εργασίας ΗΥ-240 Χειμερινό Εξάμηνο 2013 Διδάσκουσα: Παναγιώτα Φατούρου This presentation by Foivos S. Zakkak is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike
Διαβάστε περισσότεραΘεωρητικό Μέρος. 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); } }
Πανεπιστήµιο Ιωαννίνων, Τµήµα Πληροφορικής 2 Νοεµβρίου 2005 Η/Υ 432: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκού Έτους 2005-2006 Παναγιώτα Φατούρου Ηµεροµηνία Παράδοσης 1 ο Σετ Ασκήσεων Θεωρητικό Μέρος:
Διαβάστε περισσότεραΠρογραμματιστική Εργασία
ΗΥ-240 ο%ές εδο%ένων Προγραμματιστική Εργασία Αντώνης Πα)αϊωάννου Μέρος A Διαδικάστικά Παράδοση: Σάββατο, 14 Νοεμβρίου 2016, ώρα 23:59. Compile και run σε μηχανήματα της σχολής Μέρος της βαθμολογίας Τρόπος
Διαβάστε περισσότεραProject HY240a - 1η Φάση Διδάσκουσα: Παναγιώτα Φατούρου Βοηθός: Νικόλαος Μπατσαράς Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Ηράκλειο, 24 Οκτωβρίου 2018 Διαδικαστικά Θεματολογία Δομές Μεγάλου Αλεξάνδρου
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 2 ο Μέρος
ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2013-14 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία 2 ο Μέρος Ημερομηνία Παράδοσης: Τετάρτη, 15 Ιανουαρίου 2014, ώρα 23:59. Τρόπος Παράδοσης:
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 1 ο Μέρος
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών 12 Οκτωβρίου 2009 ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2009-10 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία 1 ο Μέρος Ημερομηνία
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 15: Διασυνδεμένες Δομές - Λίστες Διασυνδεδεμένες δομές δεδομένων Η μνήμη ενός πίνακα δεσμεύεται συνεχόμενα. Η πρόσβαση στο i-οστό στοιχείο είναι άμεση καθώς η διεύθυνση
Διαβάστε περισσότεραHY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος
HY240 : Δομές Δεδομένων Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος Εισαγωγή Στο 2 ο μέρος της εργασίας θα πρέπει να γίνουν τροποποιήσεις στο πρόγραμμα που προέκυψε κατά την υλοποίηση του
Διαβάστε περισσότεραΔιασυνδεδεμένες Δομές. Λίστες. Προγραμματισμός II 1
Διασυνδεδεμένες Δομές Λίστες Προγραμματισμός II 1 lalis@inf.uth.gr Διασυνδεδεμένες δομές Η μνήμη ενός πίνακα δεσμεύεται συνεχόμενα η πρόσβαση στο i-οστό στοιχείο είναι άμεση καθώς η διεύθυνση του είναι
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος
ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2018-2019 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 1o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 19 Νοεμβρίου 2018, ώρα 23:59 Τρόπος
Διαβάστε περισσότεραδιεύθυνση πρώτου στοιχείου διεύθυνση i-οστού στοιχείου T t[n]; &t[0] είναι t &t[i] είναι t + i*sizeof(t)
Προγραµµατισµός Ι (ΗΥ120) ιάλεξη 18: ιασυνδεµένες οµές - Λίστες ιασυνδεδεµένες δοµές δεδοµένων Η µνήµη ενός πίνακα δεσµεύεται συνεχόµενα. Η πρόσβαση στο i-οστό στοιχείο είναι άµεσηκαθώς η διεύθυνση του
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2009-10 Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 2 ο και 3 ο Μέρος
ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 09- Παναγιώτα Φατούρου Προγραμματιστική Εργασία 2 ο και ο Μέρος Ημερομηνία Παράδοσης: Παρασκευή, 18 Δεκεμβρίου 09, ώρα 08:00 (το πρωί) Τρόπος Παράδοσης:
Διαβάστε περισσότεραΕνότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις
Ενότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις Άσκηση 1 Έστω ότι µια βιβλιοθήκη σας παρέχει πρόσβαση σε στοίβες ακεραίων. Η βιβλιοθήκη σας επιτρέπει να ορίσετε µια στοίβα και να καλέσετε τις 5 βασικές
Διαβάστε περισσότεραΠρογραµµατισµός Ι (ΗΥ120)
Προγραµµατισµός Ι (ΗΥ120) Διάλεξη 15: Διασυνδεµένες Δοµές - Λίστες Δοµές δεδοµένων! Ένα τυπικό πρόγραµµα επεξεργάζεται δεδοµένα Πώς θα τα διατάξουµε? 2 Τι λειτουργίες θέλουµε να εκτελέσουµε? Πώς θα υλοποιήσουµε
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη
Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΔιάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:
Διαβάστε περισσότεραΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία
ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2015-2016 Δεύτερη Προγραμματιστική Εργασία Γενική περιγραφή Στη δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε ένα διομότιμο σύστημα (Peer-to-
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 2 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις Άσκηση 1 Έστω ότι µια
Διαβάστε περισσότεραΔιάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 0: Λίστες ΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες
Διαβάστε περισσότεραΔιάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες
Διαβάστε περισσότεραSanta Claus Παρουσίαση Α Μέρους Προγραμματιστικής Εργασίας
Santa Claus Παρουσίαση Α Μέρους Προγραμματιστικής Εργασίας ΗΥ-240 Χειμερινό Εξάμηνο 2015 Διδάσκουσα: Παναγιώτα Φατούρου Παρουσίαση: Βασίλειος Θεοδοσιάδης (vtheodos@ics.forth.gr) Πέμπτη, 29 Οκτωβρίου 2015
Διαβάστε περισσότεραΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00
ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2011-2012 Προθεσµία: 8/1/12, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης Οδηγίες αποστολής άσκησης Πριν ξεκινήσετε (ΔΙΑΒΑΣΤΕ
Διαβάστε περισσότεραΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο)
ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο) Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου http://www.cs.ucy.ac.cy/courses/epl232 Το μάθημα αυτό
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Λίστες Λίστες - Απλά Συνδεδεμένες Λίστες - Διπλά Συνδεδεμένες Λίστες Είδη Γραμμικών Λιστών Σειριακή Λίστα Καταλαμβάνει συνεχόμενες θέσεις κύριας μνήμης Συνδεδεμένη Λίστα Οι κόμβοι βρίσκονται σε απομακρυσμένες
Διαβάστε περισσότεραΠληροφορική 2. Δομές δεδομένων και αρχείων
Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες
Διαβάστε περισσότεραΔιάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 22: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης - Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου
Διαβάστε περισσότεραHY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο
HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2017-2018 Πρώτη Προγραμματιστική Εργασία Προθεσμία παράδοσης: Δευτέρα 30/4 στις 23:59. 1. Γενική Περιγραφή Στην πρώτη προγραμματιστική εργασία καλείστε
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών Ακαδηµαϊκό έτος 2010 2011, Χειµερινό εξάµηνο Ασκήσεις Επανάληψης Ενδιάµεσης
Διαβάστε περισσότεραΔομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής
Ενότητα 5: Δείκτες και Δυναμική Δέσμευση- Αποδέσμευση Μνήμης στη C/ Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με δείκτες /Ένα πακέτο για τον ΑΤΔ Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΦροντιστήριο 4 Σκελετοί Λύσεων
Φροντιστήριο 4 Σκελετοί Λύσεων 1. Ο ζητούμενος ΑΤΔ μπορεί να υλοποιηθεί ως εξής: (i) Διαδοχική χορήγηση μνήμης Υποθέτουμε ότι οι λίστες μας έχουν μέγιστο μέγεθος max και χρησιμοποιούμε τη δομή type elements[max];
Διαβάστε περισσότεραΔιάλεξη 08: ΛίστεςΙΙ Κυκλικές Λίστες. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 0: ΛίστεςΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες Λίστες - Τεχνικές Μείωσης Χώρου Διδάσκων:
Διαβάστε περισσότεραΔιάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές
Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εισαγωγή, εύρεση, διαγραφή) Ευθύγραμμες Διπλά Συνδεδεμένες Λίστες
Διαβάστε περισσότεραΔιάλεξη 21η: Απλά Συνδεδεμένες Λίστες
Διάλεξη 21η: Απλά Συνδεδεμένες Λίστες Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Απλές Λίστες CS100, 2015-2016 1 / 10 Δομές δεδομένων Ορισμός:
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 10: Λίστες Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εύρεση, εισαγωγή, διαγραφή) Σύγκριση Συνδεδεμένων Λιστών με Πίνακες
Διαβάστε περισσότεραAlternative to Balanced Trees, Comms of the ACM, 33(6), June 1990,
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Πληροφορικής & Τηλεπικοινωνιών Μια σημείωση από τον Α. Δελή για το άρθρο: W. Pugh, Skip Lists: A Probabilistic Alternative to Balanced Trees, Comms of the ACM, 33(), June 10,
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΕΞΑΜΗΝΟ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΕΞΑΜΗΝΟ : A' ΦΥΛΛΟ ΑΣΚΗΣΕΩΝ : 13 Στοίβα & Ουρά ΥΠΕΥΘΥΝΟΣ ΜΑΘΗΜΑΤΟΣ : Μάγια Σατρατζέµη Παρατηρήσεις: 1. Τα δεδοµένα εισόδου
Διαβάστε περισσότεραHY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο
HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Δέυτερη Προγραμματιστική Εργασία Προθεσμία παράδοσης: 19/6/2017 1. Γενική Περιγραφή Στην δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 6: Εφαρμογή Συνδεδεμένων Λιστών: Αλφαβητικό ευρετήριο κειμένου- Υλοποίηση ΑΤΔ Στοίβα και Ουρά με δείκτες
Ενότητα 6: Εφαρμογή Συνδεδεμένων Λιστών: Αλφαβητικό ευρετήριο κειμένου- Υλοποίηση ΑΤΔ Στοίβα και Ουρά με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΠΛΗ111. Ανοιξη 2005. Μάθηµα 3 ο. Συνδεδεµένες Λίστες. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης
ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 3 ο Συνδεδεµένες Λίστες Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Ανασκόπηση ΟΑΤ λίστα Ακολουθιακή λίστα Συνδεδεµένη λίστα
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα
Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Διαβάστε περισσότεραΕνότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις
Ενότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις Άσκηση 1 Έστω ότι μια βιβλιοθήκη σας παρέχει πρόσβαση σε στοίβες ακεραίων. Η βιβλιοθήκη σας επιτρέπει να ορίσετε μια στοίβα και να καλέσετε τις 5 βασικές
Διαβάστε περισσότεραΕνότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις
ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Ενότητα : Κατακερματισμός Ασκήσεις και Λύσεις Άσκηση 1 Χρησιμοποιήστε τη συνάρτηση κατακερματισμού της διαίρεσης ως πρωτεύουσα συνάρτηση κατακερματισμού και τη συνάρτηση
Διαβάστε περισσότεραΕργαστήριο 5. Εαρινό Εξάμηνο
Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1 Εργαστήριο 5 Εαρινό Εξάμηνο 2012-2013 Στό χόι τόυ εργαστηρι όυ Χρήση στοίβας Αναδρομή Δομές δεδομένων Δυναμική
Διαβάστε περισσότεραΔιάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εύρεση, εισαγωγή, διαγραφή) - Σύγκριση Συνδεδεμένων Λιστών με Πίνακες
Διαβάστε περισσότεραInsert(K,I,S) Delete(K,S)
ΕΝΟΤΗΤΑ 5 ΣΥΝΟΛΑ & ΛΕΞΙΚΑ Φατούρου Παναγιώτα 1 Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενα από έναν αριθµό και
Διαβάστε περισσότερα4. Συνδεδεμένες Λίστες
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 4. Συνδεδεμένες Λίστες 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 10/11/2016 Εισαγωγή
Διαβάστε περισσότεραΕνότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις
Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του
Διαβάστε περισσότεραΠληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο Καθηγητής Δ. Γουνόπουλος
Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο 2016 2017 Καθηγητής Δ. Γουνόπουλος Άσκηση 2 - Εξωτερική Ταξινόμηση Παράδοση: 20/01/2017 Σκοπός της εργασίας αυτής
Διαβάστε περισσότεραΠληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε
Διαβάστε περισσότεραΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί
Διαβάστε περισσότεραΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 13/1/13, 22:00
ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2012-2013 Προθεσµία: 13/1/13, 22:00 Περιεχόµενα Διαδικαστικά Εκφώνηση άσκησης (Στάδιο 0, Στάδιο 1, Στάδιο 2, Στάδιο 3, Στάδιο 4, Στάδιο 5) Οδηγίες
Διαβάστε περισσότεραΔιάλεξη 26: Σωροί. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 26: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας -Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι
Διαβάστε περισσότεραΟι λίστες, χάνοντας τα πλεονεκτήματα των πινάκων, λύνουν προβλήματα που παρουσιάζουν οι πίνακες
Δομές δεδομένων Πίνακες Οι πίνακες είναι το πιο απλό «μέσο» αποθήκευσης ομοειδούς πληροφορίας. Χρησιμοποιούν ακριβώς όση μνήμη χρειάζεται για την αποθήκευση της πληροφορίας Επιτρέπουν την προσπέλαση άμεσα
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 12: Κατακερματισμός: Χειρισμός Συγκρούσεων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.
Ενότητα 12: Κατακερματισμός: Χειρισμός Συγκρούσεων Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραυναµική έσµευση Μνήµης (συν.) ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 Εφαρµογή
υναµική έσµευση Μνήµης (συν.) Στην ενότητα αυτή θα µελετηθούν: Μια εφαρµογή συνδεδεµένων λιστών ιπλά συνδεδεµένες Λίστες ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Εφαρµογή Ζητούµενο: Πρόγραµµα που παίρνει σαν
Διαβάστε περισσότεραΠληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2011 2012 Καθηγητές Μ. Χατζόπουλος, Δ. Γουνόπουλος Άσκηση 1 Παράδοση 4 Μαϊου Σκοπός της εργασίας αυτής είναι η κατανόηση
Διαβάστε περισσότεραΒασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας
ΚΕΦΑΛΑΙΟ 8: Αφηρηµένοι τύποι δεδοµένων 8.1 οµές δεδοµένων (data structures) 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας Αδόµητα δεδοµένα οδός Ζέας
Διαβάστε περισσότεραΠληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2010 2011 Δ. Γουνόπουλος Ι. Ιωαννίδης Άσκηση 1: Συγχώνευση Εγγραφών Δυαδικών Αρχείων Προθεσμία: 2 Μαΐου 2011, 5:00μμ
Διαβάστε περισσότεραΔιάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες)
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Διάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl232
Διαβάστε περισσότεραΥλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:
Υλοποίηση Λιστών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμές Απλά και Διπλά Συνδεδεμένες Λίστες Κυκλικές Απλά και Διπλά Συνδεδεμένες Λίστες Τεχνικές Μείωσης Μνήμης ΕΠΛ 231 Δομές
Διαβάστε περισσότεραΤομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1. Εργαστήριο 6. Εαρινό Εξάμηνο
Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1 Εργαστήριο 6 Εαρινό Εξάμηνο 2012-2013 Στόχοι του εργαστηρίου Δομές δεδομένων (συνέχεια) Αριθμητική κινητής
Διαβάστε περισσότεραΠληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο M. Χατζόπουλος. Προθεσμία: 19/01/2015
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2013 2014 M. Χατζόπουλος Προθεσμία: 19/01/2015 Σκοπός της εργασίας είναι η κατανόηση της εσωτερικής λειτουργίας
Διαβάστε περισσότεραΔιάλεξη 11: Φροντιστήριο για Στοίβες. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.
Διάλεξη 11: Φροντιστήριο για Στοίβες Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 1 ΑΤΔ Στοίβα- Πράξεις Θυμηθείτε τον ΑΤΔ στοίβα με τις πράξεις του: MakeEmptyStack()
Διαβάστε περισσότεραΕνότητα 2 Στοίβες Ουρές - Λίστες. ΗΥ240 - Παναγιώτα Φατούρου 1
Ενότητα 2 Στοίβες Ουρές - Λίστες ΗΥ240 - Παναγιώτα Φατούρου 1 Λίστες Γραµµική λίστα (linear list) είναι ένα σύνολο από n 0 στοιχεία ή κόµβους L 1,..., L n, τα οποία είναι διατεταγµένα µε γραµµική σειρά.
Διαβάστε περισσότεραΣτοίβες Ουρές - Λίστες
Ενότητα 3 Στοίβες Ουρές - Λίστες ΗΥ240 - Παναγιώτα Φατούρου 1 Λίστες Γραµµική λίστα (linear list) είναι ένα σύνολο από n 0 στοιχεία ή κόµβους L 1,..., L n, τα οποία είναι διατεταγµένα µε γραµµική σειρά.
Διαβάστε περισσότεραΣτοίβες με Δυναμική Δέσμευση Μνήμης
ΕΠΛ 231 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ 10/02/10 Παύλος Αντωνίου Στοίβες με Δυναμική Δέσμευση Μνήμης Στοίβα: Στοίβα είναι μια λίστα που έχει ένα επιπλέον περιορισμό. Ο περιορισμός είναι ότι οι εισαγωγές
Διαβάστε περισσότεραΚατ οίκον Εργασία 2 Σκελετοί Λύσεων
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Άσκηση 1 Ο ζητούμενος ΑΤΔ μπορεί να υλοποιηθεί ως μια ακολουθία από στοιχεία τύπου window συνοδευόμενη από τις πράξεις: MakeNewWindow(L,w) Destroy(L,w) SwitchTo(L,w)
Διαβάστε περισσότεραΔιάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες)
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 15-1 Περιεχόμενο
Διαβάστε περισσότεραΚατ οίκον Εργασία 3 Σκελετοί Λύσεων
Άσκηση 1 Χρησιµοποιούµε τη δοµή Κατ οίκον Εργασία 3 Σκελετοί Λύσεων typedef struct Node int data; struct node *lchild; struct node *rbro; node; και υποθέτουµε πως ένα τυχαίο δένδρο είναι υλοποιηµένο ως
Διαβάστε περισσότεραΨευδοκώδικας. November 7, 2011
Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε
Διαβάστε περισσότεραΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 22/12/2016, 21:00
ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2016-2017 Προθεσµία: 22/12/2016, 21:00 Διαδικαστικά Η εργασία αυτή µπορεί να γίνει σε οµάδες µέχρι 2 ατόµων. Δεν είναι απαραίτητο να συνεργαστείτε
Διαβάστε περισσότεραΕργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα
Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Λίστες -Υλοποίηση ταξινομημένης λίστας με δυναμική δέσμευση μνήμης ΕΠΛ035
Διαβάστε περισσότεραΠρογραμματισμός Δομές Δεδομένων
Προγραμματισμός Δομές Δεδομένων Προγραμματισμός Δομές Δεδομένων (Data Structures) Καινούργιοι τύποι δεδομένων που αποτελούνται από την ομαδοποίηση υπαρχόντων τύπων δεδομένων Ομαδοποίηση πληροφορίας που
Διαβάστε περισσότεραΕνότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)
Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων
ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Σχετικές έννοιες 8.3 Υλοποίηση δοµών δεδοµένων 8.4 Μια σύντοµη µελέτη περίπτωσης 8.5 Προσαρµοσµένοι τύποι δεδοµένων 1 Βασικές δοµές
Διαβάστε περισσότερα