ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

{ i f i == 0 and p > 0

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

ΣΧΟΛΙΚΟ ΕΤΟΣ ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ. Ονοματεπώνυμο Τμήμα

Συναρτήσεις. Σημερινό μάθημα

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου

17 Μαρτίου 2013, Βόλος

Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,

ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ Η ΚΑΤΑΝΑΛΩΤΙΚΗ ΑΠΟΦΑΣΗ. Άσκηση με θέμα τη μεγιστοποίηση της χρησιμότητας του καταναλωτή

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία

Συναρτήσεις & Κλάσεις

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων

Φροντιστήριο 2: Ανάλυση Αλγόριθμου. Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος

Μονάδες α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο.

2 Η ΠΑΓΚΥΠΡΙΑ ΟΛΥΜΠΙΑ Α ΦΥΣΙΚΗΣ Γ ΓΥΜΝΑΣΙΟΥ

Παραβολή ψ=αχ 2 +βχ+γ, α 0. Η παραβολή ψ = αχ 2. Γενικά : Κάθε συνάρτηση της μορφής ψ=αχ 2 + βχ +γ, α 0 λέγεται τετραγωνική συνάρτηση.

«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ»

ΑΣΕΠ 2000 ΑΣΕΠ 2000 Εμπορική Τράπεζα 1983 Υπουργείο Κοιν. Υπηρ. 1983

Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές

έγγραφο σε κάθε διάσταση αντιστοιχούν στο πλήθος εμφανίσεων της λέξης (που αντιστοιχεί στη συγκεκριμένη διάσταση) εντός του εγγράφου.

12/1/2006 Διακριτά Μαθηματικά. Ορισμός. Υπό γράφημα Τ γραφήματος Γ καλείται συνδετικό (ή επικαλύπτον)

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο.

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν

5.1 Μετρήσιμες συναρτήσεις

Αναγνώριση Προτύπων. Σημερινό Μάθημα

τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές

Μεταγλωττιστές ΙΙ. Καταμερισμός καταχωρητών. Νικόλαος Καββαδίας Μεταγλωττιστές ΙΙ

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 06: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΔΟΜΕΝΩΝ

Ring Routing and Wavelength Conversion. Γιώργος Ζώης

Αφιερώνεται στους Μαθητές μας Άγγελος Βουλδής Γιώργος Παναγόπουλος Λευτέρης Μεντζελόπουλος

CSE.UOI : Μεταπτυχιακό Μάθημα

ιάσταση του Krull Α.Π.Θ. Θεσσαλονίκη Χ. Χαραλαμπους (ΑΠΘ) ιάσταση του Krull Ιανουάριος, / 27

14 Φεβρουαρίου 2014, Βόλος

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Πρώτη Γραπτή Εργασία. Εισαγωγή στους υπολογιστές Μαθηματικά

ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ

Ευρωπαϊκά παράγωγα Ευρωπαϊκά δικαιώματα

Ψηφιακή Εικόνα. Σημερινό μάθημα!

G περιέχει τουλάχιστον μία ακμή στο S. spanning tree στο γράφημα G.

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

Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein Πηγή:

Φόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0)

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Β ΤΑΞΗ. ΘΕΜΑ 1ο

Φυσική Β Λυκείου Θετικής & Τεχνολογικής Κατεύθυνσης Παναγόπουλος Γιώργος Φυσικός

ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Β ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΣΑΒΒΑΤΟ 27 ΜΑΪΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΘΕΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ: ΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΞΙ (6)

Επίλυση ειδικών μορφών ΣΔΕ

Projects για το εργαστήριο. των Βάσεων Δεδομένων

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

Προτεινόμενα θέματα στο μάθημα. Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α. Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της

Αναγνώριση Προτύπων. Σημερινό Μάθημα

ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ

Η εξίσωση Black-Scholes

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος. Περιεχόμενο εξετάσεων

Martingales. 3.1 Ορισμός και παραδείγματα

Εισαγωγικές Διαλέξεις στην Θεωρία των Αλυσίδων Markov και των Στοχαστικών Ανελίξεων. Οικονομικό Πανεπιστήμιο Αθηνών

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Μούλου Ευγενία

Ταξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια.

Γραμμική Ανεξαρτησία. Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας. 17 Μαρτίου 2013, Βόλος

- 1 - Ποιοι κερδίζουν από το εμπόριο αγαθών και υπηρεσιών; Γιατί η άμεση ανταλλαγή αγαθών, ορισμένες φορές, είναι δύσκολο να

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

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

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

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Μηχανές Πεπερασμένων Καταστάσεων: Εισαγωγή και.

Γλώσσες Περιγραφής Υλικού Ι

Κληρονομικότητα. Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 22 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΘΕΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ: ΒΙΟΛΟΓΙΑ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΠΕΝΤΕ (5)

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης

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

Εισαγωγικές Διαλέξεις στην Θεωρία των Αλυσίδων Markov και των Στοχαστικών Ανελίξεων. Οικονομικό Πανεπιστήμιο Αθηνών

ΔΙΚΑΙΩΜΑΤΑ ΠΡΟΣΟΡΜΙΣΗΣ, ΠΑΡΑΒΟΛΗΣ, ΠΡΥΜΝΟΔΕΤΗΣΗΣ ΚΑΙ ΕΛΛΙΜΕΝΙΣΜΟΥ ΣΚΑΦΩΝ ΣΕ ΘΑΛΑΣΣΙΕΣ ΠΕΡΙΟΧΕΣ. (ΛΙΜΑΝΙΑ κ.λπ.) ΤΟΠΙΚΗΣ ΑΡΜΟΔΙΟΤΗΤΑΣ ΛΙΜΕΝΙΚΩΝ

ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα

Γενικό Λύκειο Μαραθοκάμπου Σάμου. Άλγεβρα Β λυκείου. 13 Οκτώβρη 2016

(20 ο ) ΣΤΑΔΙΑΚΕΣ ΚΑΤΑΣΚΕΥΕΣ Ι: ΑΠΛΗΣΤΟΙ ΑΛΓΟΡΙΘΜΟΙ

Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων.

Μαθηματικά Πληροφορικής

Το υπόδειγμα IS-LM: Εισαγωγικά

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

Classes. Σημερινό Μάθημα. Constructor και destructor Συναρτήσεις μέλη const Inline συναρτήσεις Δηλώσεις κλάσεων Σύνθετες κλάσεις

Ημέρα 4 η (α) Αγορά και πώληση της εργασιακής δύναμης. (β) Η απόλυτη υπεραξία. Αγορά και πώληση της εργασιακής δύναμης

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

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

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

Μεγέθη ταλάντωσης Το απλό εκκρεμές

Σχέσεις και ιδιότητές τους

Παντού σε αυτό το κεφάλαιο, αν δεν αναφέρεται κάτι διαφορετικό, δουλεύουμε σε ένα χώρο πιθανότητας (Ω, F, P) και η G F είναι μια σ-άλγεβρα.

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

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 1. Εστω η στοίβα S και ο παρακάτω αλγόριθμος επεξεργασίας της. Να καταγράψετε την κατάσταση της S στο τέλος κάθε επανάληψης του εξωτερικού βρόγχου εάν δίνεται ως είσοδος η συμβολοσειρά (((10 + 6 4) (1 + 1))/(7 5)). Stack s new Stack ( ) ; s. makeempty ( ) ; while ( c n e x t _ c h a r a c t e r ( ) and ( c i s not EOF) ) { i f ( c ( c Number c Operator ) s. push ( c ) ; e l s e i f ( c ) ) { d s. pop ( ) ; while ( d! ( ) { op2 d ; op s. pop ( ) ; op1 s. pop ( ) ; d s. pop ( ) ; r e s u l t evaluate ( op1 op op2 ) ; s. push ( r e s u l t ) ; s. push ( d ) ; e l s e r e p o r t e r r o r ; return s. top ( ) ; Χρησιμοποιούμε τον συμβολισμό S = [x 1, x 2,..., x k ] για να αναπαριστήσουμε την στοίβα όταν σε αυτήν έχουν εισαχθεί κατά σειρά τα στοιχεία x 1,..., x k. 1

Επανάληψη S 1 η [ ( ] 2 η [ (,( ] 3 η [ (,(,( ] 4 η [ (,(,(,10 ] 5 η [ (,(,(,10,+ ] 6 η [ (,(,(,10,+,6 ] 7 η [ (,(,(,10,+,6,-,4 ] 8 η [ (,(,12 ] 9 η [ (,(,12,* ] 10 η [ (,(,12,*,( ] 11 η [ (,(,12,*,(,1 ] 12 η [ (,(,12,*,(,1,+ ] 13 η [ (,(,12,*,(,1,+,1 ] η [ (,(,12,*,2 ] 15 η [ (,24 ] 16 η [ (,24,/ ] 17 η [ (,24,/,( ] 18 η [ (,24,(,7 ] 19 η [ (,24,(,7,- ] 20 η [ (,24,(,7,-,5 ] 21 η [ (,24,/,2 ] 22 η [ 12 ] 2. Εστω η πιο κάτω υλοποίηση. c l a s s Node { p r i v a t e i n t ; p r i v a t e Node ; Node ( i n t, Node ) { t h i s. ; t h i s. ; Node r e c _ r e m o v e _ l e s s _ t h a n ( i n t x ) { Node n ; i f (! null ) n. r e c _ r e m o v e _ l e s s _ t h a n ( x ) ; e l s e n null ; i f ( < x ) return n ; e l s e n ; return t h i s ;... c l a s s L i s t { Node top ; 2

void remove_less_than ( i n t x ) { top top. r e c _ r e m o v e _ l e s s _ t h a n ( x ) ; Υποθέστε την ύπαρξη συνάρτησης που κάνει καλεί την my_list.remove_less_than(42), όπου η λίστα που αντιστοιχεί στη δομή my_list αναπαρίσταται ως: my_list Να καταγράψετε την κατάσταση της λίστας στο τέλος κάθε αναδρομικής εκτέλεσης της συνάρτησης.rec_remove_less_than(42);. 1ος τερματισμός της συνάρτησης.rec_remove_less_than(42);. my_list 2ος τερματισμός της συνάρτησης.rec_remove_less_than(42);. my_list 3ος τερματισμός της συνάρτησης.rec_remove_less_than(42);. my_list 4ος τερματισμός της συνάρτησης.rec_remove_less_than(42);. my_list 32 32 32 τερματισμός της συνάρτησης mylist.remove_less_than(42);. my_list 3. Να γράψετε μία αναδρομική και μία μη αναδρομική διαδικασία οι οποίες να παίρνουν ως δεδομένο εισόδου μια συνδεδεμένη λίστα που περιέχει ακέραιους και να επιστρέφουν μια καινούρια συνδεδεμένη λίστα η οποία να περιέχει τα άρτια στοιχεία της αρχικής λίστας για κάθε μια από τις πιο κάτω περιπτώσεις: (a) ευθύγραμμη διπλά συνδεδεμένη λίστα (b) κυκλική απλά συνδεδεμένη λίστα. Να συγκρίνετε τις δύο διαδικασίες ως προς τον χώρο που χρησιμοποιούν και τον χρόνο που χρει- άζονται για να εκτελεστούν. Σημείωση: Τα στοιχεία της τελικής λίστας ϑα πρέπει να βρίσκονται στην ίδια σειρά με την οποία βρίσκονται στην αρχική λίστα. (a) Μη αναδρομική εκδοχή: c l a s s DList { p r i v a t e c l a s s Node { p r i v a t e i n t ; 3

p r i v a t e Node, prev ; Node ( i n t d, Node n, Node p ) { d ; n ; prev p ; i n t { return ; Node ( ) { return ; Node ( Node n) { n ; Node previous ( ) { return previous ; p r i v a t e Node f r o n t ; p r i v a t e Node rear ; DList evenlist ( ) { Node p ; DList l new DList ( ) ; p f r o n t ; while ( p! null ) { i f ( p. ( ) % 2 0) { l. enqueue ( ) ; p p. ( ) ; return l ; void enqueue ( ) { rear. ( new Node (, null, rear ) ) ; rear rear. ; i f ( f r o n t null ) f r o n t rear ; Αναδρομική εκδοχή: c l a s s DList { p r i v a t e c l a s s Node { p r i v a t e i n t ; p r i v a t e Node, prev ; Node ( i n t d, Node n, Node p ) { d ; n ; prev p ; i n t { return ; Node ( ) { return ; Node ( Node n) { n ; Node previous ( ) { return previous ; Node previous ( Node n) { previous n ; p r i v a t e Node top ; Node EvenNode ( ) { Node n ; i f ( n! null ) { Node tmp. evennode ( ) ; n new ( tmp. ( ), tmp. ( ), tmp. previous ( ) ) ; e l s e n null ; 4

i f ( ( ) % 2! 0) return n ; i f ( n! null ) n. previous ( t h i s ) ;. ( n) ; return t h i s ; DList evenlist ( ) { D l i s t l new DList ( ) ; l. top top. evennode ( ) ; return l ; 4. Να προτείνετε μια δομή δεδομένων η οποία εκτός από τις συνήθεις πράξεις στοίβας (IsEmpty, MakeEmpty, Top, Push, Pop) να υποστηρίζει και την επιπλέον πράξη FindMin, η οποία επιστρέφει το μικρότερο στοιχείο της δομής (χωρίς να το εξάγει). Να γράψετε: (a) μια καθαρή προδιαγραφή των πράξεων και των μεταβλητών που χρειάζονται για τη δομή και (b) την υλοποίηση των πράξεων σε ψευδοκώδικα. Ολες οι πράξεις πρέπει να είναι της τάξης Ο(1). Σε κάθε ϑέση της στοίβας αποθηκεύουμε ζεύγη στοιχείων όπου το πρώτο μέλος κάθε ζεύγους αντιστοιχεί στο στοιχείο που εισήχθηκε, και το δεύτερο μέλος του ζεύγους στο μέχρι στιγμής ελάχιστο στοιχείο της στοίβας. Για παράδειγμα οι διαδοχικές εισαγωγές 4, 3, 5, 9, 7, 1, 2 έχουν ως αποτέλεσμα τις καταστάσεις του Σχήματος 1. Σχήμα 1: Παράδειγμα διαδοχικών εισαγωγών την στοίβα του ερωτήματος 4. Κατά συνέπεια, ανά πάσα στιγμή μπορούμε να βρούμε και να επιστρέψουμε το ελάχιστο στοιχείο της στοίβας σε χρόνο σταθερό (επιστρέφοντας το δεύτερο μέλος του ζεύγους που βρίσκεται στον κόμβο κορυφής της στοίβας). 5. Εστω ΑΤΔ ουράς (πράξεις IsEmpty, MakeEmpty, Enqueue, Dequeue). Χρησιμοποιώντας τον ΑΤΔ ουράς να δώσετε μια υλοποίηση του ΑΤΔ στοίβας (IsEmpty, MakeEmpty, Top, Push, Pop) c l a s s Stack <E> { 5

Queue<E> q1, q2 ; Stack ( ) { q1 new Queue<E> ( ) ; q2 new Queue<E> ( ) ; q1. makeempty ( ) ; q2. makeempty ( ) ; void makeempty ( ) { q1. makeempty ( ) ; q2. makeempty ( ) ; boolean isempty ( ) { return q1. isempty ( ) ; void push ( E ) { q1. enqueue ( ) ; E pop ( ) { E null ; while ( q1. isempty ( ) f a l s e ) { q1. dequeue ( ) ; i f ( q1. isempty f a l s e ) q2. enqueue ( ) ; Queue tmp q1 ; q1 q2 ; q2 tmp ; return ; E top ( ) { E null ; while ( q1. isempty ( ) f a l s e ) { q1. dequeue ( ) ; q2. enqueue ( ) ; Queue tmp q1 ; q1 q2 ; q2 tmp ; return ; 6. Εστώ η πιο κάτω αναδρομική συνάρτηση που εκτυπώνει τη δυαδική αναπαράσταση ενός ακέραιου αριθμού: i n t d e c i m a l _ t o _ b i n a r y ( i n t x ) { i f ( x / 2! 0) { d e c i m a l _ t o _ b i n a r y ( x / 2 ) ; System. out. p r i n t ( x%2) ; 6

(a) Εξηγείστε ποιος ΑΤΔ μπορεί να χρησιμοποιηθεί για την υλοποίηση μιας μη αναδρομικής συνάρτησης που να υπολογίζει τη δυαδική αναπαράσταση ενός αριθμού. (b) Δώστε την υλοποίηση της πιο πάνω συνάρτησης. (a) Για την υλοποίηση μιας μη αναδρομικής διαδικασίας χρησιμοποιούμε το ΑΤΔ στοίβας, αφού η αναδρομή είναι μια διαδικασία που στηρίζεται σε δημιουργία στοίβας. (b) void d e c i m a l _ t o _ b i n a ry ( i n t x ) { Stack s new Stack ( ) ; s. makeempty ( ) ; i n t y ; for ( y x ; y / 2! 0; y y / 2 ) s. push ( y%2) ; while (! s. isempty ( ) ) { System. out. p r i n t l n ( s. top ( ) ) ; s. pop ( ) ; 7. Στις πρώτες βοήθειες ενός νοσοκομείου η πολιτική εξυπηρέτησης των ασθενών γίνεται με τη σειρά άφιξής τους με εξαίρεση τα έκτακτα περιστάτικά. Σε περίπτωση έκτακτου περιστατικού η πολιτική επιτρέπει την παράκαμψη της σειράς αναμονής και τοποθέτηση του ασθενή στη πρώτη ϑέση προς εξυπηρέτηση. Να προτείνεται (a) Την προδιαγραφή ΑΤΔ που μπορεί να μοντελοποιήσει την πολιτική εξυπηρέτησης ασθενών στο πιο πάνω νοσοκομείο. (b) Μια αποδοτική υλοποίηση του πιο πάνω ΑΤΔ. Δικαιολογήστε τις απαντήσεις σας. Επέκταση του ΑΤΔ ουράς (πράξεις IsEmpty, MakeEmpty, Enqueue, Dequeue) με την πράξη Priority_Queue η οποία τοποθετεί ένα περιστατικό στο μπροστά άκρο της ουράς (το άκρο εξαγωγής στοιχείων). Η χρονική πολυπλοκότητα της όποιας υλοποίησης ϑα είναι η ίδια συγκεκριμένα, όλες οι πράξεις χρειάζονται σταθερό χρόνο. Λόγω όμως μη προσδιορισμού του μέγιστου αριθμού περιστατικών που μπορεί να προκύψουν από την εκφώνηση του προβλήματος η υλοποίηση με δυναμική χορήγηση μνήμης προτείνεται για την αποδοτική διαχείριση της μνήμης. 7