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

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

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

Transcript

1 Ενότητα 12: Κατακερματισμός: Χειρισμός Συγκρούσεων Καθηγήτρια Μαρία Σατρατζέμη

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

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

5 Περιεχόμενα ενότητας Αλυσιδωτή σύνδεση (chaining) Αλυσιδωτή σύνδεση (chaining): υλοποίηση Αλυσιδωτή σύνδεση (chaining): δηλώσεις Διαδικασία δημιουργίας κενής δομής Διαδικασία ελέγχου γεμάτης λίστας Διαδικασία αναζήτησης τιμής στη δομή Hlist Διαδικασία αναζήτησης σε υπολίστα συνoνύμων Διαδικασία εισαγωγής Διαδικασία εισαγωγής: Παράδειγμα Διαγραφή εγγραφής Διαδικασία διαγραφής εγγραφής Διαδικασία διαγραφής εγγραφής: παράδειγμα Εναλλακτική υλοποίηση Ανοιχτή διευθυνσιοδότηση 5

6 Αλυσιδωτή σύνδεση (chaining) -1- Η μέθοδος αυτή βασίζεται στις συναρτήσεις κατακερματισμού και στις συνδεδεμένες λίστες. Κάθε μια από τις τιμές κατακερματισμού αντιστοιχεί σε μια συνδεδεμένη υπολίστα συνωνύμων, δηλαδή κάθε σύνολο συνωνύμων σχηματίζει μια συνδεδεμένη υπολίστα. Παράδειγμα: αν έχουμε τιμές κατακερματισμού από 1 έως 5 και κλειδιά με τιμές 23, 38, 10, 12, 53, 45 και 4 τότε οι υπολίστες συνωνύμων που σχηματίζονται είναι όπως δείχνει το διπλανό σχήμα: 6

7 Αλυσιδωτή σύνδεση (chaining) -2- Όταν η υπολίστα έχει περιορισμένο αριθμό εγγραφών, ονομάζεται πολλές φορές κάδος (bucket). Σε ορισμένες περιπτώσεις το μέγεθος του κάδου είναι μία μόνο εγγραφή, αλλά συνήθως ένας κάδος έχει χωρητικότητα πολλών εγγραφών. Ανεξάρτητα από το αν το μέγεθος της υπολίστας είναι σταθερό ή όχι, το μεγαλύτερο μειονέκτημα του κατακερματισμού είναι η αδυναμία δημιουργίας σταθερού αριθμού εγγραφών σε κάθε υπολίστα. 7

8 Αλυσιδωτή σύνδεση (chaining): αποδοτικότητα -1- Η αποδοτικότητα αυτής της μεθόδου εξαρτάται από πολλές παραμέτρους: Το πρώτο πράγμα που θα πρέπει να σκεφτούμε είναι το πλήθος των υπολιστών που θα χρησιμοποιήσουμε. Για να καθορίσουμε, όμως, τον αριθμό των υπολιστών, πρέπει πρώτα να αποφασίσουμε πόσες εγγραφές θα περιέχει κάθε υπολίστα. 8

9 Αλυσιδωτή σύνδεση (chaining): αποδοτικότητα -1- Αν επιθυμούμε να έχουμε k εγγραφές το πολύ σε κάθε υπολίστα και έχουμε συνολικά N εγγραφές στη λίστα, τότε ο συνολικός αριθμός υπολιστών ή κάδων που θα έχουμε είναι b = N/k και η σχέση υπολογισμού της τιμής κατακερματισμού είναι: HashValue = (KeyValue % b) + 1 όπου HashValue είναι η τιμή κατακερματισμού και KeyValue η τιμή του κλειδιού που κατακερματίζεται. 9

10 Αλυσιδωτή σύνδεση (chaining): αποδοτικότητα -2- Αν οι τιμές κλειδιών σχηματίζουν ένα πυκνό σύνολο από ακέραιες τιμές (δηλαδή, αν υπάρχει μια εγγραφή με μια τιμή κλειδιού για κάθε πιθανή τιμή κλειδιού του διαστήματος των κλειδιών) και αν δεν υπάρχουν διπλότυπα, τότε οποιαδήποτε τιμή κι αν επιλέξουμε για το b θα μας δώσει μια όσο γίνεται πιο τέλεια ομοιόμορφη κατανομή. Αν το N είναι πολλαπλάσιο του b, η κατανομή θα είναι ακριβώς τέλεια. Αν, όμως, οι τιμές κλειδιών δεν σχηματίζουν ένα πυκνό σύνολο, αλλά ούτε και μπορούν εύκολα να μετατραπούν σε ένα πυκνό σύνολο από ακέραιες τιμές, τότε η επιλογή του b απαιτεί προσοχή. 10

11 Αλυσιδωτή σύνδεση (chaining): αποδοτικότητα -3- Είναι προφανές ότι δεν θα πρέπει να επιλεγεί ένας διαιρέτης ο οποίος να περιέχει έναν παράγοντα που να διαιρείται με τις περισσότερες τιμές κλειδιών. Αν, για παράδειγμα, όλες οι τιμές των κλειδιών είναι άρτιοι αριθμοί και επιλέξουμε άρτιο διαιρέτη, τότε δεν θα προκύψει ποτέ περιττός αριθμός ως υπόλοιπο. Αυτό θα έχει ως συνέπεια όλες οι τιμές κατακερματισμού να είναι περιττοί αριθμοί και να χρησιμοποιούνται μόνο οι μισές υπολίστες. Στην πραγματικότητα, σε καμία περίπτωση δεν είναι καλό να επιλέξουμε άρτιο αριθμό για το b, όταν οι τιμές των κλειδιών δεν είναι πυκνό σύνολο. Αυτό ισχύει, γιατί διαιρώντας με άρτιο αριθμό προκύπτει υπόλοιπο περιττός ή άρτιος αριθμός ανάλογα με το αν ο διαιρετέος είναι περιττός ή άρτιος αριθμός. Έτσι, αν οι περισσότερες τιμές κλειδιών είναι περιττοί αριθμοί, τότε και τα περισσότερα υπόλοιπα θα είναι περιττοί αριθμοί, ενώ, αν οι περισσότερες τιμές κλειδιών είναι άρτιοι αριθμοί, τότε τα περισσότερα υπόλοιπα θα είναι άρτιοι αριθμοί. 11

12 Αλυσιδωτή σύνδεση (chaining): αποδοτικότητα -4- Εμπειρικά έχει αποδειχθεί ότι το b πρέπει να είναι ο μικρότερος πρώτος αριθμός που είναι ίσος ή μεγαλύτερος από b=ν/k. Επίσης, καλή επιλογή για το b είναι να πάρουμε τον πρώτο περιττό αριθμό που είναι ίσος ή μεγαλύτερος από b=ν/k. 12

13 Αλυσιδωτή σύνδεση (chaining): Η υλοποίηση της παραπάνω μεθόδου γίνεται με τη βοήθεια ενός πίνακα, που έχει τόσες θέσεις όσες είναι και οι διαφορετικές τιμές κατακερματισμού. Ο πίνακας αυτός, που μπορεί να ονομαστεί HashTable, περιέχει δείκτες προς τις συνδεδεμένες υπολίστες συνωνύμων, δηλαδή κάθε καταχώρησή του είναι ένας δείκτης που δείχνει στην αρχή της αντίστοιχης υπολίστας. Έτσι, λοιπόν, έχουμε μια δομή που αποτελείται από: μια λίστα εγγραφών και υλοποίηση έναν πίνακα δεικτών προς υπολίστες συνωνύμων, τα οποία κατευθύνονται στη συγκεκριμένη θέση με βάση τη συνάρτηση κατακερματισμού. 13

14 Αλυσιδωτή σύνδεση (chaining): δηλώσεις #define HMax...; /*όριο μεγέθους του πίνακα κατακερματισμού*/ #define VMax...; /*όριο μεγέθους της λίστας εγγραφών*/ #define EndOfList -1; /*σημαία που σηματοδοτεί το τέλος της λίστας και της κάθε υπολίστας συνωνύμων*/ typedef int ListElementType; /*τύπος δεδομένων για τα στοιχεία της λίστας*/ typedef struct { int RecKey; ListElementType Data; int Link; } ListElm; typedef struct { int HashTable[HMax+1]; // πίνακας δεικτών προς τις υπολίστες συνωνύμων int Size; εγγραφών // πλήθος int SubListPtr; // δείκτης προς 1 υπολίστα συνωνύμων int StackPtr; // δείκτης στη 1η (ελεύθερη) θέση της λίστας εγγραφών List ListElm List[VMax+1]; } HashListType; 14

15 Αλυσιδωτή σύνδεση (chaining): δηλώσεις Στο στάδιο της δημιουργίας της δομής αυτής, κάθε συνώνυμη εγγραφή, που ανήκει σε ένα συγκεκριμένο σύνολο συνωνύμων, προστίθεται στην αντίστοιχη συνδεδεμένη υπολίστα. Μετά τη δημιουργία της δομής, μια αναζήτηση για μια συγκεκριμένη εγγραφή περιλαμβάνει: πρώτα κατακερματισμό για τον εντοπισμό της αρχής της κατάλληλης συνδεδεμένης υπολίστας και, εν συνεχεία, γραμμική αναζήτηση της συνδεδεμένης υπολίστας αυτής για εντοπισμό της ζητούμενης εγγραφής, αν υπάρχει. 15

16 Διαδικασία δημιουργίας κενής δομής void CreateHashList(HashListType *HList) /*Λειτουργία: { Επιστρέφει: int index; Δημιουργεί μια δομή HList. Την δομή HList.*/ HList ->Size = 0; HList ->StackPtr = 1; Index = 1; while (index <= HMax) { HList->HashTable[index] = EndOfList; index++; index = 1; while (Index<VMax) { } HList ->List[Index].Link = index+1; HList->List[index].Data = 0; //εικονική τιμή index++; } HList -> List[Index].Link = EndOfList; } 16

17 Για να εισάγουμε μια εγγραφή στη δομή HashList, πρέπει πρώτα να ελέγξουμε αν η συνδεδεμένη λίστα List είναι γεμάτη με μια συνάρτηση FullHashList, που επιστρέφει TRUE, αν η λίστα είναι γεμάτη, και FALSE, διαφορετικά: boolean FullHashList(HashListType HList) /*Δέχεται: Μια δομή HList. { } Λειτουργία: Επιστρέφει: return (HList.Size == VMax); void HashKey(int Key, int *HValue) { } Διαδικασία ελέγχου γεμάτης *HValue=Key%HMax + 1; λίστας Ελέγχει αν η λίστα List της δομής HList είναι γεμάτη. TRUE αν η λίστα List είναι γεμάτη, FALSE διαφορετικά.*/ 17

18 Διαδικασία αναζήτησης τιμής στη δομή Hlist -1- void SearchHashList(HashListType HList, int KeyArg, int *Loc, int *Pred) /*Δέχεται: Μια δομή HList και μια τιμή κλειδιού KeyArg. Λειτουργία: Αναζητά μια εγγραφή με κλειδί KeyArg στη δομή HList. Επιστρέφει: Τη θέση Loc της εγγραφής και τη θέση Pred της προηγούμενηςεγγραφής της υπολίστας στην οποία ανήκει. Αν δεν υπάρχει εγγραφή με κλειδί KeyArg τότε Loc=Pred=0.*/ 18

19 Διαδικασία αναζήτησης τιμής στη δομή Hlist -1- { } int HVal; HashKey(KeyArg,HVal); if (HList.HashTable[HVal] == EndOfList) { *Pred = 0; *Loc = 0; } else { } HList.SubListPtr = HList.HashTable[HVal]; SearchSynonymList(HList, KeyArg, &(*Loc), &(*Pred)); 19

20 Διαδικασία αναζήτησης σε υπολίστα συνoνύμων -1- void SearchSynonymList(HashListType HList, int KeyArg, int *Loc, int *Pred) /*Δέχεται: Μια δομή HList και μια τιμή κλειδιού KeyArg. Λειτουργία: Αναζητά μια εγγραφή με κλειδί KeyArg στην υπολίστα συνωνύμων. Επιστρέφει: Τη θέση Loc της εγγραφής και τη θέση Pred της προηγούμενηςεγγραφής στην υπολίστα.*/ 20

21 Διαδικασία αναζήτησης σε υπολίστα συνoνύμων -2- { int Next; Next = HList.SubListPtr; *Loc = 0; *Pred = 0; while (Next!= EndOfList) { if (HList.List[Next].RecKey == KeyArg) { *Loc = Next; Next = EndOfList; } else { *Pred = Next; Next = HList.List[Next].Link; } } } 21

22 Διαδικασία εισαγωγής -1- void AddRec(HashListType *HList, ListElm InRec) /*Δέχεται: Μια δομή HList και μια εγγραφή InRec. Λειτουργία: Εισάγει την εγγραφή InRec στη λίστα List, αν δεν είναι γεμάτη, και ενημερώνει τη δομή HList. Επιστρέφει: Την τροποποιημένη δομή HList. Έξοδος: Μήνυμα γεμάτης λίστας, αν η List είναι γεμάτη, διαφορετικά, αν υπάρχει ήδη εγγραφή με το ίδιο κλειδί, εμφάνιση αντίστοιχου μηνύματος.*/ 22

23 Διαδικασία εισαγωγής -2- { int Loc, Pred, New, HVal; if (!FullHashList(*HList)) { Loc = 0; Pred = 0; SearchHashList(*HList, InRec.RecKey, &Loc, &Pred); 23

24 Διαδικασία εισαγωγής -3- if (Loc == 0) { HList->Size ++; New = HList->StackPtr; HList->StackPtr = HList->List[New].Link; HList->List[New] = InRec; if (Pred == 0) { HashKey(InRec.RecKey, &HVal); HList->HashTable[HVal] == New; HList->List[New].Link == EndOfList; } } else { HList->List[New].Link == HList->List[Pred].Link; HList->List[Pred].Link == New; } else printf("yparxei HDH EGGRAFH ME TO IDIO KLEIDI \n"); } else printf("full list...\n"); } 24

25 Παράδειγμα -1- Έστω ότι το πλήθος των συνδεδεμένων υπολιστών είναι 5 και ότι η συνάρτηση κατακερματισμού είναι αυτή που χρησιμοποιείται στην διαίρεση, δηλαδή: HValue=(Key % HMax) + 1 HMax=5 Ο πίνακας HashTable θα έχει 6 θέσεις. Θα χρησιμοποιηθούν οι 5 (1 έως 5) σε καθεμιά από τις οποίες καταχωρούμε αρχικά την τιμή -1, που λειτουργεί ως μηδενικός δείκτης. VMax=15 Το μέγεθος του πίνακα List θεωρούμε ότι είναι 16, δηλαδή και ο πίνακας List θα είναι ως εξής: 25

26 Παράδειγμα -2- Δηλαδή, η εγγραφή που θα αποθηκευτεί στην θέση 1 του πίνακα List θα έχει ως επόμενη αυτήν που θα αποθηκευτεί στη θέση 2 (List[1].link=2), κ.ο.κ. Η αρχικοποίηση των τιμών του πίνακα HashTable όσο και του πίνακα List γίνεται με τη βοήθεια της διαδικασίας CreateHashList. Κατ' αρχήν θεωρούμε ότι τα στοιχεία του πίνακα List σχηματίζουν συνδεδεμένη λίστα, όπου το πρώτο στοιχείο θα αποθηκευτεί στη θέση 1 του πίνακα List, το δεύτερο στοιχείο θα αποθηκευτεί στη θέση 2 του πίνακα List, κ.ο.κ. και η αρχή της συνδεδεμένης λίστας αποθηκεύεται στη μεταβλητή StackPtr. Η συνδεδεμένη αυτή λίστα λειτουργεί ως στοίβα. 26

27 Παράδειγμα -3- Αρχικά, η συνδεδεμένη λίστα List της δομής HashList είναι κενή και έστω ότι επιθυμούμε να εισάγουμε σ' αυτήν μια εγγραφή με τιμή κλειδιού 40. τ Η συνάρτηση κατακερματισμού μας δίνει τιμή κατακερματισμού HValue=(40 mod 5) + 1 = 1 δηλαδή η εγγραφή θα προστεθεί στη 1η υπολίστα. Η List δεν είναι γεμάτη ούτε και υπάρχει ήδη εγγραφή με κλειδί 40, επομένως η νέα εγγραφή θα είναι το πρώτο στοιχείο της λίστας List και στην θέση HValue=1 ου πίνακα HashTable θα καταχωρηθεί η τιμή 1: 27

28 Παράδειγμα -4- Έστω ότι η επόμενη εγγραφή που πρόκειται να εισάγουμε έχει τιμή κλειδιού 71. Η τιμή κατακερματισμού είναι HValue=(71 % 5) + 1 = 2 δηλαδή η εγγραφή θα προστεθεί στην 2η υπολίστα και στη θέση HValue=2 του πίνακα HashTable θα καταχωρηθεί η τιμή 2: 28

29 Παράδειγμα -5- Αν τώρα εισαγάγουμε μια εγγραφή με κλειδί 23 η εισαγωγή αυτή θα γίνει στην 4η υπολίστα, γιατί HValue=(23 % 5) + 1 = 4 και στην θέση HValue=4 του πίνακα HashTable θα καταχωρηθεί η τιμή 3, γιατί η εισαγωγή γίνεται στη θέση 3 της λίστας List: 29

30 Παράδειγμα -6- Στη συνέχεια, επιθυμούμε να εισάγουμε μια νέα εγγραφή με κλειδί 86, και η εισαγωγή θα γίνει στη θέση 4 της λίστας List. Επειδή έχει ήδη εισαχθεί εγγραφή με αυτήν την τιμή κατακερματισμού (η εγγραφή με κλειδί 71), θα πρέπει να συνδεθούν αυτές οι δύο συνώνυμες εγγραφές για να σχηματιστεί η αντίστοιχη υπολίστα. Η σύνδεση αυτή γίνεται αλλάζοντας την τιμή του πεδίου Link της δεύτερης εγγραφής σε 4 ώστε να δείχνει στην εγγραφή 4: Όπως φαίνεται από το παραπάνω σχήμα, η τιμή HashTable[2] δεν αλλάζει, γιατί δείχνει στην αρχή της 2ης υπολίστας, που είναι η δεύτερη εγγραφή. 30

31 Παράδειγμα -7- Εν συνεχεία, έστω ότι θέλουμε να εισαγάγουμε μια εγγραφή με τιμή κλειδιού 12. Επειδή HValue=(12 % 5) + 1 = 3 και η εγγραφή θα τοποθετηθεί στην θέση 5 της λίστας List, στην θέση 3 του πίνακα καταχωρούμε την τιμή 5, όπως δείχνει και το διπλανό σχήμα: 31

32 Παράδειγμα -8- Έστω ότι ακολουθεί νέα εισαγωγή με τιμή κλειδιού 45. Η εγγραφή αυτή θα τοποθετηθεί στην έκτη θέση της λίστας List και θα ανήκει στην 1η υπολίστα συνωνύμων, αφού HValue=(45 % 5) + 1 = 1 Επομένως, το πεδίο Link της εγγραφής με κλειδί 40 θα πάρει τιμή 6 για να δείχνει στην έκτη εγγραφή: 32

33 Παράδειγμα -9- Αν τώρα αποφασίσουμε να εισαγάγουμε μια εγγραφή με κλειδί 39, θα πρέπει να αποθηκεύσουμε στην θέση HValue=(39 % 5) + 1 = 5 του πίνακα HashTable την τιμή 7, γιατί η νέα εγγραφή θα τοποθετηθεί στην θέση 7 της λίστας List: 33

34 Παράδειγμα -10- Έστω ότι η επόμενη εγγραφή που θα εισαχθεί είναι μια εγγραφή με κλειδί 68 δηλαδή με τιμή κατακερματισμού HValue=(68 % 5) + 1 = 4 Η εγγραφή αυτή θα βρίσκεται στην όγδοη θέση της λίστας List και θα ανήκει στην τέταρτη υπολίστα συνωνύμων, οπότε θέτουμε την τιμή 8 στο πεδίο Link της εγγραφής με τιμή κλειδιού 23: 34

35 Παράδειγμα -11- Αν υποθέσουμε ότι ακολουθεί εισαγωγή μιας εγγραφής με κλειδί 30, τότε η τιμή κατακερματισμού HValue=(30 % 5) + 1 = 1 μας οδηγεί στο να αλλάξουμε την τιμή του πεδίου Link της εγγραφής με τιμή κλειδιού 45 σε 9, αφού η εισαγωγή θα γίνει στην θέση 9 της λίστας List: 35

36 Παράδειγμα -12- Κατά τον ίδιο τρόπο μπορούν να γίνουν και οι εισαγωγές άλλων στοιχείων. Στα σχήματα που ακολουθούν φαίνονται οι εισαγωγές εγγραφών με κλειδιά 22, 3 και 54 αντίστοιχα: 36

37 Διαγραφή εγγραφής -1- Όταν πρόκειται να διαγράψουμε μια εγγραφή, καλούμε πρώτα τη διαδικασία SearchHashList για να την εντοπίσουμε και, εφόσον υπάρχει, τη διαγράφουμε διακρίνοντας δύο περιπτώσεις: (α) η εγγραφή έχει προηγούμενη και (β) η εγγραφή είναι η πρώτη της υπολίστας στην οποία ανήκει. Στην περίπτωση (α): χρειάζεται να αλλάξουμε την τιμή του πεδίου Link της προηγούμενης εγγραφής ώστε να δείχνει στην επόμενη αυτής που θα διαγραφεί, ενώ στην περίπτωση (β): βρίσκουμε την τιμή κατακερματισμού HValue και αλλάζουμε την καταχώρηση HashTable[HValue] ώστε να δείχνει στην θέση της δεύτερης εγγραφής της αντίστοιχης υπολίστας. 37

38 Διαγραφή εγγραφής -2- Και στις δυο περιπτώσεις: χρειάζεται να θέσουμε την τιμή StackPtr στο πεδίο Link της διαγραμμένης εγγραφής και ο δείκτης StackPtr να δείχνει στη θέση της διαγραμμένης εγγραφής, ώστε να γίνει αυτή η πρώτη διαθέσιμη θέση της λίστας List. Ο διαδικασία της διαγραφής είναι ο εξής: 38

39 Διαδικασία διαγραφής εγγραφής -1- void DeleteRec(HashListType HList, int DelKey) /*Δέχεται: Μια δομή HList και το κλειδί DelKey της εγγραφής που πρόκειται να διαγραφεί. Λειτουργία: Διαγράφει την εγγραφή με κλειδί DelKey από τη λίστα List, αν υπάρχει, και ενημερώνει τη δομή HList. Επιστρέφει: Την τροποποιημένη δομή HList. Έξοδος: Αν δεν υπάρχει εγγραφή με αυτό το κλειδί, εμφάνιση αντίστοιχου μηνύματος.*/ 39

40 Διαδικασία διαγραφής εγγραφής -2- { int Loc, Pred, New, HVal; SearchHashList(*HList, DelKey, &Loc, &Pred); if (Loc!= 0) { if (Pred!= 0) HList->List[Pred].Link = HList->List[Loc].Link; else { } HashKey(DelKey, &HVal); HList ->HashTable[HVal] = HList->List[Loc]. Link; HList ->List[Loc].Link = HList ->StackPtr; HList ->StackPtr = Loc; HList ->Size--; } else printf( DEN YPARXEI EGGRAFH ME KLEIDI %d \n", DelKey); } 40

41 Διαδικασία διαγραφής εγγραφής: παράδειγμα -1- Έστω ότι θέλουμε να διαγράψουμε την εγγραφή με κλειδί 68. Η εγγραφή αυτή ανήκει στην 4η υπολίστα συνωνύμων, αφού HValue=(68 % 5) + 1 = 4 και δεν είναι η πρώτη εγγραφή της υπολίστας αυτής. Επομένως: θέτουμε το πεδίο Link της εγγραφής με κλειδί 23, δηλαδή της προηγούμενης εγγραφής, ίσο με τη θέση της επόμενης εγγραφής, δηλαδή 11. Ο δείκτης StackPtr έχει τιμή 13, επομένως στο πεδίο Link της εγγραφής με κλειδί 68 θέτουμε την τιμή 13, ενώ ο δείκτης StackPtr παίρνει τώρα τιμή 8: 41

42 Διαδικασία διαγραφής εγγραφής: παράδειγμα -2- Αν επιθυμούμε να διαγράψουμε την εγγραφή με τιμή κλειδιού 12 ((12 % 5) + 1 = 3), δηλαδή την πρώτη εγγραφή της τρίτης υπολίστας συνωνύμων, τότε χρειάζεται: να θέσουμε την τιμή 10 στην θέση 3 του πίνακα HashTable, γιατί η πρώτη εγγραφή της τρίτης υπολίστας θα είναι τώρα η εγγραφή με τιμή κλειδιού 22, που βρίσκεται στη θέση 10 της λίστας List. Στο πεδίο Link της διαγραμμένης εγγραφής θέτουμε την τιμή StackPtr=8 και ο δείκτης StackPtr παίρνει τιμή 5: 42

43 Διαδικασία διαγραφής εγγραφής: παράδειγμα -3- Αν επιθυμούμε να διαγράψουμε την εγγραφή με τιμή κλειδιού 12 ((12 % 5) + 1 = 3), δηλαδή την πρώτη εγγραφή της τρίτης υπολίστας συνωνύμων, τότε χρειάζεται: να θέσουμε την τιμή 10 στην θέση 3 του πίνακα HashTable, γιατί η πρώτη εγγραφή της τρίτης υπολίστας θα είναι τώρα η εγγραφή με τιμή κλειδιού 22, που βρίσκεται στη θέση 10 της λίστας List. Στο πεδίο Link της διαγραμμένης εγγραφής θέτουμε την τιμή StackPtr=8 και ο δείκτης StackPtr παίρνει τιμή 5: 43

44 Διαδικασία διαγραφής εγγραφής: παράδειγμα -4- Από τα αριθμητικά παραδείγματα φαίνεται ότι στη δομή List αποθηκεύονται οι υπολίστες συνωνύμων, ως συνδεδεμένες λίστες, αλλά και οι εγγραφές που είναι διαθέσιμες για αποθήκευση στοιχείων. Για τις εγγραφές αυτές διατηρούμε μια στοίβα, της οποίας η κορυφή αποθηκεύεται στη μεταβλητή StackPtr και η διεύθυνση του επόμενου στοιχείου της στοίβας αποθηκεύεται στο πεδίο Link. 44

45 Εναλλακτική υλοποίηση -1- Υπάρχει και μια εναλλακτική υλοποίηση κατακερματισμού με αλυσιδωτή σύνδεση χωρίς να χρειάζεται ο πίνακας HashTable: Αν υπάρχουν k πιθανές τιμές κατακερματισμού, τότε κρατούμε τις k πρώτες θέσεις του πίνακα List για τις πρώτες εγγραφές των k υπολιστών αντίστοιχα. Όταν πρόκειται να εισαγάγουμε μια νέα εγγραφή στη λίστα, κατακερματίζουμε το κλειδί της για να βρούμε τη θέση μέσα στη λίστα List, όπου πρέπει να τοποθετήσουμε την εγγραφή αυτή. Αν η θέση δεν είναι κατειλημμένη, τότε η εγγραφή τοποθετείται εκεί και αποτελεί την αρχή μιας υπολίστας συνωνύμων. Αν η θέση είναι κατειλημμένη από άλλη εγγραφή, τότε τοποθετούμε τη νέα εγγραφή στην πρώτη διαθέσιμη θέση της λίστας List μετά από τις πρώτες k θέσεις και τη συνδέουμε με την αντίστοιχη υπολίστα συνωνύμων. 45

46 Εναλλακτική υλοποίηση -2- Αν έχουμε τις τιμές κατακερματισμού 1, 2, 3, 4 και 5 όπως παραπάνω, και εισαγάγουμε τις ίδιες εγγραφές με την ίδια σειρά, όπως στο προηγούμενο παράδειγμα, δηλαδή οι τιμές των κλειδιών είναι με τη σειρά 40, 71, 23, 86, 12, 45, 39, 68, 30, 22, 3 και 54, τότε οι καταχωρήσεις στον πίνακα List είναι ως εξής: 46

47 Ανοιχτή διευθυνσιοδότηση -1- Στην τεχνική της ανοιχτής διευθυνσιοδότησης (open addressing), όταν συμβαίνει κάποια σύγκρουση, γίνεται εξέταση ή ανίχνευση της περιοχής των εγγραφών σύμφωνα με κάποιο προκαθορισμένο σχήμα για να εντοπιστεί μια κενή σχισμή για τη νέα εγγραφή. Αργότερα, όταν αναζητείται αυτή η εγγραφή, χρησιμοποιείται το ίδιο σχήμα ανίχνευσης για τον εντοπισμό της. 47

48 Ανοιχτή διευθυνσιοδότηση -2- Η πιο απλή μορφή εξέτασης που χρησιμοποιείται στην μέθοδο της ανοιχτής διευθυνσιοδότησης είναι η γραμμική εξέταση (linear probing). Στην γραμμική εξέταση, όταν θέλουμε να εισαγάγουμε μια εγγραφή και η σχισμή στην οποία πρέπει να τοποθετηθεί είναι κατειλημμένη, ελέγχουμε αν η επόμενη σειριακά σχισμή (ή κάδος) είναι ελεύθερη: Έτσι, δηλαδή, αν η σχισμή στη θέση k της λίστας είναι κατειλημμένη, τότε η επόμενη θέση που εξετάζεται είναι η k+1. Για την ακρίβεια, η θέση που εξετάζεται είναι η (k+1)mod(vmax), πράγμα που σημαίνει ότι η εξέταση γίνεται κατά κυκλικό τρόπο, δηλαδή, αν φτάσει στην τελευταία θέση του πίνακα, η διαδικασία συνεχίζεται στην πρώτη θέση. Η αναζήτηση, λοιπόν, προχωρά γραμμικά στις διαδοχικές θέσεις του πίνακα μέχρις ότου βρεθεί κενός χώρος ή προσπελαστεί πάλι η αρχική θέση (που σημαίνει ότι ο πίνακας είναι γεμάτος). Αργότερα, αφού έχει δημιουργηθεί η δομή της λίστας με κατακερματισμό, χρησιμοποιείται η ίδια σειρά εξέτασης για την αναζήτηση μιας εγγραφής. 48

49 Ανοιχτή διευθυνσιοδότηση -3- Ένα μεγάλο μειονέκτημα της γραμμικής εξέτασης σε σχέση με άλλες τεχνικές εξέτασης είναι το πρόβλημα της συγκέντρωσης (clustering). Συγκέντρωση είναι η τάση που έχουν οι εγγραφές να συγκεντρώνονται γύρω από μια περιοχή της λίστας, όπου έχουν συμβεί μία ή παραπάνω συγκρούσεις. Η συγκέντρωση εμφανίζεται στην περίπτωση της γραμμικής εξέτασης, γιατί μια σύγκρουση προκαλεί την επόμενη σειριακά διαθέσιμη θέση να χρησιμοποιηθεί για την επίλυση της σύγκρουσης. Αυτό έχει ως αποτέλεσμα να υπάρχει μεγαλύτερη πιθανότητα για επόμενες συγκρούσεις σ' αυτήν την γειτονιά, οπότε προκύπτουν περισσότερες συγκρούσεις και αυξάνεται η συγκέντρωση. 49

50 Ανοιχτή διευθυνσιοδότηση -4- Όταν οι εγγραφές συγκεντρώνονται ως αποτέλεσμα της γραμμικής εξέτασης, μια αναζήτηση για μια εγγραφή που έπρεπε να τοποθετηθεί σε άλλη θέση λόγω σύγκρουσης μπορεί να εκφυλιστεί σε μια υπερβολικά μεγάλη σειριακή αναζήτηση. Ωστόσο, αν το σχήμα εξέτασης που χρησιμοποιείται, κατανέμει καλύτερα τις εγγραφές μέσα στη λίστα, όταν γίνονται συγκρούσεις, τότε οι περισσότερες αναζητήσεις, που απαιτούν εξέταση, μπορούν να παραμείνουν σχετικά μικρές. 50

51 Τέλος Ενότητας

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

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

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

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα

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

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

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

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

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

Δομές Δεδομένων. Ενότητα 10: Πλήρη Δυαδικά Δέντρα, Μέγιστα/Ελάχιστα Δέντρα & Εισαγωγή στο Σωρό- Ο ΑΤΔ Μέγιστος Σωρός. Καθηγήτρια Μαρία Σατρατζέμη

Δομές Δεδομένων. Ενότητα 10: Πλήρη Δυαδικά Δέντρα, Μέγιστα/Ελάχιστα Δέντρα & Εισαγωγή στο Σωρό- Ο ΑΤΔ Μέγιστος Σωρός. Καθηγήτρια Μαρία Σατρατζέμη Ενότητα 10: Πλήρη Δυαδικά Δέντρα, Μέγιστα/Ελάχιστα Δέντρα & Εισαγωγή στο Σωρό- Ο ΑΤΔ Μέγιστος Σωρός Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

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

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

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

Δομές Δεδομένων. Ενότητα 6: Εφαρμογή Συνδεδεμένων Λιστών: Αλφαβητικό ευρετήριο κειμένου- Υλοποίηση ΑΤΔ Στοίβα και Ουρά με δείκτες

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

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

Δομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις Ο ΑΤΔ Λεξικό Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος Υλοποιήσεις Πίνακας με στοιχεία bit (0 ή 1) (bit vector) Λίστα ακολουθιακή (πίνακας) ή συνδεδεμένη Είναι γνωστό το μέγιστο

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

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ Ενότητα # 3: Αριθμητικά Περιγραφικά Μέτρα Εβελίνα Κοσσιέρη Τμήμα Λογιστικής και Χρηματοοικονομικής ΑΔΕΙΕΣ

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ηλεκτρονικοί Υπολογιστές

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 9: Πίνακες στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

ΛΙΣΤΕΣ. Ορισμός ΑΤΔ Λίστα ΑΤΔ Ακολουθιακή Λίστα Διαχείριση Δεικτών και Λιστών στη C ΑΤΔ Συνδεδεμένη Λίστα. Εφαρμογές και Χρήση Λιστών

ΛΙΣΤΕΣ. Ορισμός ΑΤΔ Λίστα ΑΤΔ Ακολουθιακή Λίστα Διαχείριση Δεικτών και Λιστών στη C ΑΤΔ Συνδεδεμένη Λίστα. Εφαρμογές και Χρήση Λιστών ΛΙΣΤΕΣ Ορισμός ΑΤΔ Λίστα ΑΤΔ Ακολουθιακή Λίστα Διαχείριση Δεικτών και Λιστών στη C ΑΤΔ Συνδεδεμένη Λίστα Υλοποίηση με δείκτες (pointers) Υλοποίηση με πίνακα Εφαρμογές και Χρήση Λιστών Λίστες (Lists) Δεδομένα

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

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 4: Μετασχηματισμοί Ισοδυναμίας Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 6α: Αναζήτηση Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commos. Για εκπαιδευτικό

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Κατακερματισμός Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Λεξικό Dictionary Ένα λεξικό (dictionary) είναι ένας αφηρημένος τύπος δεδομένων (ΑΤΔ) που διατηρεί

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

ΠΛΗ111. Ανοιξη Μάθηµα 8 ο. Αναζήτηση. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ΠΛΗ111. Ανοιξη Μάθηµα 8 ο. Αναζήτηση. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 8 ο Αναζήτηση Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Αναζήτηση Αναζήτηση σε ιατεταγµένο Πίνακα υαδική Αναζήτηση Κατακερµατισµός

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα: 11Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Δρ. ΠΑΝΤΕΛΗΣ ΑΓΓΕΛΙΔΗΣ Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Πληροφορική ΙΙ Θεματική Ενότητα 5

Πληροφορική ΙΙ Θεματική Ενότητα 5 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 5 Λογικοί Τελεστές Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

Δομημένος Προγραμματισμός

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

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

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ Ενότητα 7: Έλεγχοι σημαντικότητας πολλών ανεξάρτητων δειγμάτων Κωνσταντίνος Ζαφειρόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διάλεξη Ε7: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Hashing, Final Exam Διδάσκων: Κωνσταντίνος Κώστα ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ. Ε7-1

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

Μαθηματικά. Ενότητα 2: Δεκαδικοί αριθμοί, κλάσματα, δυνάμεις, ρίζες και ποσοστά. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Μαθηματικά. Ενότητα 2: Δεκαδικοί αριθμοί, κλάσματα, δυνάμεις, ρίζες και ποσοστά. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής Μαθηματικά Ενότητα 2: Δεκαδικοί αριθμοί, κλάσματα, δυνάμεις, ρίζες και ποσοστά Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

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

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 10: Συναρτήσεις Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 3: Τύποι Δεδομένων - Τελεστές Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Υλοποίηση Λιστών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμές Απλά και Διπλά Συνδεδεμένες Λίστες Κυκλικές Απλά και Διπλά Συνδεδεμένες Λίστες Τεχνικές Μείωσης Μνήμης ΕΠΛ 231 Δομές

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:08 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Συστήματα Αυτομάτου Ελέγχου Ενότητα Α: Γραμμικά Συστήματα Όνομα Καθηγητή: Ραγκούση Μαρία Τμήμα: Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες

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

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής Μαθηματικά Ενότητα 7: Μη Πεπερασμένα Όρια Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Αναζήτηση και ταξινόµηση 7 Αναζήτηση (search) Πρόβληµα: αναζήτηση της καταχώρησης key στη

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

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

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:

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

Υπολογιστικά & Διακριτά Μαθηματικά

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

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 6 : Δομές αρχείων. Δρ. Γκόγκος Χρήστος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 6 : Δομές αρχείων. Δρ. Γκόγκος Χρήστος 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 6 : Δομές αρχείων Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής

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

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Πληροφορική Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

Μαθηματικά. Ενότητα 9: Όριο Συνάρτησης στο Διηνεκές. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Μαθηματικά. Ενότητα 9: Όριο Συνάρτησης στο Διηνεκές. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής Μαθηματικά Ενότητα 9: Όριο Συνάρτησης στο Διηνεκές Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

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

Βάσεις Περιβαλλοντικών Δεδομένων

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

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 3: Συναρτήσεις printf() και scanf() Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 8α: Ταξινόμηση-Σύγκριση αλγορίθμων ταξινόμησης Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 8: Αρχεία και Δομές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν

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

Μαθηματικά. Ενότητα 1: Οι Αριθμοί. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Μαθηματικά. Ενότητα 1: Οι Αριθμοί. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής Μαθηματικά Ενότητα 1: Οι Αριθμοί Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Πίνακες (Μια παλιά άσκηση) Εισαγωγή. A n

Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Πίνακες (Μια παλιά άσκηση) Εισαγωγή. A n Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς A n O(1) (στην πρώτη ελέυθερη θέση στο τέλος του πίνακα).

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 6β: Ταξινόμηση με εισαγωγή και επιλογή Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creatve

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

Στατιστική Επιχειρήσεων Ι

Στατιστική Επιχειρήσεων Ι ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πειραιά Στατιστική Επιχειρήσεων Ι Ενότητα 2: Τυχαίες Μεταβλητές Μιλτιάδης Χαλικιάς, Επίκουρος Καθηγητής Τμήμα Διοίκησης Επιχειρήσεων Άδειες Χρήσης Το

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

10. Πίνακες Κατακερματισμού

10. Πίνακες Κατακερματισμού Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 10. Πίνακες Κατακερματισμού 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 16/12/2016 Πίνακες

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

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

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

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης Γ7.5 Αλγόριθμοι Αναζήτησης Γ Λυκείου Κατεύθυνσης Εισαγωγή Αλγόριθμος αναζήτησης θεωρείται ένας αλγόριθμος, ο οποίος προσπαθεί να εντοπίσει ένα στοιχείο με συγκεκριμένες ιδιότητες, μέσα σε μία συλλογή από

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

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ Ενότητα #8: Όριο και Συνέχεια Συνάρτησης Εβελίνα Κοσσιέρη Τμήμα Λογιστικής και Χρηματοοικονομικής

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

Πληροφορική II. Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι. τύποι δεδομένων. Δρ. Γκόγκος Χρήστος

Πληροφορική II. Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι. τύποι δεδομένων. Δρ. Γκόγκος Χρήστος 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι τύποι δεδομένων Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Τμήμα Χρηματοοικονομικής

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Αρχεία με Χαρτογράφηση

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

Μαθηματικά. Ενότητα 3: Εξισώσεις και Ανισώσεις 1 ου βαθμού. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Μαθηματικά. Ενότητα 3: Εξισώσεις και Ανισώσεις 1 ου βαθμού. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής Μαθηματικά Ενότητα 3: Εξισώσεις και Ανισώσεις 1 ου βαθμού Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης. Λογισμός 3 Ασκήσεις. Μιχάλης Μαριάς Τμήμα Α.Π.Θ.

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης. Λογισμός 3 Ασκήσεις. Μιχάλης Μαριάς Τμήμα Α.Π.Θ. Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Λογισμός 3 Μιχάλης Μαριάς Τμήμα Α.Π.Θ. Θεσσαλονίκη, 2015 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 6: Πίνακες και Δείκτες Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #5 2 Γενικά Στο Τετράδιο #5 του Εργαστηρίου θα ασχοληθούμε με πιο προχωρημένα θέματα υλοποίησης

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

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ Ενότητα 11: Επιλογή μεταβλητών στην παλινδρόμηση Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης ΥΠΟΛΟΓΙΣΤΕΣ ΙI Δομή του προγράμματος Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

Αλγόριθμοι Αναζήτησης

Αλγόριθμοι Αναζήτησης Αλγόριθμοι Αναζήτησης ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 7 η : Εντολές Επανάληψης Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Διοίκησης Επιχειρήσεων

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 8: Πίνακες Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ Ε.Μ.Π. ΣΧΟΛΗ ΑΡΧΙΤΕΚΤΟΝΩΝ ΤΟΜΕΑΣ ΣΥΝΘΕΣΕΩΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΑΙΧΜΗΣ ΠΕΡΙΟΧΗ ΟΙΚΟΔΟΜΙΚΗΣ ntua ACADEMIC OPEN COURSES ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΤΗΣ ΟΙΚΟΔΟΜΙΚΗΣ II Β. ΤΣΟΥΡΑΣ Επίκουρος Καθηγητής Άδεια

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Διακριτά Μαθηματικά Ι Ενότητα 2: Γεννήτριες Συναρτήσεις Μέρος 3 Διδάσκων: Χ. Μπούρας (bouras@cti.gr) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες Χρήσης Creative

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών Ενότητα 6: Αρχεία Δομές Αρχείων, 2ΔΩ Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Θεόδωρος Τσιλιγκιρίδης Μαθησιακοί Στόχοι Με την ολοκλήρωση της ενότητας ο φοιτητής/τρια

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 2 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών

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

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

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

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

Λογιστικές Εφαρμογές Εργαστήριο

Λογιστικές Εφαρμογές Εργαστήριο ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Λογιστικές Εφαρμογές Εργαστήριο Ενότητα #7: Αναλυτικό Ημερολόγιο Διαφόρων Πράξεων Μαρία Ροδοσθένους Τμήμα Λογιστικής και Χρηματοοικονομικής

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ Συνδυασμένη χρήση μοντέλων προσομοίωσης βελτιστοποίησης. Η μέθοδος του μητρώου μοναδιαίας απόκρισης Νικόλαος

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