HY240. Φξνληηζηήξην Project

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

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

Constructors and Destructors in C++

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΖΥ240: Γνκέο Γεδνκέλωλ Φεηκεξηλό Δμάκελν Αθαδεκαϊθό Έηνο Γηδάζθνπζα: Παλαγηώηα Φαηνύξνπ Πξνγξακκαηηζηηθή Δξγαζία - 1 ν Μέξνο

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Δηάιεμε 10: Λίζηεο Υινπνίεζε & Εθαξκνγέο

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

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

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

Ενδεικτικά Θέματα Στατιστικής ΙΙ

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

Μηα ζπλάξηεζε κε πεδίν νξηζκνύ ην Α, ζα ιέκε όηη παξνπζηάδεη ηοπικό μέγιζηο ζην, αλ ππάξρεη δ>0, ηέηνην ώζηε:

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

ΕΡΓΑΣΤΗΡΙΟ 5 ΣΗΜΕΙΩΣΕΙΣ

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

Η γλώσσα προγραμματισμού C Συνδεδεμένες Λίστες

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

Σημειώσεις όγδοης εβδομάδας

Προγραμματισμός Υπολογιστών με C++

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

x x x x tan(2 x) x 2 2x x 1

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Ππογπαμμαηιζμόρ Ι (ΗΥ120)

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

HY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

1 Είζοδορ ζηο Σύζηημα ΣΔΕΔ ή BPMS

ΜΑΘΗΜΑΤΙΚΑ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΦΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ Β ΛΥΚΔΙΟΥ ΤΔΣΤ(1) ΣΤΑ ΓΙΑΝΥΣΜΑΤΑ

Προγραμματισμός Υπολογιστών με C++

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

ΟΣΑ Επηρεηξεζηαθή Ννεκνζύλε. Ελόηεηα: Ad1.2.2 «Ση θξύβεηαη» πίζω από κηα Επηρεηξεζηαθή Αλαθνξά (report): XML & XSD γηα αξράξηνπο

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Δηάιεμε 9: Σηνίβεο:Υινπνίεζε & Εθαξκνγέο

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

DOM. Γηδάζθνληεο: Π. Αγγειάηνο, Γ. Εήλδξνο Δπηκέιεηα δηαθαλεηώλ: Π. Αγγειάηνο. Σρνιή Ζιεθηξνιόγωλ Μεραληθώλ θαη Μεραληθώλ Υπνινγηζηώλ

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

Master Class 3. Ο Ν.Ζανταρίδης προτείνει θέματα Μαθηματικών Γ Λσκειοσ ΘΕΜΑ 1.

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

Δηζαγωγή ζηε γιώζζα C Παξνπζίαζε 3 ε : Δίζνδνο/ Έμνδνο - Σπλαξηήζεηο - Pointers

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

ΓΙΑΙΡΔΣΟΣΗΣΑ. Οπιζμόρ 1: Έζηω d,n. Λέκε όηη ν d δηαηξεί ηνλ n (ζπκβνιηζκόο: dn) αλ. ππάξρεη c ηέηνην ώζηε n. Θεώπημα 2: Γηα d,n,m,α,b ηζρύνπλ:

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

Άσκηση 1 - Μοπυοποίηση Κειμένου

ΕΞΙΣΩΣΕΙΣ. (iv) (ii) (ii) (ii) 5. Γηα ηηο δηάθνξεο ηηκέο ηνπ ι λα ιπζνύλ νη εμηζώζεηο : x 6 3 9x

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

x x 15 7 x 22. ΘΔΜΑ Α 3x 2 9x 4 3 3x 18x x 5 y 9x 4 Α1. i. . Η ιύζε είλαη y y x 3y y x 3 2x 6y y x x y 6 x 2y 1 y 6

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

Ηλεκηπονικά Απσεία και Διεπαθέρ

ΘΔΜΑ 1 ο Μονάδες 5,10,10

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

Transcript:

HY240 Φξνληηζηήξην Project

HY240 Ελόηεηα 1 ε : Πεξηγξαθή Project

Σσημαηική Αναπαπάζηαζη Οη πιεξνθνξίεο απηέο θαηεγνξηνπνηνύληαη ζε νκάδεο (groups) βάζεη ηνπ πεξηερνκέλνπ ηνπο ή θάπνηωλ ιέμεωλ θιεηδηώλ πνπ παξέρνληαη από ηνπο εθδόηεο. νη εθδόηεο (publishers) είλαη παξνρείο πιεξνθνξηώλ νη ζπλδξνκεηέο είλαη νη θαηαλαιωηέο ηωλ πιεξνθνξηώλ απηώλ ν θεληξηθόο εμππεξέηεο (brokerserver) ιεηηνπξγεί ζαλ ελδηάκεζνο θόκβνο κεηαμύ ηωλ εθδνηώλ θαη ηωλ ζπλδξνκεηώλ

Groups: Καηηγοπιοποιηζη πληποθοπιών gιd: ην αλαγλωξηζηηθό ηεο νκάδαο. gfirst θαη glast: Δπν δείθηεο, νη νπνίνη δείρλνπλ ζην πξώην θαη ζην ηειεπηαίν ζηνηρείν, αληίζηνηρα, κηαο δηπιά ζπλδεδεκέλεο, ηαμηλνκεκέλεο, ιίζηαο, ε νπνία νλνκάδεηαη λίστα πληρουοριών. Η ιίζηα απηή πεξηέρεη ηηο πιεξνθνξίεο πνπ ζπζρεηίδνληαη κε απηή ηελ νκάδα. gsub: Έλαο δείθηεο ζην πξώην ζηνηρείν κηαο απιά ζπλδεδεκέλεο ιίζηαο πνπ απνζεθεύεη πιεξνθνξίεο γηα ηηο ζπλδξνκέο ζε απηή ηελ νκάδα θαη νλνκάδεηαη λίστα συνδρομών.

Groups: Λίζηα Πληποθοπιών Ομάδαρ iid: Αθέξαηνο πνπ απνηειεί ην αλαγλωξηζηηθό ηεο πιεξνθνξίαο. o Έλαλ αθέξαην itm πνπ απνζεθεύεη ηελ «ρξνληθή ζηηγκή» ζηελ νπνία ε πιεξνθνξία απηή θαηαθζάλεη ζην ζύζηεκα. Η ιίζηα πιεξνθνξηώλ ηεο εθάζηνηε νκάδαο είλαη ηαμηλνκεκέλε βάζεη ηνπ πεδίνπ itm ηωλ εγγξαθώλ ηεο. o Έλαλ πίλαθα igp[mg] ηωλ MG (Maximum_Groups) ζέζεωλ πνπ πεξηγξάθεη ηα groups πιεξνθνξηώλ ζηα νπνία αλήθεη ε πιεξνθνξία. Eάλ ηζρύεη igp[i] == 1, 0 i MG-1, ηόηε ε πιεξνθνξία έρεη ζπζρεηηζζεί (ή αλήθεη) ζηελ νκάδα πιεξνθνξηώλ i. Αληίζεηα, αλ igp[i] == 0, ε πιεξνθνξία δελ ζπζρεηίδεηαη κε ηελ νκάδα i. iprev θαη inext: Δύν δείθηεο πνπ δείρλνπλ ζην επόκελν θαη ζην πξνεγνύκελν ζηνηρείν ηεο ιίζηαο.

Groups:Λίζηα Σςνδπομηηών Ομάδαρ sid: Έλαο αθέξαηνο πνπ απνηειεί ην αλαγλωξηζηηθό ηνπ ζπλδξνκεηή πνπ έθαλε ηε ζπλδξνκή θαη Snext: Έλαο δείθηεο ζην επόκελν ζηνηρείν ηεο ιίζηαο ζπλδξνκώλ ηεο νκάδαο απηήο.

Σςνδπομηηέρ (1/2)

Σςνδπομηηέρ (2/2) έλαλ αθέξαην sid πνπ απνηειεί ην αλαγλωξηζηηθό ηνπ ζπλδξνκεηή. o Έλαλ αθέξαην stm πνπ απνζεθεύεη ηελ «ρξνληθή ζηηγκή» ζηελ νπνία ν ζπλδξνκεηήο θαηαθζάλεη ζην ζύζηεκα Η ιίζηα ζπλδξνκεηώλ είλαη ηαμηλνκεκέλε* βάζεη ηνπ πεδίνπ stm ηωλ εγγξαθώλ ηεο. Έλαλ πίλαθα sgp[mg] ν νπνίνο πεξηέρεη MG δείθηεο, έλαλ γηα θάζε νκάδα. Έζηω νπνηαδήπνηε νκάδα k, 0 k MG-1. Αλ ν δείθηεο sgp[k] κηαο εγγξαθήο ηεο ιίζηαο ζπλδξνκεηώλ είλαη NULL*, ν ζπλδξνκεηήο δελ είλαη εγγεγξακκέλνο ζηελ νκάδα κε αλαγλωξηζηηθό k. Δηαθνξεηηθά, ν δείθηεο sgp[k] δείρλεη ζε έλα από ηα ζηνηρεία ηεο ιίζηαο πιεξνθνξηώλ ηεο νκάδαο G[k]*. Έλαλ δείθηε next ζην επόκελν ζηνηρείν ηεο ιίζηαο ζπλδξνκεηώλ.

Σςνολική «Απσιηεκηονική»

Εκηέλεζη Ππογπάμμαηορ ην όλνκα ηνπ εθηειέζηκνπ αξρείνπ ηνπ πξνγξάκκαηνο έλαο αθέξαηνο πνπ θαζνξίδεη ην κέγηζην πιήζνο νκάδωλ (MG) ζην ζύζηεκα είλαη ην όλνκα ελόο αξρείνπ εηζόδνπ πνπ πεξηέρεη γεγνλόηα

Γεγονόηα: Αθιξη πληποθοπίαρ Ι <itm> <iid> <gid1> <gid2> <gidk> -1: Γεγνλόο ηύπνπ Insert_Info ην νπνίν ζεκαηνδνηεί ηελ άθημε λέαο πιεξνθνξίαο <iτμ>: Φξνληθή ζηηγκή εηζόδνπ <iid>: Αλαγλωξηζηηθό πιεξνθνξίαο <gid1> <gid2> <gidk>: Οη νκάδεο κε ηηο νπνίεο ζπζρεηίδεηαη ε πιεξνθνξία -1 : Τεξκαηηζκόο ιίζηαο νκάδωλ Οη ιίζηεο πιεξνθνξηώλ ηωλ νκάδωλ κε ηηο νπνίεο ζπζρεηίδεηαη ε πιεξνθνξία <iid> πξέπεη λα ελεκεξωζνύλ (πξνζνρή ζηελ ηαμηλόκεζε)

Γεγονόηα: Εκηύπωζη πληποθοπίαρ <iτμ> <iιd> DONE GROUPID = <gid1>, INFOLIST = <iid11, iid21,, iidr11> GROUPID = <gid2>, INFOLIST = <iid12, iid22,, iidr22>... GROUPID = <gidk>, INFOLIST = <iid1k, iid2k,, iidrkk>

Γεγονόηα: Αθιξη Σςνδπομηηή S <sτμ> <sid> <gid1> <gid2> <gidm> -1 Γεγνλόο ηύπνπ Subscriber_Registration ην νπνίν ζεκαηνδνηεί ηελ εγγξαθή ελόο λένπ ζπλδξνκεηή <ζτμ>: Φξνληθή ζηηγκή εηζόδνπ <sid>: Αλαγλωξηζηηθό ζπλδξνκεηή <gid1> <gid2> <gidk>: Οη νκάδεο ζηηο νπνίεο εγγξάγεηαη ν ζπλδξνκεηήο (πξνζνρή αλαλέωζε θαη ηεο ιίζηαο ζπλδξνκεηώλ θαη ηεο ιίζηαο ζπλδξνκεηώλ ηεο νκάδαο!!! ) -1 : Τεξκαηηζκόο ιίζηαο νκάδωλ

Γεγονόηα: Εκηύπωζη Σςνδπομηηών S <stm> <sid> <gid1> <gid2> <gidm> DONE SUBSCRIBERLIST = <sid1, sid2,, sidm> GROUPID = <gid1>, SUBLIST = <sid11, sid21,, sidn11> GROUPID = <gid2>, SUBLIST = <sid12, sid22,, sidn22> GROUPID = <gidm>, SUBLIST = <sid1m, sid2m,, sidnmm>

Γεγονόηα: Καηανάλωζη πληποθοπιών C <sid>: <sid>: Τν αλαγλωξηζηηθό ηνπ ζπλδξνκεηή Γηα θάζε νκάδα G[k] γηα ηελ νπνία ελδηαθέξεηαη ν ζπλδξνκεηήο <sid>, ζα πξέπεη: λα δηαβαζζνύλ νη πην πξόζθαηεο δεκνζηεπκέλεο πιεξνθνξίεο (κεηά ηελ ηειεπηαία εθηέιεζε ηεο ιεηηνπξγίαο θαηαλάιωζεο ηνπ <sid> γηα ην G[k]) κέζω ηνπ δείθηε sgp[k] πνπ δηαηεξεί ν <sid>. λα εθηππώλνληαη ηα αλαγλωξηζηηθά ηωλ πιεξνθνξηώλ πνπ θαηαλαιώλνληαη λα ελεκεξωζεί ν δείθηεο sgp[k] ώζηε λα δείρλεη ζηελ πην πξόζθαηε πιεξνθνξία ηεο νκάδαο G[k].

Γεγονόηα: Εκηύπωζη μεηά από γεγονόρ καηανάλωζηρ C <sid> DONE GROUPID = <gid1>, INFOLIST = <iid11, iid21,, iidr11>, NEWSGP = <iid1> GROUPID = <gid2>, INFOLIST = <iid12, iid22,, iidr22>, NEWSGP = <iid2> GROUPID = <gidk>, INFOLIST = <iid1k, iid2k,, iidrkk>, NEWSGP = <iidk> ηα αλαγλωξηζηηθά ηωλ νκάδωλ ζηηο νπνίεο έρεη εγγξαθεί ν ζπλδξνκεηήο ηα αλαγλωξηζηηθά ηωλ εγγξαθώλ πιεξνθνξηώλ πνπ θαηαλαιώζεθαλ ην αλαγλωξηζηηθό ηεο ηειεπηαίαο πιεξνθνξίαο πνπ θαηαλαιώζεθε από ηε ιίζηα πιεξνθνξηώλ

Γεγονόηα: Αποσώπηζη Σςνδπομηηή D <sid> <sid>: Τν αλαγλωξηζηηθό ηνπ ζπλδξνκεηή Η εγγξαθή πνπ αλαθέξεηαη ζηνλ ζπλδξνκεηή κε αλαγλωξηζηηθό <sid> ζα πξέπεη: λα δηαγξαθεί από ηε ιίζηα ζπλδξνκεηώλ. λα δηαγξαθεί ε εγγξαθή πνπ αλαθέξεηαη ζηε ζπλδξνκή ηνπ ελ ιόγω ζπλδξνκεηή από θάζε νκάδα ζηελ νπνία έρεη εγγξαθεί ν ζπλδξνκεηήο.

Γεγονόηα: Εκηύπωζη μεηά από ανασώπηζη ζςνδπομηηή D <sid> DONE SUBSCRIBERLIST = <sid1, sid2,, sidm> GROUPID = <gid1>, SUBLIST = <sid11, sid21,, sidn11> GROUPID = <gid2>, SUBLIST = <sid12, sid22,, sidn22> GROUPID = <gidk>, SUBLIST = <sid1k, sid2k,, sidnkk>

Γεγονόηα: Εκηύπωζη όλων ηων δομών P P DONE GROUPID = <gid1>, INFOLIST = <iid11, iid21,, iidr11>, SUBLIST = < iid11, iid21,, iidn11> GROUPID = <gid2>, INFOLIST = <iid12, iid22,, iidr22>, SUBLIST = < iid12, iid22,, iidn22> GROUPID = <gidk>, INFOLIST = <iid1k, iid2k,, iidrkk>, SUBLIST = < iid1k, iid2k,, iidnkk> SUBSCRIBERLIST = <sid1, sid2,, sidm> SUBSCRIBERID = <sid1>, GROUPLIST = <gid11,, gidv11> SUBSCRIBERID = <sid2>, GROUPLIST = <gid12,, gidv22> SUBSCRIBERID = <sidm>, GROUPLIST = <gid1m,, gidvmm> NO_GROUPS = <number of groups>, NO_SUBSCRIBERS = <number of subscribers>

Παπαλλαγέρ Υλοποίηζηρ:1 η Παραλλαγή 1η Παραλλαγή Τν πξόγξακκα πνπ ζα δεκηνπξγεζεί ζα πξέπεη λα εθηειείηαη θαιώληαο ηελ αθόινπζε εληνιή: run <m> <input-file> Επεηδή ην πιήζνο ηωλ νκάδωλ δελ είλαη γλωζηό εθ ηωλ πξνηέξωλ πξηλ ηελ εθηέιεζε ηνπ πξνγξάκκαηνο: δελ κπνξνύκε πιένλ λα δεζκεύζνπκε κε ζηαηηθό ηξόπν ηνλ απαξαίηεην ρώξν κλήκεο γηα ηελ απνζήθεπζε ηωλ πηλάθωλ πνπ ρξεζηκνπνηνύλ ην MG (G, igp, sgp). είλαη απαξαίηεην λα δεζκεύεηαη ρώξν κλήκεο γηα ηνπο πίλαθεο απηνύο θαηά ηελ εθηέιεζε ηνπ πξνγξάκκαηνο, δειαδή κε δπλακηθό ηξόπν (θαηάιιειε ρξήζε ηεο ζπλάξηεζεο malloc). Η παξαιιαγή απηή επεξεάδεη θαη ηε κνξθή ηωλ δνκώλ δεδνκέλωλ πνπ ρξεζηκνπνηνύληαη ζηελ εξγαζία. Η λέα κνξθή ηωλ δνκώλ απηώλ παξνπζηάδεηαη ζηε ζπλέρεηα.

Παπαλλαγέρ Υλοποίηζηρ:2 η Παραλλαγή ζα πξέπεη λα δειώλεηε πωο ν ζπλδξνκεηήο δελ είλαη εγγεγξακκέλνο ζηελ νκάδα κε αλαγλωξηζηηθό k, ζέηνληαο ζην δείθηεο sgp[k] ηελ ηηκή NULL. ε ηηκή NULL ηνπ δείθηε sgp[k] κπνξεί λα ζεκαίλεη: όηη ν αληίζηνηρνο ζπλδξνκεηήο δελ ελδηαθέξεηαη γηα ηηο πιεξνθνξίεο πνπ δεκνζηεύνληαη ζηελ νκάδα k, είηε πωο ν ζπλδξνκεηήο ελδηαθέξεηαη όκωο ε νκάδα k δελ πεξηέρεη δεκνζηεπκέλεο πιεξνθνξίεο. Η πινπνίεζε ηνπ γεγνλόηνο C δε κπνξεί λα γλωξίδεη ηε ζεκαζία ηεο ηηκήο NULL ηνπ sgp[k]. Έζηω νπνηαδήπνηε νκάδα k, 0 k MG-1, θαη <sid1k, sid2k,, sidmk> ε ιίζηα ζπλδξνκώλ ηεο νκάδαο απηήο, όπνπ sidik, 1 i m, νη ζπλδξνκεηέο πνπ ελδηαθέξνληαη γηα ηηο πιεξνθνξίεο ηεο νκάδαο k. Όηαλ εηζάγεηαη ε πξώηε πιεξνθνξία ζηελ αξρηθά θελή (από πιεξνθνξίεο) νκάδα k ζα πξέπεη : λα γίλεηαη δηάζρηζε ηεο ιίζηαο ζπλδξνκώλ ηεο νκάδαο απηήο θαη λα ελεκεξώλνληαη νη δείθηεο sgpi[k], 1 i m, ηεο δνκήο δεδνκέλωλ θάζε ζπλδξνκεηή, ώζηε λα δείρλνπλ ζηελ πξώηε πιεξνθνξία ηεο νκάδαο k πνπ κόιηο εηζήρζε.

HY240 Ελόηεηα 2 ε : Πεξηγξαθή ηεο main() θαη ηωλ input files

Main() in C (1/6) #include <stdio.h> #include <stdlib.h> #include <string.h> #define LINE_LENGTH 64 #define MG 10 int main(int argc, char** argv) { FILE *fp = NULL; char *token,*search=" "; char line[line_length], event; int itm,iid,stm,sid; int gid; /* Check command line arguments */ if( argc < 2 ) { printf("\n Usage: %s <inputfile>\n", argv[0]); return(exit_failure);

Main() in C (2/6) /* Open input file */ if( ( fp = fopen(argv[1], "r") ) == NULL ) { printf("\n Could not open file: %s\n", argv[1]); return(exit_failure); /* Read input file line-by-line and handle the events */ while( fgets(line, LINE_LENGTH, fp)!= NULL ) { /* Uncomment the line below when in debug mode */ //printf("\n Event: %s ", line); switch(line[0]) {

Main() in C (3/6) /* Insert_Info event */ case 'I': sscanf(line, "%c %d %d", &event, &itm, &iid); printf("\nevent : %c itm : %d iid : %d ",event,itm,iid); token=strtok(line,search); token=strtok(null,search); token=strtok(null,search); while ((gid=atoi(token=strtok(null,search)))!= -1){ printf ("gid : %d ",gid); /* your code... */ /* your code... */ break;

Main() in C (4/6) /* Subscriber_Registration event */ case 'S': sscanf(line, "%c %d %d", &event, &stm, &sid); printf("\nevent : %c stm : %d sid : %d ",event,stm,sid); token=strtok(line,search); token=strtok(null,search); token=strtok(null,search); while ((gid=atoi(token=strtok(null,search)))!= -1){ /* your code... */ break; printf ("gid : %d ",gid); /* your code... */

Main() in C (5/6) /* Consume event */ case 'C': sscanf(line, "%c %d", &event, &sid); printf("\nevent : %c sid : %d",event,sid); /* your code... */ break; /* Delete_Subsciber event */ case 'D': sscanf(line, "%c %d", &event, &sid); printf("\nevent : %c sid : %d",event,sid); /* your code... */ break;

Main() in C (6/6) /* Print event */ case 'P': sscanf(line, "%c", &event); printf("\nevent : %c ",event); /* your code... */ break; /* Ignore everything else */ default: /* Uncomment the line below when in debug mode */ /* printf("\n Ignoring line: %s", line); */ break; printf("\n"); return (EXIT_SUCCESS);

Main() in Java (1/6) import java.io.bufferedreader; import java.io.filereader; public class Main { public static void main(string[] args) { BufferedReader file_input = null; String line = new String(); char event; int i, itm, iid, stm, sid, gid; // Check command line arguments if (args.length < 1) { System.out.println("\n Usage: <program_name> <input-file>\n"); System.exit(0);

Main() in Java (2/6) try { // Open input file file_input = new BufferedReader(new FileReader( args[1] )); if( file_input == null ) { System.out.println("\n Could not open file:" + args[1] + "\n"); System.exit(1); // Read input file line-by-line and handle the events int numread = 0; String[] params = null; while ((line = file_input.readline())!= null) { if(line.equals("")) continue; // Uncomment the line below when in debug mode //System.out.println("\n Event: \"" + line + "\"");

Main() in Java (3/6) switch(line.charat(0)) { // Insert_Info event case 'I': params = line.split(" "); event = params[0].charat(0); itm = Integer.parseInt(params[1]); iid = Integer.parseInt(params[2]); for (i=3; (gid = Integer.parseInt(params[i]))!=-1; i++) { // your code... ; // your code... break;

Main() in Java (4/6) // Subscriber_Registration event case 'S': params = line.split(" "); event = params[0].charat(0); stm = Integer.parseInt(params[1]); sid = Integer.parseInt(params[2]); for (i=3; (gid = Integer.parseInt(params[i]))!=-1; i++) { // your code... ; // your code... break;

Main() in Java (5/6) // Consume event case 'C': params = line.split(" "); event = params[0].charat(0); sid = Integer.parseInt(params[1]); // your code... break; // Delete_Subsciber event case 'D': params = line.split(" "); event = params[0].charat(0); sid = Integer.parseInt(params[1]); // your code... break;

Main() in Java (6/6) // Print event case 'P': params = line.split(" "); event = params[0].charat(0); // your code... break; default: // Ignore everything else // Uncomment the line below when in debug mode //System.out.println("\n Ignoring line:\"" + line + " \""); break; file_input.close(); catch (Exception ex) { ex.printstacktrace();

Test file (1/2) I 0 0 0 1 5-1 I 1 1 1 2 3-1 S 2 0 5-1 S 3 1 0 1 2 3 4-1 I 4 2 4-1 I 5 3 0 2 4-1 S 6 2 0 2 3-1 D 0 C 1 P //Infos : gid0=2, gid1=2, gid2=2, gid3=1, gid4=2, gid5=1 //Subscriptions : gid0=2, gid1=1, gid2=2, gid3=2, gid4=1, gid5=0 //Subscribers : sid1=<gid0,gid1,gid2,gid3,gid4>, sid2=<gid0,gid2,gid3>

Test file (2/2) S 7 3 1 3-1 C 2 I 8 4 1 3-1 D 1 S 9 4 1-1 I 10 5 1 2 4 5-1 C 2 C 4 D 3 P //Infos : gid0=2, gid1=4, gid2=3, gid3=2, gid4=3, gid5=2 //Subscriptions : gid0=1, gid1=1, gid2=1, gid3=1, gid4=1, gid5=0 //Subscribers : sid2=<gid0,gid2,gid3>, sid4=<gid1>

HY240 Ελόηεηα 3 ε : Δπλακηθή Υινπνίεζε ζηνίβαο

Σηοίβα#1 (Οπιζμοί) #include<stdio.h> #include<malloc.h> #define maxsize 10 void push(); void pop(); void top(); void display(); struct node { int info; struct node *link; *start=null, *new,*temp,*p; typedef struct node N;

Σηοίβα #1 (Main) main(){ int ch,a; while(1){ printf("\t\t\tepile3te leitourgia"); printf("\n 1.Push"); printf("\n 2.Pop"); printf("\n 3.Top"); printf("\n 4.Display"); printf("\n 5.Exit"); printf("\n Enter your choice : "); scanf("%d",&ch); switch(ch){ case 1: push(); break; case 2: pop(); break; case 3: top(); break; case 4: display(); break; case 5: exit(0); default: printf("\ninvalid choice"); break; //end switch //end while //end main

Σηοίβα #1 (Push) void push() { new=(n*)malloc(sizeof(n)); printf("\nenter the item : "); scanf("%d",&new->info); new->link=null; if(start==null) { start=new; else { p=start; while(p->link!=null) p=p->link; p->link=new;

Σηοίβα #1 (Pop) void pop() { if(start==null) { printf("\nstack is empty"); else if(start->link==null){ printf("\nthe deleted element is : %d",start->info); free(start); start=null; else{ p=start; while(p->link!=null){ temp=p; p=p->link; printf("\ndeleted element is : %d\n", p->info); temp->link=null; free(p);

Σηοίβα #1 (Top) void top() { if(start==null) { printf("\nstack is empty"); else if(start->link==null) { printf("\nthe Top element is : %d\n",start->info); else { p=start; while(p->link!=null) { p=p->link; printf("\nthe top element is : %d\n", p->info);

Σηοίβα #1 (Display) void display() { if(start==null) printf("\nstack is empty"); else { printf("\nthe elements are : "); p=start; while(p!=null) { printf("%d ",p->info); p=p->link; printf("\n");

Σηοίβα#2 (Οπιζμοί) #include<stdio.h> #include<malloc.h> #define maxsize 10 struct node { int info; struct node *link; *start=null; typedef struct node N; N* push(n*); N* pop(n*); void top(n*); void display(n*);

Σηοίβα #2 (Main) main(){ N* p; int ch,a; while(1){ printf("\t\t\tepile3te leitourgia"); printf("\n 1.Push"); printf("\n 2.Pop"); printf("\n 3.Top"); printf("\n 4.Display"); printf("\n 5.Exit"); printf("\n Enter your choice : "); scanf("%d",&ch); switch(ch){ case 1: p = push(p); break; case 2: p = pop(p); break; case 3: top(p); break; case 4: display(p); break; case 5: exit(0); default: printf("\ninvalid choice"); break;

Σηοίβα #2 (Push) N* push(n* p){ N *new=(n*)malloc(sizeof(n)); printf("\nenter the item : "); scanf("%d",&new->info); new->link=null; if(start==null) { start=new; else { p=start; while(p->link!=null) p=p->link; p->link=new; return p;

Σηοίβα #2 (Pop) N* pop(n* p){ N * temp; if(start==null){ printf("\nstack is empty"); else if(start->link==null){ printf("\nthe deleted element is : %d",start->info); free(start); start=null; else{ p=start; while(p->link!=null) { temp=p; p=p->link; printf("\ndeleted element is : %d\n", p->info); temp->link=null; free(p); return p;

Σηοίβα #2 (Top) void top(n* p){ if(start==null){ printf("\nstack is empty"); else if(start->link==null){ printf("\nthe Top element is : %d\n",start->info); else{ p=start; while(p->link!=null) { p=p->link; printf("\nthe top element is : %d\n", p->info);

Σηοίβα #2 (Display) void display(n* p){ if(start==null) printf("\nstack is empty"); else{ printf("\nthe elements are : "); p=start; while(p!=null) { printf("%d ",p->info); p=p->link; printf("\n");