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

Save this PDF as:
 WORD  PNG  TXT  JPG

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

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

2 Λεξικό Dictionary Ένα λεξικό (dictionary) είναι ένας αφηρημένος τύπος δεδομένων (ΑΤΔ) που διατηρεί ένα σύνολο στοιχείων με κλειδιά και υποστηρίζει τις εξής λειτουργίες: insert(item): προσθήκη του item στο σύνολο delete(item): διαγραφή του item από το σύνολο search(key): επιστροφή του αντικειμένου με κλειδί key εαν υπάρχει Υποθέτουμε πως τα κλειδιά έχουν μοναδικά κλειδιά ή πως αντικαθιστούμε αντικείμενα με ίδια κλειδιά. Χαροκόπειο Πανεπιστήμιο 2/33

3 Χρησιμότητα Το λεξικό είναι μια από τις σημαντικότερες δομές δεδομένων στην επιστήμη των υπολογιστών. Υπάρχουν υλοποιημένα στις περισσότερες γλώσσες προγραμματισμού: C++, C#, Java, Python, Perl, Ruby, Σε μερικές από αυτές είναι ενσωματωμένα μέσα στην ίδια την γλώσσα. Χαροκόπειο Πανεπιστήμιο 3/33

4 Χρησιμότητα Παραδείγματα μηχανές αναζήτησης web: λέξη σελίδες που περιέχουν την λέξη μεταγλωττιστές: όνομα μεταβλητή network routers: διεύθυνση IP καλώδιο network server: port εφαρμογή εικονική μνήμη: virtual address physical address Χαροκόπειο Πανεπιστήμιο 4/33

5 Ισοζυγισμένα ΔΔΑ Balanced BSTs Λεξικό με O(log n) χρόνο για εισαγωγή, διαγραφή, αναζήτηση. Προυποθέτει σύνολο που είναι διατεταγμένο από μία σχέση. Υποστηρίζουν όμως και πολλές άλλες λειτουργίες. Χαροκόπειο Πανεπιστήμιο 5/33

6 Ισοζυγισμένα ΔΔΑ Balanced BSTs Λεξικό με O(log n) χρόνο για εισαγωγή, διαγραφή, αναζήτηση. Προυποθέτει σύνολο που είναι διατεταγμένο από μία σχέση. Υποστηρίζουν όμως και πολλές άλλες λειτουργίες. Στόχος Θέλουμε O(1) χρόνο για κάθε λειτουργία. Χαροκόπειο Πανεπιστήμιο 5/33

7 Λεξικά Η πιο απλή λύση, απευθείας πρόσβαση σε πίνακα: αποθηκεύουμε τα αντικείμενα σε ένα πίνακα στην διεύθυνση του κλειδιού (τυχαία προσπέλαση) προβλήματα: 1 τα κλειδιά πρέπει να είναι μη αρνητικά (αλλιώς δύο πίνακες) 2 μεγάλο εύρος κλειδιών πολύ χώρος π.χ ένα κλειδί είναι ένα Petabyte key key value value Χαροκόπειο Πανεπιστήμιο 6/33

8 Κατακερματισμός Μειώνουμε το σύνολο U όλων των κλειδιών (π.χ ακέραιοι) σε ένα μικρότερο πιο ρεαλιστικό μέγεθος m ενός πίνακα. Ιδέα m n = αριθμός κλειδιών αποθηκευμένα στο λεξικό Συνάρτηση Κατακερματισμού (hash function) h : U {0, 1,..., m 1} T U k1 k3 k2 k3 k1 0 1 k2 m-1 Δύο κλειδιά x και y συγκρούονται (collide) εάν h(x) = h(y). Χαροκόπειο Πανεπιστήμιο 7/33

9 Επίλυση Συγκρούσεων Σύγκρουση Όταν για δύο κλειδιά k 1 και k 2 ισχύει h(k 1) = h(k 2). Χαροκόπειο Πανεπιστήμιο 8/33

10 Επίλυση Συγκρούσεων Σύγκρουση Όταν για δύο κλειδιά k 1 και k 2 ισχύει h(k 1) = h(k 2). Θα δούμε δύο τρόπους επίλυσης: 1 Αλυσιδωτός κατακερματισμός (chaining) 2 Ανοιχτή διευθυνσιοδότηση (open addressing) Χαροκόπειο Πανεπιστήμιο 8/33

11 Αλυσιδωτός Κατακερματισμός Hashing with Chaining Λύνουμε το πρόβλημα της σύγκρουσης κρατώντας μια λίστα στοιχείων σε κάθε διεύθυνση του πίνακα κατακερματισμού. Χαροκόπειο Πανεπιστήμιο 9/33

12 Αλυσιδωτός Κατακερματισμός Hashing with Chaining εισαγωγή στοιχείου e με κλειδί key εισαγωγή στην λίστα T[h(key)] σταθερός χρόνος (θεωρώντας πως η συνάρτηση κατακερματισμού πέρνει επίσης σταθερό χρόνο) διαγραφή στοιχείου με κλειδί key αναζήτηση στη λίστα T[h(key)] και διαγραφή εάν δεν υπάρχει και όλα τα στοιχεία είναι στην θέση h(key) τότε στην χειρότερη περίπτωση Θ(n) αναζήτηση στοιχείου με κλειδί key αναζήτηση στη λίστα T[h(key)] εάν δεν υπάρχει και όλα τα στοιχεία είναι στην θέση h(key) τότε στην χειρότερη περίπτωση Θ(n) Χώρος O(n + m) Χαροκόπειο Πανεπιστήμιο 10/33

13 Συναρτήσεις Κατακερματισμού H συνάρτηση κατακερματισμού παίζει πάρα πολύ σημαντικό ρόλο στην απόδοση. Χαροκόπειο Πανεπιστήμιο 11/33

14 Συναρτήσεις Κατακερματισμού H συνάρτηση κατακερματισμού παίζει πάρα πολύ σημαντικό ρόλο στην απόδοση. Επιθυμητές Ιδιότητες Κατακερματισμού 1 τα κλειδιά πρέπει να διαμοιράζονται ομοιόμορφα ώστε να μην έχουμε πολλές συγκρούσεις ο αριθμός των συγκρούσεων επηρεάζει τον χρόνο αναζήτησης και διαγραφής Χαροκόπειο Πανεπιστήμιο 11/33

15 Συναρτήσεις Κατακερματισμού H συνάρτηση κατακερματισμού παίζει πάρα πολύ σημαντικό ρόλο στην απόδοση. Επιθυμητές Ιδιότητες Κατακερματισμού 1 τα κλειδιά πρέπει να διαμοιράζονται ομοιόμορφα ώστε να μην έχουμε πολλές συγκρούσεις ο αριθμός των συγκρούσεων επηρεάζει τον χρόνο αναζήτησης και διαγραφής 2 m = O(n) θέλουμε να ισχύει η ιδιότητα (1) χωρίς το μέγεθος του πίνακα m να είναι πολύ μεγαλύτερο από τον αριθμό των στοιχείων n. Χαροκόπειο Πανεπιστήμιο 11/33

16 Συναρτήσεις Κατακερματισμού H συνάρτηση κατακερματισμού παίζει πάρα πολύ σημαντικό ρόλο στην απόδοση. Επιθυμητές Ιδιότητες Κατακερματισμού 1 τα κλειδιά πρέπει να διαμοιράζονται ομοιόμορφα ώστε να μην έχουμε πολλές συγκρούσεις ο αριθμός των συγκρούσεων επηρεάζει τον χρόνο αναζήτησης και διαγραφής 2 m = O(n) θέλουμε να ισχύει η ιδιότητα (1) χωρίς το μέγεθος του πίνακα m να είναι πολύ μεγαλύτερο από τον αριθμό των στοιχείων n. 3 η συνάρτηση h πρέπει να είναι πολύ γρήγορη, θέλουμε η συνάρτηση να υπολογίζεται σε σταθερό χρόνο Χαροκόπειο Πανεπιστήμιο 11/33

17 Συναρτήσεις Κατακερματισμού Άσχημα Νέα Θεώρημα Για κάθε συνάρτηση κατακερματισμού h, εάν U > (n 1) m + 1, υπάρχει ένα σύνολο S μεγέθους n που όλα τα στοιχεία του κατακερματίζονται στην ίδια θέση. Απόδειξη Απευθείας από την αρχή του περιστερώνα. Χαροκόπειο Πανεπιστήμιο 12/33

18 Συναρτήσεις Κατακερματισμού Άσχημα Νέα Θεώρημα Για κάθε συνάρτηση κατακερματισμού h, εάν U > (n 1) m + 1, υπάρχει ένα σύνολο S μεγέθους n που όλα τα στοιχεία του κατακερματίζονται στην ίδια θέση. Απόδειξη Απευθείας από την αρχή του περιστερώνα. Εμείς θέλουμε μια συνάρτηση καλή για κάθε σύνολο στοιχείων, το οποίο δεν γίνεται σύμφωνα με το παραπάνω θεώρημα. Στην πράξη για μερικά τυπικά σύνολα S υπάρχουν απλές συναρτήσεις κατακερματισμού που λειτουργούν καλά. Χαροκόπειο Πανεπιστήμιο 12/33

19 Συναρτήσεις Κατακερματισμού Άσχημα Νέα Θεώρημα Για κάθε συνάρτηση κατακερματισμού h, εάν U > (n 1) m + 1, υπάρχει ένα σύνολο S μεγέθους n που όλα τα στοιχεία του κατακερματίζονται στην ίδια θέση. Απόδειξη Απευθείας από την αρχή του περιστερώνα. Εμείς θέλουμε μια συνάρτηση καλή για κάθε σύνολο στοιχείων, το οποίο δεν γίνεται σύμφωνα με το παραπάνω θεώρημα. Για να λύσουμε το πρόβλημα για οποιοδήποτε σύνολο προσθέτουμε τυχαίοτητα. Από ένα σύνολο H από συναρτήσεις επιλέγουμε μία συνάρτηση h τυχαία. Χαροκόπειο Πανεπιστήμιο 13/33

20 Συναρτήσεις Κατακερματισμού H συνάρτηση κατακερματισμού παίζει πάρα πολύ σημαντικό ρόλο στην απόδοση. Έστω H το σύνολο όλων των συναρτήσεων από το U στο 0... m 1. Ας υποθέσουμε πως η συνάρτηση h διαλέγεται τυχαία από το H. Θεώρημα Εάν n στοιχεία είναι αποθηκευμένα σε ένα πίνακα κατακερματισμού με m θέσεις με την χρήση μιας τυχαίας συνάρτησης κατακερματισμού, τότε ο αναμενόμενος χρόνος εκτέλεσης της διαγραφής ή αναζήτησης είναι O(1 + n m ). Χαροκόπειο Πανεπιστήμιο 14/33

21 Τυχαία Συνάρτηση Κατακερματισμού Θεώρημα Εάν n στοιχεία είναι αποθηκευμένα σε ένα πίνακα κατακερματισμού με m θέσεις με την χρήση μιας τυχαίας συνάρτησης κατακερματισμού, τότε ο αναμενόμενος χρόνος εκτέλεσης της διαγραφής ή αναζήτησης είναι O(1 + n m ). Απόδειξη Για ένα συγκεκριμένο κλειδί k οι συναρτήσεις αναζήτησης και διαγραφής χρειάζονται χρόνο σταθερό συν τον χρόνο να διαβάσουν την λίστα T[h(k)]. Χαροκόπειο Πανεπιστήμιο 15/33

22 Τυχαία Συνάρτηση Κατακερματισμού Θεώρημα Εάν n στοιχεία είναι αποθηκευμένα σε ένα πίνακα κατακερματισμού με m θέσεις με την χρήση μιας τυχαίας συνάρτησης κατακερματισμού, τότε ο αναμενόμενος χρόνος εκτέλεσης της διαγραφής ή αναζήτησης είναι O(1 + n m ). Απόδειξη Για ένα συγκεκριμένο κλειδί k οι συναρτήσεις αναζήτησης και διαγραφής χρειάζονται χρόνο σταθερό συν τον χρόνο να διαβάσουν την λίστα T[h(k)]. Ο αναμενόμενος χρόνος είναι O(1 + E[X]) όπου X είναι η τυχαία μεταβλητή που υποδηλώνει το μέγεθος της λίστας T[h(k)]. Χαροκόπειο Πανεπιστήμιο 15/33

23 Τυχαία Συνάρτηση Κατακερματισμού Θεώρημα Εάν n στοιχεία είναι αποθηκευμένα σε ένα πίνακα κατακερματισμού με m θέσεις με την χρήση μιας τυχαίας συνάρτησης κατακερματισμού, τότε ο αναμενόμενος χρόνος εκτέλεσης της διαγραφής ή αναζήτησης είναι O(1 + n m ). Απόδειξη Για ένα συγκεκριμένο κλειδί k οι συναρτήσεις αναζήτησης και διαγραφής χρειάζονται χρόνο σταθερό συν τον χρόνο να διαβάσουν την λίστα T[h(k)]. Ο αναμενόμενος χρόνος είναι O(1 + E[X]) όπου X είναι η τυχαία μεταβλητή που υποδηλώνει το μέγεθος της λίστας T[h(k)]. Έστω S το σύνολο των n στοιχείων που είναι αποθηκευμένα. Για κάθε e S, έστω X e η τυχαία μεταβλητή (indicator) όπου X e = 1 εάν h(e) = h(k) και X e = 0 αλλιώς. Χαροκόπειο Πανεπιστήμιο 15/33

24 Τυχαία Συνάρτηση Κατακερματισμού Θεώρημα Εάν n στοιχεία είναι αποθηκευμένα σε ένα πίνακα κατακερματισμού με m θέσεις με την χρήση μιας τυχαίας συνάρτησης κατακερματισμού, τότε ο αναμενόμενος χρόνος εκτέλεσης της διαγραφής ή αναζήτησης είναι O(1 + n m ). Απόδειξη Για ένα συγκεκριμένο κλειδί k οι συναρτήσεις αναζήτησης και διαγραφής χρειάζονται χρόνο σταθερό συν τον χρόνο να διαβάσουν την λίστα T[h(k)]. Ο αναμενόμενος χρόνος είναι O(1 + E[X]) όπου X είναι η τυχαία μεταβλητή που υποδηλώνει το μέγεθος της λίστας T[h(k)]. Έστω S το σύνολο των n στοιχείων που είναι αποθηκευμένα. Για κάθε e S, έστω X e η τυχαία μεταβλητή (indicator) όπου X e = 1 εάν h(e) = h(k) και X e = 0 αλλιώς. Έχουμε X = e S X e. Χαροκόπειο Πανεπιστήμιο 15/33

25 Τυχαία Συνάρτηση Κατακερματισμού Θεώρημα Εάν n στοιχεία είναι αποθηκευμένα σε ένα πίνακα κατακερματισμού με m θέσεις με την χρήση μιας τυχαίας συνάρτησης κατακερματισμού, τότε ο αναμενόμενος χρόνος εκτέλεσης της διαγραφής ή αναζήτησης είναι O(1 + n m ). Απόδειξη Για ένα συγκεκριμένο κλειδί k οι συναρτήσεις αναζήτησης και διαγραφής χρειάζονται χρόνο σταθερό συν τον χρόνο να διαβάσουν την λίστα T[h(k)]. Ο αναμενόμενος χρόνος είναι O(1 + E[X]) όπου X είναι η τυχαία μεταβλητή που υποδηλώνει το μέγεθος της λίστας T[h(k)]. Έστω S το σύνολο των n στοιχείων που είναι αποθηκευμένα. Για κάθε e S, έστω X e η τυχαία μεταβλητή (indicator) όπου X e = 1 εάν h(e) = h(k) και X e = 0 αλλιώς. Έχουμε X = e S X e. Χρησιμοποιώντας την γραμμικότητα της μέσης τιμής πέρνουμε E[X] = E[ X e ] = e S e S E[X e ] = e Sprob(X e = 1). Χαροκόπειο Πανεπιστήμιο 15/33

26 Τυχαία Συνάρτηση Κατακερματισμού Θεώρημα Εάν n στοιχεία είναι αποθηκευμένα σε ένα πίνακα κατακερματισμού με m θέσεις με την χρήση μιας τυχαίας συνάρτησης κατακερματισμού, τότε ο αναμενόμενος χρόνος εκτέλεσης της διαγραφής ή αναζήτησης είναι O(1 + n m ). Απόδειξη Για ένα συγκεκριμένο κλειδί k οι συναρτήσεις αναζήτησης και διαγραφής χρειάζονται χρόνο σταθερό συν τον χρόνο να διαβάσουν την λίστα T[h(k)]. Ο αναμενόμενος χρόνος είναι O(1 + E[X]) όπου X είναι η τυχαία μεταβλητή που υποδηλώνει το μέγεθος της λίστας T[h(k)]. Έστω S το σύνολο των n στοιχείων που είναι αποθηκευμένα. Για κάθε e S, έστω X e η τυχαία μεταβλητή (indicator) όπου X e = 1 εάν h(e) = h(k) και X e = 0 αλλιώς. Έχουμε X = e S X e. Χρησιμοποιώντας την γραμμικότητα της μέσης τιμής πέρνουμε E[X] = E[ X e ] = e S e S E[X e ] = e Sprob(X e = 1). Μια τυχαία συνάρτηση αντιστοιχεί ένα στοιχείο e σε όλες τις m θέσεις με ίδια πιθανότητα 1/m και άρα E[X] = n/m. Χαροκόπειο Πανεπιστήμιο 15/33

27 Τυχαία Συνάρτηση Κατακερματισμού Δυστυχώς η υπόθεση της τυχαίας συνάρτησης κατακερματισμού είναι τελείως αβάσιμη. Έστω H όλες οι συναρτήσεις από το U στο 0... m 1. Υπάρχουν m U συναρτήσεις στο σύνολο H. Για να διαλέξουμε μια συνάρτηση από το H χρειαζόμαστε log 2 m U = U log 2 m bits. Έτσι καταργούμε τον στόχο μας να μειώσουμε τον χώρο από U σε n. Χαροκόπειο Πανεπιστήμιο 16/33

28 Καθολικός Κατακερματισμός Στόχοι θέλουμε να διαλέγουμε τυχαία μία συνάρτηση από ένα μικρότερο σύνολο από συναρτήσεις, η επιλογή μιας συνάρτησης πρέπει να μπορεί να γίνει με σταθερό χώρο, πρέπει οι συναρτήσεις να υπολογίζονται εύκολα. Χαροκόπειο Πανεπιστήμιο 17/33

29 Καθολικός Κατακερματισμός Ορισμός Έστω c μια θετική σταθερά. Μια οικογένεια συναρτήσεων από το U στο 0... m 1 λέγεται c-καθολική (c-universal) εάν δυο διαφορετικά κλειδιά συγκρούονται με πιθανότητα το πολύ c m. Χαροκόπειο Πανεπιστήμιο 18/33

30 Καθολικός Κατακερματισμός Ορισμός Έστω c μια θετική σταθερά. Μια οικογένεια συναρτήσεων από το U στο 0... m 1 λέγεται c-καθολική (c-universal) εάν δυο διαφορετικά κλειδιά συγκρούονται με πιθανότητα το πολύ c m. Για κάθε x, y U με x y έχουμε: h H : h(x) = h(y) c m H. Χαροκόπειο Πανεπιστήμιο 18/33

31 Καθολικός Κατακερματισμός Ορισμός Έστω c μια θετική σταθερά. Μια οικογένεια συναρτήσεων από το U στο 0... m 1 λέγεται c-καθολική (c-universal) εάν δυο διαφορετικά κλειδιά συγκρούονται με πιθανότητα το πολύ c m. Για κάθε x, y U με x y έχουμε: Με άλλα λόγια, για τυχαία h H, h H : h(x) = h(y) c m H. prob(h(x) = h(y)) c m Χαροκόπειο Πανεπιστήμιο 18/33

32 Καθολικός Κατακερματισμός Ορισμός Έστω c μια θετική σταθερά. Μια οικογένεια συναρτήσεων από το U στο 0... m 1 λέγεται c-καθολική (c-universal) εάν δυο διαφορετικά κλειδιά συγκρούονται με πιθανότητα το πολύ c m. Για κάθε x, y U με x y έχουμε: Με άλλα λόγια, για τυχαία h H, h H : h(x) = h(y) c m H. prob(h(x) = h(y)) c m Μία c-καθολική συνάρτηση λειτουργεί μια χαρά στην απόδειξη που κάναμε με τις τυχαίες συναρτήσεις. Χαροκόπειο Πανεπιστήμιο 18/33

33 Καθολική Συνάρτηση Κατακερματισμού Ερώτηση Μπορούμε να κατασκευάσουμε μία c-καθολική οικογένεια συναρτήσεων; Χαροκόπειο Πανεπιστήμιο 19/33

34 Καθολική Συνάρτηση Κατακερματισμού Ερώτηση Μπορούμε να κατασκευάσουμε μία c-καθολική οικογένεια συναρτήσεων; Η απάντηση είναι ΝΑΙ! Χαροκόπειο Πανεπιστήμιο 19/33

35 1-Καθολική Οικογένεια Συναρτήσεων Η μέθοδος του πίνακα (matrix method) Έστω: Τα κλειδιά έχουν μήκος u bits. Ο πίνακας T έχει μέγεθος 2 b όπου b είναι ο αριθμός των bits για την διευθυνσιοδότηση του. Χαροκόπειο Πανεπιστήμιο 20/33

36 1-Καθολική Οικογένεια Συναρτήσεων Η μέθοδος του πίνακα (matrix method) Έστω: Τα κλειδιά έχουν μήκος u bits. Ο πίνακας T έχει μέγεθος 2 b όπου b είναι ο αριθμός των bits για την διευθυνσιοδότηση του. Τότε: Επιλέγουμε έναν τυχαίο 0/1 πίνακα h διαστάσεων b u Ορίζουμε h(x) = h x όπου κάνουμε πρόσθεση με υπόλοιπο 2 (mod 2). Χαροκόπειο Πανεπιστήμιο 20/33

37 1-Καθολική Οικογένεια Συναρτήσεων Η μέθοδος του πίνακα (matrix method) - Παράδειγμα h(x) = h x = = Τα κλειδιά μας έχουν μήκος u = 8 bits (π.χ 256 χαρακτήρες του πίνακα ASCII) Ο πίνακας T έχει μέγεθος 2 4 = 16 και άρα χρειαζόμαστε b = 4 bits για την διευθυνσιοδότηση του. Επιλέγουμε έναν τυχαίο 0/1 πίνακα h διαστάσεων 4 8 Ορίζουμε h(x) = h x όπου κάνουμε πρόσθεση με υπόλοιπο 2 (mod 2) Χαροκόπειο Πανεπιστήμιο 21/33

38 1-Καθολική Οικογένεια Συναρτήσεων Η μέθοδος του πίνακα (matrix method) Θεώρημα Για x y, Pr h [h(x) = h(y)] = 1 2 b. Απόδειξη Καταρχήν, τι σημαίνει ο πολλαπλασιασμός h επί x; Μπορούμε να σκεφτούμε πως προσθέτουμε κάποιες στήλες του h (πρόσθεση mod 2) και τα 1 του x μας λένε ποιες στήλες να προσθέσουμε. Χαροκόπειο Πανεπιστήμιο 22/33

39 1-Καθολική Οικογένεια Συναρτήσεων Η μέθοδος του πίνακα (matrix method) Θεώρημα Για x y, Pr h [h(x) = h(y)] = 1 2 b. Απόδειξη Καταρχήν, τι σημαίνει ο πολλαπλασιασμός h επί x; Μπορούμε να σκεφτούμε πως προσθέτουμε κάποιες στήλες του h (πρόσθεση mod 2) και τα 1 του x μας λένε ποιες στήλες να προσθέσουμε. Έστω οποιοδήποτε ζευγάρι κλειδιών x, y ώστε x y. Πρέπει να διαφέρουν κάπου, ας υποθέσουμε λοιπόν πως x i = 0 και y i = 1 για κάποια θέση i. Χαροκόπειο Πανεπιστήμιο 22/33

40 1-Καθολική Οικογένεια Συναρτήσεων Η μέθοδος του πίνακα (matrix method) Θεώρημα Για x y, Pr h [h(x) = h(y)] = 1 2 b. Απόδειξη Καταρχήν, τι σημαίνει ο πολλαπλασιασμός h επί x; Μπορούμε να σκεφτούμε πως προσθέτουμε κάποιες στήλες του h (πρόσθεση mod 2) και τα 1 του x μας λένε ποιες στήλες να προσθέσουμε. Έστω οποιοδήποτε ζευγάρι κλειδιών x, y ώστε x y. Πρέπει να διαφέρουν κάπου, ας υποθέσουμε λοιπόν πως x i = 0 και y i = 1 για κάποια θέση i. Φανταστείτε πως διαλέγουμε πρώτα όλο τον πίνακα h εκτός από την i στήλη. Σε σχέση με τις αναπομείναντες επιλογές η h(x) είναι σταθερή μιας και ισχύει x i = 0. Χαροκόπειο Πανεπιστήμιο 22/33

41 1-Καθολική Οικογένεια Συναρτήσεων Η μέθοδος του πίνακα (matrix method) Θεώρημα Για x y, Pr h [h(x) = h(y)] = 1 2 b. Απόδειξη Καταρχήν, τι σημαίνει ο πολλαπλασιασμός h επί x; Μπορούμε να σκεφτούμε πως προσθέτουμε κάποιες στήλες του h (πρόσθεση mod 2) και τα 1 του x μας λένε ποιες στήλες να προσθέσουμε. Έστω οποιοδήποτε ζευγάρι κλειδιών x, y ώστε x y. Πρέπει να διαφέρουν κάπου, ας υποθέσουμε λοιπόν πως x i = 0 και y i = 1 για κάποια θέση i. Φανταστείτε πως διαλέγουμε πρώτα όλο τον πίνακα h εκτός από την i στήλη. Σε σχέση με τις αναπομείναντες επιλογές η h(x) είναι σταθερή μιας και ισχύει x i = 0. Τώρα, κάθε μία από τις 2 b διαφορετικές επιλογές για την i στήλη, δίνει διαφορετική τιμή στην h(y) (κάθε φορά που αλλάζει ένα bit στην στήλη, αλλάζει και το αντίστοιχο bit στην h(y)). Χαροκόπειο Πανεπιστήμιο 22/33

42 1-Καθολική Οικογένεια Συναρτήσεων Η μέθοδος του πίνακα (matrix method) Θεώρημα Για x y, Pr h [h(x) = h(y)] = 1 2 b. Απόδειξη Καταρχήν, τι σημαίνει ο πολλαπλασιασμός h επί x; Μπορούμε να σκεφτούμε πως προσθέτουμε κάποιες στήλες του h (πρόσθεση mod 2) και τα 1 του x μας λένε ποιες στήλες να προσθέσουμε. Έστω οποιοδήποτε ζευγάρι κλειδιών x, y ώστε x y. Πρέπει να διαφέρουν κάπου, ας υποθέσουμε λοιπόν πως x i = 0 και y i = 1 για κάποια θέση i. Φανταστείτε πως διαλέγουμε πρώτα όλο τον πίνακα h εκτός από την i στήλη. Σε σχέση με τις αναπομείναντες επιλογές η h(x) είναι σταθερή μιας και ισχύει x i = 0. Τώρα, κάθε μία από τις 2 b διαφορετικές επιλογές για την i στήλη, δίνει διαφορετική τιμή στην h(y) (κάθε φορά που αλλάζει ένα bit στην στήλη, αλλάζει και το αντίστοιχο bit στην h(y)). Άρα υπάρχει ακριβώς 1 2b πιθανότητα να ισχύει h(x) = h(y). Χαροκόπειο Πανεπιστήμιο 22/33

43 Μέγεθος Πίνακα Αλυσιδωτός Κατακερματισμός μέσος χρόνος αναζήτησης/διαγραφής: O(1 + n/m) υποθέτοντας καθολική συνάρτηση κατακερματισμού Μέγεθος Πίνακα; θέλουμε πάντα m = O(n) και άρα μέσο χρόνο αναζήτησης/διαγραφής O(1) δεν ξέρουμε το n κατά την δημιουργία του πίνακα πολύ μικρό m αργή αναζήτηση/διαγραφή πολύ μεγάλο m χάσιμο χώρου Χαροκόπειο Πανεπιστήμιο 23/33

44 Επανακατακερματισμός Rehashing Ιδέα αρχικά μικρό m (σταθερά) αύξηση (& μείωση) ανάλογα με την χρήση Επανακατακερματισμός (rehashing) Για να μεγαλώσει ή να μικρύνει ο πίνακας κατακερματισμού πρέπει να αλλάξει η συνάρτηση κατακερματισμού. επιλέγουμε νέα συνάρτηση κατακερματισμού από το σύνολο H ο πίνακας πρέπει να φτιαχτεί από την αρχή κάθε αντικείμενο του παλιού πίνακα κατακερματισμού προστίθεται στον καινούριο πίνακα Χαροκόπειο Πανεπιστήμιο 24/33

45 Επανακατακερματισμός Rehashing Έχοντας μια καθολική συνάρτηση κατακερματισμού μπορούμε να έχουμε γραμμικό χώρο και σταθερό αναμενόμενο χρόνο όλων των λειτουργιών του πίνακα κατακερματισμού 1 φροντίζουμε πάντα m = Θ(n) 2 εαν το n γίνει > m τότε διπλασιάζουμε το μέγεθος του πίνακα 3 εαν το n γίνει < 1 m υποδιπλασιάζουμε το μέγεθος του πίνακα 4 Κάθε φορά που αλλάζουμε το μέγεθος του πίνακα, διαλέγουμε μια καινούρια συνάρτηση κατακερματισμού και υπολογίζουμε τις θέσεις όλων των στοιχείων με βάση τη νέα συνάρτηση. Χαροκόπειο Πανεπιστήμιο 25/33

46 Επανακατακερματισμός Rehashing Έχοντας μια καθολική συνάρτηση κατακερματισμού μπορούμε να έχουμε γραμμικό χώρο και σταθερό αναμενόμενο χρόνο όλων των λειτουργιών του πίνακα κατακερματισμού 1 φροντίζουμε πάντα m = Θ(n) 2 εαν το n γίνει > m τότε διπλασιάζουμε το μέγεθος του πίνακα 3 εαν το n γίνει < 1 m υποδιπλασιάζουμε το μέγεθος του πίνακα 4 Μερικές λειτουργίες κοστίζουν γραμμικό χρόνο αλλά ο μέσος όρος είναι O(1) Χαροκόπειο Πανεπιστήμιο 25/33

47 Ανοιχτή Διευθυνσιοδότηση Open Addressing 1 όλα τα στοιχεία είναι απευθείας στον πίνακα, όχι σύνδεσμοι 2 υποχρεωτικά n < m 3 βασική ιδέα: εάν μία θέση είναι γεμάτη, αναζήτησε άλλη Επίλυση Σύγκρουσης Σε περίπτωση που η θέση T[h(key)] έχει ήδη κάποιο στοιχείο αναζητάμε κάποια ελεύθερη θέση με βάση κάποια συγκεκριμένη στρατηγική. Χαροκόπειο Πανεπιστήμιο 26/33

48 Γραμμική Διερεύνηση Linear Probing Η απλούστερη μέθοδος ανοιχτής διευθυνσιοδότησης ονομάζεται γραμμική διερεύνηση. Ο πίνακας κατακερματισμού αποθηκεύει όλα τα στοιχεία. Κενές θέσεις συμβολίζονται με κάποιο ειδικό σύμβολο, π.χ. Ένα στοιχείο e αποθηκεύεται στην θέση t[h(e)] ή στην πρώτη κενή προς τα δεξιά εάν το e είναι στην θέση t[i] με i > h(e) πρέπει υποχρεωτικά οι θέσεις h(e) μέχρι και i 1 να μην είναι κενές ( ). Χαροκόπειο Πανεπιστήμιο 27/33

49 Γραμμική Διερεύνηση Linear Probing Εισαγωγή του στοιχείου e: ψάχνουμε στον πίνακα ξεκινώντας από την θέση t[h(e)] προς τα δεξιά μέχρι να βρούμε ένα. Εκεί αποθηκεύουμε το στοιχείο e. Αναζήτηση του στοιχείου e: ψάχνουμε στον πίνακα ξεκινώντας από την θέση t[h(e)] προς τα δεξιά μέχρι να βρούμε το e ή ένα. Και στις δύο περιπτώσεις χρησιμοποιούμε τον πίνακα ως κυκλικό πίνακα, καθώς κινούμαστε προς τα δεξιά. Χαροκόπειο Πανεπιστήμιο 28/33

50 Γραμμική Διερεύνηση Διαγραφή Η διαγραφή ενός στοιχείου e είναι η μόνη δύσκολη διαδικασία: αφού βρούμε το e δεν μπορούμε απλά να το διαγράψουμε γράφοντας στην θέση του μπορεί να δημιουργήσουμε πρόβλημα σε άλλα στοιχεία π.χ έστω τα στοιχεία x, y, z τα οποία προστίθενται με αυτή την σειρά και έστω h(x) = h(z) και h(y) = h(x) + 1. Το z αποθηκεύεται στην θέση h(x) + 2. Όταν θέλουμε να σβήσουμε το y δεν μπορούμε απλά να γράψουμε στην θέση h(x) + 1 το μιας και θα κάνει το στοιχείο z μη προσβάσιμο. Χαροκόπειο Πανεπιστήμιο 29/33

51 Γραμμική Διερεύνηση Διαγραφή Υπάρχουν 3 λύσεις: 1 να μην επιτρέπουμε διαγραφές 2 μπορούμε να σημαδέψουμε το στοιχείο e αλλά να μην το αφαιρέσουμε. Οι αναζητήσεις μπορούν να σταματάνε σε αλλά όχι σε σημαδεμένο στοιχείο. 3 να διορθώσουμε την κατάσταση Η δεύτερη περίπτωση παρουσιάζει το πρόβλημα πως ο πίνακας γεμίζει και τελικά γίνονται αργές οι αναζητήσεις. Χαροκόπειο Πανεπιστήμιο 30/33

52 Γραμμική Διερεύνηση Διαγραφή Έστω πως θέλουμε να διαγράψουμε το στοιχείο στην θέση i. γράφουμε στην θέση του το αφήνοντας ένα κενό στην συνέχεια ψάχνουμε στα δεξιά για να δούμε εαν χαλάσαμε τίποτα, θέτουμε j = i + 1 εάν t[j] = είμαστε καλά και τερματίζουμε αλλιώς έστω f το στοιχείο που είναι αποθηκευμένο στο t[j] εάν h(f) > i δεν μπορούμε να κάνουμε τίποτα και αυξάνουμε τον δείκτη j εάν h(f) i αφήνοντας το κενό θα δημιουργούσε πρόβλημα, και θα χανόταν το f. Για να λύσουμε το πρόβλημα αντιμεταθέτουμε τα t[i] και t[j], δηλαδή αντιμεταθέτουμε τα f και. Θέτουμε την θέση του κενού i στην νέα θέση j και συνεχίζουμε με j = j + 1. Χαροκόπειο Πανεπιστήμιο 31/33

53 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

54 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

55 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

56 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

57 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

58 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

59 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

60 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

61 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

62 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

63 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

64 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

65 Παράδειγμα Γραμμική Διερεύνηση Έστω ένας πίνακας κατακερματισμού με μέγεθος m = 7 συνάρτηση κατακερματισμού h(k) = k mod 7. όπου θέλουμε να εισάγουμε τα στοιχεία 9, 10, 12, 16, 17, Χαροκόπειο Πανεπιστήμιο 32/33

66 Άλλες Στρατηγικές Στην γενική μορφή η συνάρτηση κατακερματισμού είναι: h(key, i) = (h1(key) + F(i)) mod size. όπου F είναι μία συνάρτηση επίλυσης συγκρούσεων. Linear Probing F(i) = i Quadratic Probing F(i) = i 2 Double Hashing F(i) = i h2(key) Χαροκόπειο Πανεπιστήμιο 33/33

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

Διαβάστε περισσότερα

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear

Διαβάστε περισσότερα

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός Hashing (1ο Μέρος) Η Αναζήτηση απαιτεί Δομές Λύσεις Για να υποστηριχθεί η αποδοτική αναζήτηση απαιτείται η χρήση κατάλληλων δομών-ευρετηρίων

Διαβάστε περισσότερα

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1 Κατακερματισμός 4/3/2009 Μ.Χατζόπουλος 1 H ιδέα που βρίσκεται πίσω από την τεχνική του κατακερματισμού είναι να δίνεται μια συνάρτησης h, που λέγεται συνάρτηση κατακερματισμού ή παραγωγής τυχαίων τιμών

Διαβάστε περισσότερα

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing)

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων Bit Διανύσματα Τεχνικές Κατακερματισμού & Συναρτήσεις

Διαβάστε περισσότερα

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear Probing, b) Quadratic Probing c) Double

Διαβάστε περισσότερα

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός - Hashing (2 ο Μέρος) Μέθοδοι Κατακερματισμού integer universe Direct Addressing Hashing with chaining Hashing by Division Hashing

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Δομές Ευρετηρίων και Κατακερματισμός Αρχείων II Β. Μεγαλοοικονόμου Δ. Χριστοδουλάκης (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και

Διαβάστε περισσότερα

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

Διαβάστε περισσότερα

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

Διαβάστε περισσότερα

Δομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

Δομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση Δομές Αναζήτησης χειρότερη περίπτωση μέση περίπτωση εισαγωγή αναζήτηση επιλογή εισαγωγή αναζήτηση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένος πίνακας μη διατεταγμένη λίστα δένδρο αναζήτησης

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Ενότητα 11: Τεχνικές Κατακερματισμού Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Τεχνικές Κατακερµατισµού Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Τεχνικές Κατακερµατισµού ιαχείριση Συγκρούσεων µε Αλυσίδωση ιαχείριση Συγκρούσεων µε Ανοικτή ιεύθυνση ιπλός Κατακερµατισµός,

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή

Διαβάστε περισσότερα

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)

Διαβάστε περισσότερα

Συναρτήσεις Κατακερματισμού και Πίνακες Κατακερματισμού

Συναρτήσεις Κατακερματισμού και Πίνακες Κατακερματισμού Μια συνάρτηση κατακερματισμού (hash function) h απεικονίζει κλειδιά ενός δοσμένου τύπου σεακεραίουςενόςσταθερούδιαστήματος [0,N 1]όπουΝτομέγεθοςτουπίνακα. Πχ: Συναρτήσεις Κατακερματισμού και Πίνακες Κατακερματισμού

Διαβάστε περισσότερα

Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις

Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Ενότητα : Κατακερματισμός Ασκήσεις και Λύσεις Άσκηση 1 Χρησιμοποιήστε τη συνάρτηση κατακερματισμού της διαίρεσης ως πρωτεύουσα συνάρτηση κατακερματισμού και τη συνάρτηση

Διαβάστε περισσότερα

ΚΑΤΑΚΕΡΜΑΤΙΣΜΟΣ HASHING

ΚΑΤΑΚΕΡΜΑΤΙΣΜΟΣ HASHING ΚΑΤΑΚΕΡΜΑΤΙΣΜΟΣ HASHING ΣΑΛΤΟΓΙΑΝΝΗ ΑΘΑΝΑΣΙΑ saltogiann@ceid.upatras.gr ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΤΟ ΠΡOΒΛΗΜΑ ΤΟΥ ΚΑΤΑΚΕΡΜΑΤΙΣΜΟY Θέλουμε τα δεδομένα που διαθέτουμε να μπορούν να αποθηκευτούν σε κάποιο πίνακα ή

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 8 KATAKEΡΜΑΤΙΣΜΟΣ (HASHING)

ΕΝΟΤΗΤΑ 8 KATAKEΡΜΑΤΙΣΜΟΣ (HASHING) ΕΝΟΤΗΤΑ 8 KATAKEΡΜΑΤΙΣΜΟΣ (HASHING) Κατακερµατισµός Στόχος Έχουµε ένα σύνολο από κλειδιά {Κ 0,, Κ n-1 } και θέλουµε να υλοποιήσουµε Insert() και LookUp() (ίσως και Delete()) απλά και γρήγορα στην πράξη.

Διαβάστε περισσότερα

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινομημένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Κατακερµατισµός Κεφάλαιο 14. Ε. Μαρκάκης Επίκουρος Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Κατακερµατισµός Κεφάλαιο 14. Ε. Μαρκάκης Επίκουρος Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Κατακερµατισµός Κεφάλαιο 14 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Εισαγωγή στον κατακερµατισµό Συναρτήσεις κατακερµατισµού Χωριστή αλυσίδωση Γραµµική διερεύνηση Διπλός κατακερµατισµός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΙΙ Ενότητα 7

Βάσεις Δεδομένων ΙΙ Ενότητα 7 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 7: Δομές Ευρετηρίων Κατακερματισμός Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

Διαβάστε περισσότερα

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2011-12 ΔΙΔΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής Τιμολέων Σελλής Καθηγητής Άσκηση 1

Διαβάστε περισσότερα

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

Διαβάστε περισσότερα

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΔΕΔΟΜΕΝΑ ΑΛΓΟΡΙΘΜΟΙ -ΠΛΗΡΟΦΟΡΙΑ: Δεδομένα: Αναπαράσταση της Πραγματικότητας Μπορούν να γίνουν αντιληπτά με μια από τις αισθήσεις μας Πληροφορία: Προκύπτει από

Διαβάστε περισσότερα

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου

Διαβάστε περισσότερα

Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας

Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας 1. Πως δομούνται οι ιεραρχικές μνήμες; Αναφέρετε τα διάφορα επίπεδά τους από τον επεξεργαστή μέχρι τη δευτερεύουσα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

Διαβάστε περισσότερα

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

Δυναμική Διατήρηση Γραμμικής Διάταξης

Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Εισαγωγή νέου στοιχείου y αμέσως μετά από το στοιχείο x. x y Διαγραφή στοιχείου y. y Έλεγχος της σειράς

Διαβάστε περισσότερα

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

Διαβάστε περισσότερα

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

Διαβάστε περισσότερα

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

Διαβάστε περισσότερα

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 8: Γραμμική Αναζήτηση και Δυαδική Αναζήτηση-Εισαγωγή στα Δέντρα και Δυαδικά Δέντρα-Δυαδικά Δέντρα Αναζήτησης & Υλοποίηση ΔΔΑ με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

Διαβάστε περισσότερα

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

Διαβάστε περισσότερα

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

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Γραμμικές Λίστες Βασικές Έννοιες Βασικές Έννοιες. Αναπαράσταση με τύπο και με δείκτη. Γραμμικές Λίστες. Βασικές Λειτουργίες. Δομές Δεδομένων: Βασικές Έννοιες Αντικείμενο

Διαβάστε περισσότερα

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

Διαβάστε περισσότερα

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Robert Sedgewick, Αλγόριθμοι σε C, Μέρη 1-4 (Θεμελιώδεις Έννοιες, Δομές Δεδομένων, Ταξινόμηση,

Διαβάστε περισσότερα

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ισοζυγισμένα Δέντρα Υλοποίηση AVL δέντρων Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα

Διαβάστε περισσότερα

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΑΝΑΛΥΣΗ ΜΕΝΟΥ ΕΦΑΡΜΟΓΗΣ... 4 2. ΕΠΕΞΗΓΗΣΗ ΚΕΝΤΡΙΚΟΥ ΜΕΝΟΥ ΚΑΡΤΕΛΑΣ... 5 3. ΔΗΜΙΟΥΡΓΙΑ ΠΕΛΑΤΗ... 6 4. ΑΝΑΖΗΤΗΣΗ ΠΕΛΑΤΗ... 6 5. ΕΠΕΞΕΡΓΑΣΙΑ/ΔΙΑΓΡΑΦΗ

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ. Πως γίνεται ο ορισμός μιας διαδικασίας; Να δοθούν σχετικά παραδείγματα. ΑΡΧΗ Εντολές ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ. Πως γίνεται ο ορισμός μιας διαδικασίας; Να δοθούν σχετικά παραδείγματα. ΑΡΧΗ Εντολές ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Πως γίνεται ο ορισμός μιας διαδικασίας; Να δοθούν σχετικά παραδείγματα. Οι διαδικασίες μπορούν να εκτελέσουν οποιαδήποτε λειτουργία και δεν επιστρέφουν μια τιμή όπως οι συναρτήσεις. Κάθε διαδικασία έχει

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Άσκηση 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών HY460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Διδάσκοντες: Δημήτρης

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

Διαβάστε περισσότερα

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται

Διαβάστε περισσότερα

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ Τα δεδομένα (data) είναι η αφαιρετική αναπαράσταση της πραγματικότητας και συνεπώς μία απλοποιημένη όψη της. Η συλλογή των ακατέργαστων δεδομένων και ο συσχετισμός

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην

Διαβάστε περισσότερα

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

Διαβάστε περισσότερα

ΣΚΟΠΟΙ ΒΗΜΑ 1 Ο. Θα εμφανιστεί το λογότυπο του προγράμματος.. ..και μετά από λίγο ένα παράθυρο με τίτλο Προβολές CMap Tools. [1]

ΣΚΟΠΟΙ ΒΗΜΑ 1 Ο. Θα εμφανιστεί το λογότυπο του προγράμματος.. ..και μετά από λίγο ένα παράθυρο με τίτλο Προβολές CMap Tools. [1] ΦΥΛΛΟ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 2 Κεφάλαιο: 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ, Ενότητα: 1.5 ΜΕ ΤΙ ΑΣΧΟΛΕΙΤΑΙ Η ΠΛΗΡΟΦΟΡΙΚΗ Εμπλεκόμενες έννοιες: Πληροφορική Ονοματεπώνυμο: Τμήμα: Ομάδα: ΣΚΟΠΟΙ Να μάθετε πως θα

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ.

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. Το πρώτο πράγμα που βλέπουμε μόλις ξεκινάμε το παιχνίδι είναι μια λίστα με όλα τα διαθέσιμα βίντεο με τα οποία μπορούμε να εξασκηθούμε. Σε αυτή περιλαμβάνονται επίσης πληροφορίες

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία. Φροντιστήριο 7 o

Βάσεις Δεδομένων. Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία. Φροντιστήριο 7 o Βάσεις Δεδομένων Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία Φροντιστήριο 7 o 2-2-2008 Θεωρία Άτρακτος/αυλάκι : ομόκεντροι κύκλοι στον δίσκο Κύλινδρος:

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτογραφικές Συναρτήσεις. Χρήστος Ξενάκης

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτογραφικές Συναρτήσεις. Χρήστος Ξενάκης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Κρυπτογραφικές Συναρτήσεις Χρήστος Ξενάκης Ψευδοτυχαίες ακολουθίες Η επιλογή τυχαίων αριθμών είναι ένα βασικό σημείο στην ασφάλεια των κρυπτοσυστημάτων

Διαβάστε περισσότερα

Άσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι

Άσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι Άσκηση 1 α) Παρουσιάστε τα AVL δέντρα που προκύπτουν από τις εισαγωγές των κλειδιών 1, 4, 9,, 7,,, 1, 4 και σε ένα αρχικά άδειο AVL δέντρο με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι +4 +9 + 1 1 1

Διαβάστε περισσότερα

Τυχαίοι γράφοι Η διάμετρος του G(n, 2 ln n/n) Ioannis Giotis

Τυχαίοι γράφοι Η διάμετρος του G(n, 2 ln n/n) Ioannis Giotis Τυχαίοι γράφοι Η διάμετρος του G(n, 2 ln n/n) Ioannis Giotis Θεώρημα για σφαίρες Θα δείξουμε ότι το γράφημα G(n, 2 ln n n 1 ) έχει μικρή διάμετρο Θα ξεκινήσουμε με ένα θεώρημα για το μέγεθος μιας σφαίρας

Διαβάστε περισσότερα

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ) Εικονικές Παράμετροι Μέχρι στιγμής είδαμε την εφαρμογή της μεθόδου Simplex σε προβλήματα όπου το δεξιό μέλος ήταν θετικό. Δηλαδή όλοι οι περιορισμοί ήταν της μορφής: όπου Η παραδοχή ότι b 0 μας δίδει τη

Διαβάστε περισσότερα

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι Α λ γ ό ρ ι θ μ ο ι Αριθμητικοί τελεστές Οι αριθμητικοί τελεστές είναι: πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση +,-,*,/ ύψωση σε δύναμη ^ πηλίκο ακέραιης διαίρεσης δύο ακεραίων αριθμών div υπόλοιπο

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 3 Λειτουργίες σε Bits, Αριθμητικά Συστήματα Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Φύση υπολογιστών Η

Διαβάστε περισσότερα

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Φροντιστήριο 17-1-2011 Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία Θεωρία Άτρακτος/αυλάκι : ομόκεντροι κύκλοι στον δίσκο Κύλινδρος:

Διαβάστε περισσότερα

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Πτυχιακή Εξεταστική Ιούλιος 2014 Διδάσκων : Ευάγγελος Μαρκάκης 09.07.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες

Διαβάστε περισσότερα

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού ΤΕΙ ΚΡΗΤΗΣ ΤΜΉΜΑ ΜΗΧΑΝΙΚΏΝ ΠΛΗΡΟΦΟΡΙΚΉΣ Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Συναρτήσεις Κατακερματισμού Ο όρος συνάρτηση κατακερματισμού (hash function) υποδηλώνει ένα μετασχηματισμό που παίρνει

Διαβάστε περισσότερα

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Μέθοδοι μονοδιάστατης ελαχιστοποίησης Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Τυπικές χρήσεις της Matlab

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 9 η Χαρακτήρες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012 ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012 ΘΕΜΑ Α Α1. Δίνονται τα παρακάτω τμήματα αλγορίθμου σε φυσική γλώσσα. 1. Αν το ποσό των αγορών(ποσο_αγορων) ενός πελάτη είναι μεγαλύτερο

Διαβάστε περισσότερα

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

Διαβάστε περισσότερα

Ενότητα 6 Κατακερµατισµός

Ενότητα 6 Κατακερµατισµός Ενότητα 6 Κατακερµατισµός ΗΥ240 - Παναγιώτα Φατούρου Κατακερµατισµός - Αρχές ειτουργίας Έστω U το σύνολο των φυσικών αριθµών και S U ένα σύνολο κλειδιών προς αποθήκευση. Βασική Ιδέα «Αφού το κλειδί k S

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

Διαβάστε περισσότερα

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής: Αυτό που πρέπει να θυμόμαστε, για να μη στεναχωριόμαστε, είναι πως τόσο στις εξισώσεις, όσο και στις ανισώσεις 1ου βαθμού, που θέλουμε να λύσουμε, ακολουθούμε ακριβώς τα ίδια βήματα! Εκεί που πρεπει να

Διαβάστε περισσότερα

Μάθημα 8: Διαχείριση Μνήμης

Μάθημα 8: Διαχείριση Μνήμης Μάθημα 8: Διαχείριση Μνήμης 8.1 Κύρια και δευτερεύουσα μνήμη Κάθε μονάδα ενός υπολογιστή που χρησιμεύει για τη μόνιμη ή προσωρινή αποθήκευση δεδομένων ανήκει στην μνήμη (memory) του υπολογιστή. Οι μνήμες

Διαβάστε περισσότερα

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

Προγραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Εγγραφές Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η Ανάγκη Ομαδοποίησης Πολλές φορές έχουμε πληροφορίες διαφορετικού τύπου οι οποίες όμως έχουν μεγάλη

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών Αναπαράσταση Αριθμών Δεκαδικό και Δυαδικό Δεκαδικό σύστημα Δεκαδικό και Δυαδικό Μετατροπή Για τη μετατροπή ενός αριθμού από το δυαδικό σύστημα στο δεκαδικό, πολλαπλασιάζουμε κάθε δυαδικό ψηφίο του αριθμού

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

Στοιχειώδης προγραμματισμός σε C++

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

Διαβάστε περισσότερα

Επικοινωνία:

Επικοινωνία: Σπύρος Ζυγούρης Καθηγητής Πληροφορικής Επικοινωνία: spzygouris@gmail.com Πως ορίζεται ο τμηματικός προγραμματισμός; Πρόγραμμα Εντολή 1 Εντολή 2 Εντολή 3 Εντολή 4 Εντολή 5 Εντολή 2 Εντολή 3 Εντολή 4 Εντολή

Διαβάστε περισσότερα

Εισαγωγή Ορισμός Frequency moments

Εισαγωγή Ορισμός Frequency moments The space complexity of approximating the frequency moments Κωστόπουλος Δημήτριος Μπλα Advanced Data Structures June 2007 Εισαγωγή Ορισμός Frequency moments Έστω ακολουθία Α = {a 1,a 2,...,a m ) με κάθε

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

τις αναδρομικές ακολουθίες (recursive sequences) στις οποίες ορίζαμε

τις αναδρομικές ακολουθίες (recursive sequences) στις οποίες ορίζαμε Κεφάλαιο 9: Αναδρομή Ο τρόπος με τον οποίο σκεφτήκαμε και σχεδιάσαμε τις συναρτήσεις στο προηγούμενο κεφάλαιο ακολουθούσε τη φιλοσοφία του προγραμματισμού που είχαμε αναπτύξει σε όλο το προηγούμενο βιβλίο.

Διαβάστε περισσότερα

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

Διαβάστε περισσότερα

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης Προσπάθεια υλοποίησης Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι

Διαβάστε περισσότερα

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 4 ο Πράξεις με bits Δρ. Γκόγκος Χρήστος Κατηγορίες πράξεων με bits Πράξεις με δυαδικά ψηφία Αριθμητικές πράξεις

Διαβάστε περισσότερα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Εξωτερική Αναζήτηση και Β-δέντρα Κεφάλαιο 16. Ε. Μαρκάκης Επίκουρος Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Εξωτερική Αναζήτηση και Β-δέντρα Κεφάλαιο 16. Ε. Μαρκάκης Επίκουρος Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εξωτερική Αναζήτηση και Β-δέντρα Κεφάλαιο 16 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Ακολουθιακή πρόσβαση Β-δέντρα Υλοποίηση πίνακα συµβόλων µε Β-δέντρα Αναζήτηση Εισαγωγή Δοµές Δεδοµένων

Διαβάστε περισσότερα

Μηχανική Μάθηση: γιατί;

Μηχανική Μάθηση: γιατί; Μηχανική Μάθηση Μηχανική Μάθηση: γιατί; Απαραίτητη για να μπορεί ο πράκτορας να ανταπεξέρχεται σε άγνωστα περιβάλλοντα Δεν είναι δυνατόν ο σχεδιαστής να προβλέψει όλα τα ενδεχόμενα περιβάλλοντα. Χρήσιμη

Διαβάστε περισσότερα

Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι.

Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι. σύγχρονο Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι. μαθητικό φροντιστήριο 25ης Μαρτίου 111 ΠΕΤΡΟΥΠΟΛΗ 210 50 20 990 210 50 27 990 25ης Μαρτίου 74 ΠΕΤΡΟΥΠΟΛΗ 210 50 50 658 210 50 60 845 Γραβιάς 85 ΚΗΠΟΥΠΟΛΗ

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 14 η Διαχείριση Μνήμης και Δομές Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

Διαβάστε περισσότερα

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

Διαβάστε περισσότερα