ΕΝΟΤΗΤΑ 3 ΓΡΑΜΜΙΚΕΣ ΛΙΣΤΕΣ
|
|
- Ἀπφία Μεσσηνέζης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΕΝΟΤΗΤΑ 3 ΓΡΑΜΜΙΚΕΣ ΛΙΣΤΕΣ 1
2 Αφηρηµ. τύπος δεδοµένων Γραµµική Λίστα Γραµµική λίστα (linear list) ένα σύνολο από n 0 στοιχεία L 0, L 1,..., L n-1 : L 0 είναι το 1ο στοιχείο, 0 < k < n-1 : το στοιχείο L k προηγείται του στοιχείου L k+1 και έπεται του στοιχείου L k-1. L 0 : αρχή (head) L n-1 : τέλος (tail) L : µήκος λίστας ( L = n) < >: κενή λίστα Λειτουργίες: Access(L,j): Επιστρέφει L j ή ένα µήνυµα λάθους αν j < 0 ή j > L -1. Length(L): Επιστρέφει L. Concat(L,L ): (συνένωση) επιστρέφει µία λίστα, το αποτέλεσµα της τοποθέτησης της L µετά την L. MakeEmptyList(): επιστρέφει (δείκτη σε) < >. IsEmptyList(L): επιστρέφει true αν L = < >, false διαφορετικά. 2
3 Είδη Γραµµικών Λιστών Ανάλογα µε θέσεις αποθήκευσης κόµβων : Σειριακή Λίστα: καταλαµβάνει συνεχόµενες θέσεις κύριας µνήµης Συνδεδεµένη Λίστα: οι κόµβοι βρίσκονται σε αποµακρυσµένες θέσεις συνδεδεµένες µεταξύ τους µε δείκτες. Ανάλογα µε πλήθος στοιχείων : Στατικές Λίστες: τo µέγιστο πλήθος στοιχείων είναι εξ αρχής γνωστό (υλοποίηση µε σειριακές λίστες). υναµικές Λίστες: το µέγιστο πλήθος στοιχείων δεν είναι γνωστό. Επιτρέπεται η επέκταση ή η συρρίκνωση της λίστας κατά την εκτέλεση του προγράµµατος (υλοποίηση µε συνδεδεµένες λίστες). Ειδικοί τύποι λιστών Στοίβα Ουρά 3
4 Αφηρηµ. τύπος δεδοµένων Στοίβα (Stack) Εισαγωγή και ιαγραφή στοιχείων στο ένα της άκρο, την κορυφή. Λειτουργίες Top_Element(S): επιστρέφει το στοιχείο στην κορυφή της S Pop(S): (λειτουργία απώθησης) διαγραφή και επιστροφή του στοιχείου στην κορυφή της S Push(x,S): (λειτουργία ώθησης) εισαγωγή του στοιχείου x στην κορυφή της στοίβας MakeEmptyStack(): επιστρέφει (δείκτη σε) < >. IsEmptyStack(S): επιστρέφει true αν S = 0, διαφορετικά false. Η µέθοδος επεξεργασίας των δεδοµένων στοίβας λέγεται «Τελευταίο Μέσα Πρώτο Έξω» (Last In First Out, LIFO). 4
5 Αφηρηµ. τύπος δεδοµένων Ουρά (Queue) Εισαγωγή στοιχείων στο ένα άκρο της και ιαγραφή στοιχείων στο άλλο. Λειτουργίες Enqueue(x,Q): Εισαγωγή x στο τέλος της Q (αντίστοιχα, Concat(Q, <x>)). Dequeue(Q): ιαγραφή & επιστροφή του στοιχείου στην αρχή της Q (δηλ., Q = < Q 0,, Q Q -1 > το Q 0 επιστρέφεται). Front_Element(Q): επιστρέφει το στοιχείο Q 0. MakeEmptyQueue(): επιστρέφει (δείκτη σε) < >. IsEmptyQueue(Q): επιστρέφει true αν Q = 0, false διαφορετικά. Η µέθοδος επεξεργασίας των δεδοµένων ουράς λέγεται «Πρώτο Μέσα Πρώτο Έξω» ( First In First Out, FIFO). 5
6 Υλοποίηση Σειριακών Γραµµικών Λιστών Στατικές Στοίβες Με χρήση ενός µονοδιάστατου πίνακα. S = <S 0,, S n-1 > η στοίβα & A[0 N-1] ο πίνακας, n N Α[j] = S j Η στοίβα καταλαµβάνει το τµήµα A[0 n-1]. A[n-1] : στοιχείο στην κορυφή της στοίβας A[0] : χαµηλότερο στοιχείο της στοίβας Η στοίβα υλοποιείται ως µια δοµή (struct στη C) µε πεδία τον πίνακα Datum και τον ακέραιο Length (µέγεθος στοίβας). S: δείκτης σε στοίβα info: τύπος στοιχείων του πίνακα Datum της S. S->Length == 0: άδεια στοίβα S->Length == N: γεµάτη στοίβα Εάν πρόκειται να χειριστούµε µία µόνον στοίβα, η στοίβα µπορεί να υλοποιηθεί χρησιµοποιώντας έναν ακέραιο Length και έναν πίνακα Datum (και όχι ως δοµή µε 2 πεδία): int Length; info Datum[0..N-1]; Στην απλούστερη έκδοση, οι 2 αυτές µεταβλητές είναι καθολικές. Ωστόσο, ΕΝ ΣΥΝΙΣΤΑΤΑΙ! 6
7 Υλοποίηση Λειτουργιών Στοίβας: Απλά void MakeEmptyStack(void) Length = 0; boolean IsEmptyStack(void) /* return (Length == 0) */ if (Length == 0) return 1; else return 0; info Top_Element(void) if (IsEmptyStack()) then error; else (return(datum[length 1])); Πολυπλοκότητα Χρόνου MakeEmptyStack(): Θ(1) IsEmptyStack(): Θ(1) Top_Element(): Θ(1) Συνολικός Απαιτούµενος Χώρος Μνήµης Ανεξάρτητα από το πλήθος στοιχείων: Ν 7
8 Υλοποίηση Λειτουργιών Στοίβας: Απλά info Pop(void) if (Length == 0) return error else x = Top_Element(); Length = Length 1; return x; void Push(info x) if (Length == N) then error else Datum[Length] = x; Length = Length + 1; Πολυπλοκότητα Χρόνου Pop(): Θ(1) Push(): Θ(1) 8
9 Υλοποίηση Λειτουργιών Στοίβας: µε δοµή µε πεδία Length και Datum[ ] pointer MakeEmptyStack(int N) pointer S; /* προσωρινός δείκτης */ S = new_struct(stack); /* malloc() */ S->Datum = new_struct(array of size N); S->Length = 0; S->MaxSize = N; return S; boolean IsEmptyStack(pointer S) /* return (S->Length == 0) */ if (S->Length == 0) return 1; else return 0; info Top_Element(pointer S) if (IsEmptyStack(S)) then error; else (return(s->datum[s->length 1])); Πολυπλοκότητα Χρόνου MakeEmptyStack(), IsEmptyStack(), Top_Element(): Θ(1) Συνολικός Απαιτούµενος Χώρος Μνήµης Ανεξάρτητα από το πλήθος στοιχείων: µέγεθος πίνακα Datum 9
10 Υλοποίηση Λειτουργιών Στοίβας info Pop(pointer S) if (S->Length == 0) return error else x = Top_Element(S); S->Length = S->Length 1; return x; void Push(info x, pointer S) if (S->Length == S->MaxSize) then error else S->Datum[S->Length] = x; S->Length = S->Length + 1; Πολυπλοκότητα Χρόνου Pop(): Θ(1) Push(): Θ(1) 10
11 Πολλαπλή Στοίβα ύο ή περισσότερες στοίβες που υλοποιούνται σε συνεχόµενες θέσεις µνήµης. Παράδειγµα 1: ύο Στοίβες Stack[0 n-1]: πίνακας που αποθηκεύει τις λίστες Η 1 η στοίβα ξεκινάει από τη θέση Stack[0] και αναπτύσσεται προς τα δεξιά, ενώ η 2 η στοίβα ξεκινάει από τη θέση Stack[n-1] και αναπτύσσεται προς τα αριστερά. 11
12 Πολλαπλή Στοίβα (συνέχ.) Παράδειγµα 2: n Στοίβες Η πολλαπλή στοίβα χωρίζεται σε n ίσα τµήµατα. Καλύτερη Υλοποίηση n-πολλαπλής Στοίβας ι-κατευθυνόµενη Πολλαπλή Στοίβα 12
13 Στατική Ουρά Q: ουρά, δοµή µε τρία πεδία: Q->Datum: πίνακας A µε στοιχεία Q->Front: θέση F πρώτου στοιχείου Q->Length: συνολικό πλήθος n στοιχείων Κυκλική Στατική Ουρά x 0,, x n-1 : στοιχεία ουράς A[F], A[(F+1) mod N], A[(F+2) mod N],, A[(F+n-1) mod N]: θέσεις στις οποίες είναι αποθηκευµένα τα x 0,, x n-1. 13
14 Υλοποίηση Λειτουργιών Κυκλικής Ουράς pointer MakeEmptyQueue(int N) pointer Q; /* temporary pointer */ Q = new_struct(queue); /* malloc() */ Q->Datum = new_struct(array of size N); Q->Front = 0; Q->Length = 0; Q->MaxSize = N; return Q; boolean IsEmptyQueue(pointer Q) return (Q->Length == 0); info Front_Element(pointer Q) If IsEmptyQueue(Q) then error; else return (Q->Datum[Q->Front]); Πολυπλοκότητα (ίδια µε την υλοποίηση στοίβας) Χρόνος εκτέλεσης κάθε λειτουργίας: Θ(1) Χρησιµοποιούµενος χώρος µνήµης: µέγεθος πίνακα Datum 14
15 Υλοποίηση Λειτουργιών Κυκλικής Ουράς (Q->Front + Q->Length) mod N info Dequeue(pointer Q) if IsEmptyQueue(Q) then error; else x = Q->Datum[Q->Front]; Q->Front = (Q->Front+1) mod Q->MaxSize; Q->Length = Q->Length 1; return x; procedure Enqueue(info x, pointer Q) N = Q->MaxSize if (Q->Length == N) then error; else Q->Datum[(Q->Front + Q->Length) mod N] = x Q->Length = Q->Length+1 15
16 Συνδεδεµένες Γραµµικές Λίστες Στοίβα ως Συνδεδεµένη Λίστα S: δείκτης σε δοµή (τύπου Node) µε πεδία : next: δείκτης στο επόµενο στοιχείο της στοίβας data: πληροφορία αποθηκευµένη στο στοιχείο Υλοποίηση Λειτουργιών pointer MakeEmptyStack() return NULL; boolean IsEmptyStack(pointer S) return (S == NULL); info Top_Element(pointer S) if IsEmptyStack(S) then error; else return S->data; Χρόνος εκτέλεσης κάθε λειτουργίας: Θ(1) 16
17 Υλοποίηση Λειτουργιών Συνδεδεµένης Στοίβας P->next void Push(info x, pointer S) pointer P; /* προσωρινός δείκτης */ P = new_struct(node); /* malloc() */ P->data = x; P->next = S; S = P; /* Αυτό στην C δεν έχει το επιθυµητό αποτέλεσµα! */ Απαιτούµενος χρόνος: Θ(1) 17
18 Υλοποίηση Λειτουργιών Συνδεδεµένης Στοίβας S->next S=S->next info Pop(pointer S) if (IsEmptyStack(S)) then error; else x = Top_Element(S); S = S->next; /* Στην C δεν έχει το επιθυµ.αποτέλεσµα! */ return x; Απαιτούµενος Χρόνος: Θ(1) Extra µνήµη (για δείκτες): n (όπου n: # στοιχείων) 18
19 Ουρά ως Συνδεδεµένη Λίστα: Απλά Ουρά: 2 δείκτες (Front και Back) που δείχνουν σε δοµή (τύπου Node) 2 πεδίων: next: δείκτης στο επόµενο στοιχείο της στοίβας data: πληροφορία αποθηκευµένη στο στοιχείο Στην απλούστερη περίπτωση οι Front, Back είναι καθολικές µεταβλητές ( ΕΝ ΣΥΝΙΣΤΑΤΑΙ!). Υλοποίηση Λειτουργιών Ουράς void MakeEmptyQueue(void) Front = Back = NULL; boolean IsEmptyQueue(void) return (Front == NULL); info Front_Element(void) if (IsEmptyQueue()) then error; else return (Front->data); 19
20 Υλοποίηση Λειτουργιών Ουράς: Απλά Back->next void Enqueue(info x) pointer P; /* προσωρινός δείκτης */ P = new_struct(node); /* malloc() */ P->data = x; P->next = NULL; if (IsEmptyQueue()) then Front = P; else Back->next = P; Back = P; 20
21 Υλοποίηση Λειτουργιών Ουράς: Απλά Front->next info Dequeue(void) if (IsEmptyQueue()) then error; else x = Front->data; Front = Front->next; if (Front == NULL) then Back = NULL; return x; 21
22 Ουρά ως Συνδεδεµένη Λίστα: πιο σύνθετα Q Ουρά Q: δοµή (τύπου Queue) µε 2 δείκτες Q->Front και Q->Back που δείχνουν σε δοµή (τύπου Node) 2 πεδίων: data: πληροφορία αποθηκευµένη στο στοιχείο next: δείκτης στο επόµενο στοιχείο της στοίβας Υλοποίηση Λειτουργιών Ουράς pointer MakeEmptyQueue(void) pointer Q; /* προσωρινός δείκτης */ Q = new_struct(queue); /* malloc() */ Q->Front = Q->Back = NULL; return Q; boolean IsEmptyQueue(pointer Q) return (Q->Front == NULL); info Front_Element(pointer Q) if (IsEmptyQueue(Q)) then error; else return (Q->Front->data); 22
23 Υλοποίηση Λειτουργιών Ουράς πιο σύνθετα Q->Back->Next Q Q void Enqueue(info x, pointer Q) pointer P; /* προσωρινός δείκτης */ P = new_struct(node); /* malloc() */ P->data = x; P->next = NULL; if (IsEmptyQueue(Q)) then Q->Front = P; else Q->Back->next = P; Q->Back = P; 23
24 Υλοποίηση Λειτουργιών Ουράς πιο σύνθετα Q->Front- Q Q info Dequeue(pointer Q) if (IsEmptyQueue(Q)) then error; else x = Q->Front->data; Q->Front = Q->Front->next; if (Q->Front == NULL) then Q->Back = NULL; return x; Πολυπλοκότητα: Θ(1) 24
25 Συνδεδεµένες Λίστες Έστω ότι κάθε στοιχείο της λίστας έχει δύο πεδία: έναν ακέραιο num και τον δείκτη next. L : δείκτης στο πρώτο στοιχείο της λίστας Εισαγωγή σε Λίστα (στην αρχή) void ListInsert(int x) } pointer p; p = new_struct(node); p->num = x; p->next = L; L = p; Αναζήτηση σε Λίστα boolean ListSearch(int x) { /* 1 εάν x βρίσκεται στη λίστα και 0 εάν όχι */ } pointer p = L; while (p!= NULL && p->num!= x) p = p->next; return (p!= NULL); Άσκηση: Υλοποιήστε την Delete(). 25
26 Συνδεδεµένες Λίστες Εφαρµογές Παράσταση πολυωνύµων a n x n + a n-1 x n a 1 x + a 0 Χρήση λίστας για την αποθήκευση των συντελεστών και των αντίστοιχων βαθµών. Κόµβος Φρουρός Ειδικός κόµβος (τελευταίος πάντα στη λίστα) Ένας δείκτης δείχνει µόνιµα σε αυτόν τον κόµβο. Βοηθάει στην εκτέλεση Αναζήτησης ή Αναζήτησηςκαι-Εισαγωγής (εισαγωγή µόνον εάν η τιµή δεν είναι στη λίστα). Κατά την αναζήτηση τιµής: η προς αναζήτηση τιµή αρχικά αποθηκεύεται στον κόµβο φρουρό εκτελείται διάσχιση της λίστας και αναζήτηση της τιµής αν η τιµή βρεθεί στον κόµβο φρουρό, η τιµή αυτή δεν υπάρχει στη λίστα. Σε τι µας βοηθάει ο κόµβος φρουρός? 26
27 2 ο Παράδειγµα Εφαρµογής Συνδεδεµένων Λιστών: Αραιοί Πίνακες Μονοδιάστατοι πίνακες Αποθήκευση των µη-µηδενικών στοιχείων σε µια λίστα. Προσπέλαση ενός στοιχείου απαιτεί χρόνο ανάλογο του πλήθους των µη-µηδενικών στοιχείων στον πίνακα. ιδιάστατοι πίνακες Αποθήκευση των µη-µηδενικών στοιχείων σε µια λίστα ανά γραµµή και ανά στήλη, π.χ., για
28 Εισαγωγή Στοιχείου σε Ταξινοµηµένη Λίστα Ο κάθε κόµβος µιας ταξινοµηµένης (σε φθίνουσα διάταξη) λίστας περιέχει: num: αποθηκευµένος ακέραιος στον κόµβο next: δείκτης στον επόµενο κόµβο της λίστας L: δείκτης στο πρώτο στοιχείο της λίστας Πρόβληµα προς επίλυση Εισαγωγή νέου στοιχείου στη λίστα, έτσι ώστε η λίστα να εξακολουθήσει να είναι ταξινοµηµένη. k: προς εισαγωγή ακέραιος υσκολία µε την εισαγωγή στοιχείου σε απλά συνδεδεµένη ταξινοµηµένη λίστα: Είναι δυνατή η εισαγωγή ενός κόµβου µόνο ως επόµενου σε κάποιον δεδοµένο κόµβο και όχι ως προηγούµενου. 28
29 Εισαγωγή Στοιχείου σε Λίστα Ταξινοµηµένη κατά Φθίνουσα σειρά Λύση Χρήση ενός βοηθητικού δείκτη P (που δείχνει στον προηγούµενο από τον τρέχοντα κόµβο). ptr void LLInsert(integer k, pointer L) pointer C, P, ptr; /* προσωρινοί δείκτες */ C = L; P = NULL; while (C!= NULL) and (C->Num > k) do P = C; C = C->next; if (C!= NULL) and (C->Num == k) then return; ptr = new_struct(node); /* malloc */ ptr->num = k; if (P == NULL) then L = ptr; /* στην αρχή */ else P->next = ptr; ptr->next = C; 29
30 ιάσχιση Λίστας Παράδειγµα 1 Έστω λίστα που περιέχει λέξεις και είναι λεξικογραφικά ταξινοµηµένη. εδοµένης λέξης w, βρείτε την δεξιότερη λέξη στη λίστα που προηγείται αλφαβητικά της λέξης x και τελειώνει µε τα ίδια 4 τελευταία γράµµατα όπως η a. Π.χ., αν x = Νοέµβριος και a = Οκτώβριος και L = <Απρίλιος, Αύγουστος, εκέµβριος, Ιανουάριος, Ιούλιος, Ιούνιος, Μάιος, Μάρτιος, Νοέµβριος, Οκτώβριος, Σεπτέµβριος, Φεβρουάριος>. H απάντηση θα πρέπει να είναι: Ιανουάριος 30
31 Πιθανοί Αλγόριθµοι Αλγόριθµος 1 1) ιασχίζουµε τη λίστα προς τα εµπρός µέχρι να βρούµε τη δεξιότερη λέξη «µικρότερη» από τη λέξη Νοέµβριος (στο παράδειγµα τη λέξη Μάρτιος ), και κρατάµε δείκτες σε αυτόν και στους προηγούµενους κόµβους. Ελέγχουµε τους κόµβους που προέκυψαν στο προηγούµενο βήµα (από δεξιά προς τα αριστερά) και βρίσκουµε την πρώτη λέξη που τελειώνει σε -ριος. L = <Απρίλιος, Αύγουστος, εκέµβριος, Ιανουάριος, Ιούλιος, Ιούνιος, Μάιος, Μάρτιος, Νοέµβριος, Οκτώβριος, Σεπτέµβριος, Φεβρουάριος>. 31
32 Αλγόριθµος 2 ιασχίζουµε τη λίστα προς τα εµπρός κρατώντας έναν δεύτερο (βοηθητικό) δείκτη στο τελευταίο στοιχείο που είδαµε να τελειώνει σε -ριος. Ψευδοκώδικας function FindLast(pointer L, string x, string a): string /*βρες λεξικ.-µεγαλύτερη λέξη στην L πριν την x, τα τελευταία 4 γράµµατα της οποίας είναι ίδια µε αυτά της a */ /* return NULL εάν δεν υπάρχει τέτοια λέξη */ P = NULL; C = L; while (C!= NULL) and (C->string < x) do if (C->string και a έχουν ίδια 4 τελ. γράµµατα) then P = C; C = C->next; If (P == NULL) then return NULL; else return P->string; Πως θα συγκρίνατε την πολυπλοκότητα των δύο αλγορίθµων? 32
33 Αλγόριθµος 3 1) ιασχίζουµε τη λίστα προς τα εµπρός µέχρι να βρούµε την πρώτη αλφαβητικά ίση ή «µεγαλύτερη» λέξη από τη λέξη Νοέµβριος (στο παράδειγµα τη λέξη Μάρτιος ), αντιστρέφοντας τους δείκτες σύνδεσης. 2) Ακολουθούµε τους δείκτες προς τα πίσω (που προέκυψαν από την αντιστροφή δεικτών) αντιστρέφοντάς τους και πάλι, βρίσκουµε την πρώτη λέξη που τελειώνει σε -ριος, και συνεχίζουµε την αντιστροφή δεικτών µέχρι την αρχή της λίστας. L = <Απρίλιος, Αύγουστος, εκέµβριος, Ιανουάριος, Ιούλιος, Ιούνιος, Μάιος, Μάρτιος, Νοέµβριος, Οκτώβριος, Σεπτέµβριος, Φεβρουάριος>. 33
34 Μέθοδος Αναστροφής εικτών Λίστας Λειτουργίες StartTraversal(L): P Q NULL L Forward(P,Q): Back(P,Q): temp Q temp->next P Q Q->next P temp temp P temp->next Q P P->next Q temp 34
35 Παράδειγµα 2 (κίνηση προς τα εµπρός και προς τα πίσω) Έστω ότι κάθε κόµβος έχει τα εξής πεδία: string: λέξη next: δείκτης στον επόµενο κόµβο ίδονται µια λέξη x της λίστας και ένας αριθµός n. Να βρεθεί η λέξη που προηγείται της x κατά n θέσεις στη λίστα. L = <Απρίλιος, Αύγουστος, εκέµβριος, Ιανουάριος, Ιούλιος, Ιούνιος, Μάιος, Μάρτιος, Νοέµβριος, Οκτώβριος, Σεπτέµβριος, Φεβρουάριος>. Αλγόριθµος Αναζήτηση της x στη λίστα µε ταυτόχρονη κράτηση δεικτών προς τα πίσω. Οπισθοδρόµηση κατά n θέσεις στη λίστα. Η λύση µε χρήση επιπλέον δεικτών προς τα πίσω είναι ακριβή σε µνήµη!!!! Γιατί? Υπάρχει λύση φθηνή σε µνήµη? 35
36 ιπλά Συνδεδεµένες Λίστες Οι κόµβοι µιας διπλά συνδεδεµένης λίστας περιέχουν δείκτες και προς τα εµπρός και προς τα πίσω και άρα διασχίσεις και προς τις δύο κατευθύνσεις είναι εύκολα υλοποιήσιµες. 36
37 Λειτουργίες ιπλά Συνδεδεµένης Λίστας Εισαγωγή κόµβου στον οποίο δείχνει ο P µετά τον κόµβο στον οποίο δείχνει ο Q: void DoublyLinkedInsert(pointer P,Q) P > P > Q > QP > Pr ev Next Next Next > Pr ev Q Q > P P Next ιαγραφή από τη λίστα κόµβου που δείχνεται από τον P void DoublyLinkedDelete(pointer P) P > P > Pr ev > Next Next > Pr ev P > P > Next Pr ev Ισχύει για διπλά συνδεδεµένη λίστα µε κόµβο Header. Τι γίνεται εάν δεν υπάρχει κόµβος Header? Πολυπλοκότητα? 37
38 Εφαρµογές Σειριακών Γραµµικών Στοιβών Αναδροµή Παράδειγµα: Υπολογισµός του n! = 1 2 n Αναδροµική Λύση integer factorial(integer n) if (n == 0) then return 1; else return (n * factorial(n-1)); Μη Αναδροµική Λύση integer factorial(integer n) integer j, product; j = n; product = 1; while (j > 0) product = j * product; j = j-1; return product; 38
IsEmptyList(L): επιστρέφει true αν L = < >, false
ΕΝΟΤΗΤΑ 3 ΓΡΑΜΜΙΚΕΣ ΛΙΣΤΕΣ Ορισµός Γραµµικές Λίστες Γραµµική λίστα (linear list) είναι ένα σύνολο από n 0 κόµβους L 0, L 1,..., L n-1, όπου το στοιχείο L 0 είναι το πρώτο στοιχείο (ή ο πρώτος κόµβος),
Διαβάστε περισσότεραΕνότητα 2 Στοίβες Ουρές - Λίστες. ΗΥ240 - Παναγιώτα Φατούρου 1
Ενότητα 2 Στοίβες Ουρές - Λίστες ΗΥ240 - Παναγιώτα Φατούρου 1 Λίστες Γραµµική λίστα (linear list) είναι ένα σύνολο από n 0 στοιχεία ή κόµβους L 1,..., L n, τα οποία είναι διατεταγµένα µε γραµµική σειρά.
Διαβάστε περισσότεραΣτοίβες Ουρές - Λίστες
Ενότητα 3 Στοίβες Ουρές - Λίστες ΗΥ240 - Παναγιώτα Φατούρου 1 Λίστες Γραµµική λίστα (linear list) είναι ένα σύνολο από n 0 στοιχεία ή κόµβους L 1,..., L n, τα οποία είναι διατεταγµένα µε γραµµική σειρά.
Διαβάστε περισσότεραΕνότητα 2 Στοίβες Ουρές - Λίστες
Ενότητα 2 Στοίβες Ουρές - Λίστες ΗΥ240 - Παναγιώτα Φατούρου 1 Λίστες Γραµµική λίστα (linear list) είναι ένα σύνολο από n 0 στοιχεία ή κόµβους e 1,..., e n, τα οποία είναι διατεταγµένα µε γραµµική σειρά.
Διαβάστε περισσότεραΕνότητα 2 Στοίβες Ουρές - Λίστες
Ενότητα 2 Στοίβες Ουρές - Λίστες ΗΥ240 - Παναγιώτα Φατούρου 1 Λίστες Γραµµική λίστα (linear list) είναι ένα σύνολο από έστω n 0 στοιχεία ή κόµβους, e 1,..., e n, τα οποία είναι διατεταγµένα µε γραµµική
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 2η: Στοίβες Ουρές - Λίστες Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 2η: Στοίβες Ουρές - Λίστες Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 2 Στοίβες Ουρές - Λίστες ΗΥ240 - Παναγιώτα Φατούρου 2 Λίστες
Διαβάστε περισσότεραΒασικές Δομές Δεδομένων
Βασικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αφηρημένοι Τύποι Δεδομένων Οι ΑΤΔ Στοίβα και Ουρά Υλοποίηση των ΑΤΔ Στοίβα και Ουρά με Διαδοχική και Δυναμική Χορήγηση
Διαβάστε περισσότεραΒασικές οµές εδοµένων
Βασικές οµές εδοµένων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αφηρηµένοι Τύποι εδοµένων Οι ΑΤ Στοίβα και Ουρά Υλοποίηση των ΑΤ Στοίβα και Ουρά µε ιαδοχική και υναµική Χορήγηση Μνήµης
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 8: Αφηρημένοι Τύποι Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αφηρημένοι Τύποι Δεδομένων (ΑΤΔ) Οι ΑΤΔ Στοίβα και Ουρά Υλοποίηση των ΑΤΔ Στοίβα και Ουρά με Στατική Δέσμευση
Διαβάστε περισσότεραιαφάνειες παρουσίασης #11
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΥλοποίηση Λειτουργιών Στοίβας Απλά(1/2)
Υλοποίηση Λειτουργιών Στοίβας Απλά(1/2) void MakeEmptyStack(void) Length = 0; for (i=0; i < N; i++) Infos[i] = ; /* initialize */ int IsEmptyStack(void) if (Length == 0) return 1; return 0; info Top(void)
Διαβάστε περισσότεραΔιάλεξη 9: Αφηρημένοι Τύποι Δεδομένων. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 9: Αφηρημένοι Τύποι Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αφηρημένοι Τύποι Δεδομένων (ΑΤΔ) -Οι ΑΤΔ Στοίβα και Ουρά -Υλοποίηση των ΑΤΔ Στοίβα και Ουρά με Στατική
Διαβάστε περισσότεραΤηλ , Fax: , URL:
Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ Παναγιώτα Φατούρου faturu@cs.uoi.gr Tµήµα Πληροφορικής, Πανεπιστήµιο Ιωαννίνων, Τ.Θ. 1186, Γραφείο Α26, Τηλ. +30 26510 98808, Fax: +30 26510 98890,
Διαβάστε περισσότεραΤηλ , Fax: , URL:
Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ Παναγιώτα Φατούρου faturu@cs.uoi.gr Τµήµα Πληροφορικής, Πανεπιστήµιο Ιωαννίνων, Τ.Θ. 1186, Γραφείο Α26, Τηλ. +30 26510 98808, Fax: +30 26510 98890,
Διαβάστε περισσότεραΕνότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις
Ενότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις Άσκηση 1 Έστω ότι μια βιβλιοθήκη σας παρέχει πρόσβαση σε στοίβες ακεραίων. Η βιβλιοθήκη σας επιτρέπει να ορίσετε μια στοίβα και να καλέσετε τις 5 βασικές
Διαβάστε περισσότεραΕνότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις
Ενότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις Άσκηση 1 Έστω ότι µια βιβλιοθήκη σας παρέχει πρόσβαση σε στοίβες ακεραίων. Η βιβλιοθήκη σας επιτρέπει να ορίσετε µια στοίβα και να καλέσετε τις 5 βασικές
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 6: Εφαρμογή Συνδεδεμένων Λιστών: Αλφαβητικό ευρετήριο κειμένου- Υλοποίηση ΑΤΔ Στοίβα και Ουρά με δείκτες
Ενότητα 6: Εφαρμογή Συνδεδεμένων Λιστών: Αλφαβητικό ευρετήριο κειμένου- Υλοποίηση ΑΤΔ Στοίβα και Ουρά με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΔομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures) Στοίβες Ουρές Στοίβες: Βασικές Έννοιες. Ουρές: Βασικές Έννοιες. Βασικές Λειτουργίες. Παραδείγματα. Στοίβες Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή πρώτη
Διαβάστε περισσότεραΠΛΗ111. Ανοιξη 2005. Μάθηµα 3 ο. Συνδεδεµένες Λίστες. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης
ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 3 ο Συνδεδεµένες Λίστες Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Ανασκόπηση ΟΑΤ λίστα Ακολουθιακή λίστα Συνδεδεµένη λίστα
Διαβάστε περισσότεραΔιάλεξη 05: Αφηρημένοι Τύποι Δεδομένων
Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αφηρημένοι Τύποι Δεδομένων (ΑΤΔ) Οι ΑΤΔ Στοίβα και Ουρά Υλοποίηση των ΑΤΔ Στοίβα και Ουρά ΕΠΛ231 Δομές Δεδομένων
Διαβάστε περισσότεραΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 2 Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα
Διαβάστε περισσότεραΔιάλεξη 11: Φροντιστήριο για Στοίβες. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.
Διάλεξη 11: Φροντιστήριο για Στοίβες Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 1 ΑΤΔ Στοίβα- Πράξεις Θυμηθείτε τον ΑΤΔ στοίβα με τις πράξεις του: MakeEmptyStack()
Διαβάστε περισσότεραΣτοίβες με Δυναμική Δέσμευση Μνήμης
ΕΠΛ 231 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ 10/02/10 Παύλος Αντωνίου Στοίβες με Δυναμική Δέσμευση Μνήμης Στοίβα: Στοίβα είναι μια λίστα που έχει ένα επιπλέον περιορισμό. Ο περιορισμός είναι ότι οι εισαγωγές
Διαβάστε περισσότεραΣυλλογές, Στοίβες και Ουρές
Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση οποιουδήποτε στοιχείου. Συλλογή (bag) : Επιστρέφει
Διαβάστε περισσότεραΥλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:
Υλοποίηση Λιστών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμές Απλά και Διπλά Συνδεδεμένες Λίστες Κυκλικές Απλά και Διπλά Συνδεδεμένες Λίστες Τεχνικές Μείωσης Μνήμης ΕΠΛ 231 Δομές
Διαβάστε περισσότεραΟι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 9: Στοίβες:Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Υλοποίηση Στοιβών με Δυναμική Δέσμευση Μνήμης Εφαρμογή Στοιβών 1: Αναδρομικές συναρτήσεις Εφαρμογή
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Λίστες Λίστες - Απλά Συνδεδεμένες Λίστες - Διπλά Συνδεδεμένες Λίστες Είδη Γραμμικών Λιστών Σειριακή Λίστα Καταλαμβάνει συνεχόμενες θέσεις κύριας μνήμης Συνδεδεμένη Λίστα Οι κόμβοι βρίσκονται σε απομακρυσμένες
Διαβάστε περισσότεραΔιάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 22: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης - Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα ιοικητικής Επιστήµης & Τεχνολογίας ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Κεφάλαιο 9 οµές εδοµένων σε C Γιώργος Γιαγλής Περίληψη Κεφαλαίου 9 οµές εδοµένων υναµικές
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 2 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις Άσκηση 1 Έστω ότι µια
Διαβάστε περισσότεραΕρωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 3 1. Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή 2. Δυναμικές είναι οι δομές που αποθηκεύονται σε συνεχόμενες θέσεις μνήμης 3. Ένας πίνακας
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 10: Στοίβες:Υλοποίηση& Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση Στοιβών με Δυναμική Δέσμευση Μνήμης - Εφαρμογή Στοιβών 1: Αναδρομικές συναρτήσεις - Εφαρμογή
Διαβάστε περισσότεραΤηλ , Fax: , URL:
Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ Παναγιώτα Φατούρου faturu@cs.uoi.gr Τµήµα Πληροφορικής, Πανεπιστήµιο Ιωαννίνων, Τ.Θ. 1186, Γραφείο Α26, Τηλ. +30 26510 98808, Fax: +30 26510 98890,
Διαβάστε περισσότεραΕπιµέλεια Θοδωρής Πιερράτος
εδοµένα οµές δεδοµένων και αλγόριθµοι Τα δεδοµένα είναι ακατέργαστα γεγονότα. Η συλλογή των ακατέργαστων δεδοµένων και ο συσχετισµός τους δίνει ως αποτέλεσµα την πληροφορία. Η µέτρηση, η κωδικοποίηση,
Διαβάστε περισσότεραΚατ οίκον Εργασία 2 Σκελετοί Λύσεων
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Άσκηση 1 Ο ζητούμενος ΑΤΔ μπορεί να υλοποιηθεί ως μια ακολουθία από στοιχεία τύπου window συνοδευόμενη από τις πράξεις: MakeNewWindow(L,w) Destroy(L,w) SwitchTo(L,w)
Διαβάστε περισσότεραΤηλ , Fax: , URL:
Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ Παναγιώτα Φατούρου faturu@cs.uoi.gr Τµήµα Πληροφορικής, Πανεπιστήµιο Ιωαννίνων, Τ.Θ. 1186, Γραφείο Α26, Τηλ. +30 26510 98808, Fax: +30 26510 98890,
Διαβάστε περισσότεραΘεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }
Πανεπιστήµιο Ιωαννίνων, Τµήµα Πληροφορικής 2 Νοεµβρίου 2005 Η/Υ 432: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκού Έτους 2005-2006 Παναγιώτα Φατούρου Ηµεροµηνία Παράδοσης 1 ο Σετ Ασκήσεων Θεωρητικό Μέρος:
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη
Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα
Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 7: Αφαίρεση δεδόμενων Πασχαλίδης Δημοσθένης Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΒασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας
ΚΕΦΑΛΑΙΟ 8: Αφηρηµένοι τύποι δεδοµένων 8.1 οµές δεδοµένων (data structures) 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας Αδόµητα δεδοµένα οδός Ζέας
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Να γίνει περιγραφή της δομής δεδομένων Στοίβα. Στη δομή δεδομένων στοίβα τα δεδομένα στοιβάζονται το ένα πάνω στο άλλο. Σχηματικά οι λεπτομέρειες μιας δομής δεδομένων στοίβας μπορούν
Διαβάστε περισσότεραΟι δομές δεδομένων στοίβα και ουρά
Καθηγητής Πληροφορικής Απαγορεύεται η αναπαραγωγή των σημειώσεων χωρίς αναφορά στην πηγή Βίντεο: https://youtu.be/j8petzztqty Οι δομές δεδομένων στοίβα και ουρά Εισαγωγή Στα πλαίσια του μαθήματος της Ανάπτυξης
Διαβάστε περισσότερα#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα
#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα ηµήτρης Ν. Σερπάνος Εργαστήριο Συστηµάτων Υπολογιστών Τµήµα Ηλεκτρολόγων Μηχ. & Τεχνολογίας Υπολογιστών Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα Αλγόριθµοι:
Διαβάστε περισσότεραΑνάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον υποδειγματική διδασκαλία Κεφ. 3 Δομές Δεδομένων & αλγόριθμοι
Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον υποδειγματική διδασκαλία Κεφ. 3 Δομές Δεδομένων & αλγόριθμοι Αραποστάθης Μάριος Καθηγητής Πληροφορικής Πειραματικού Λυκείου Βαρβακείου http://users.sch.gr/mariosarapostathis
Διαβάστε περισσότεραInsert(K,I,S) Delete(K,S)
ΕΝΟΤΗΤΑ 5 ΣΥΝΟΛΑ & ΛΕΞΙΚΑ Φατούρου Παναγιώτα 1 Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενα από έναν αριθµό και
Διαβάστε περισσότεραΔιάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές
Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εισαγωγή, εύρεση, διαγραφή) Ευθύγραμμες Διπλά Συνδεδεμένες Λίστες
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ
ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ Τα δεδομένα (data) είναι η αφαιρετική αναπαράσταση της πραγματικότητας και συνεπώς μία απλοποιημένη όψη της. Η συλλογή των ακατέργαστων δεδομένων και ο συσχετισμός
Διαβάστε περισσότεραΠΛΗ111. Ανοιξη Μάθηµα 4 ο. Στοίβα. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης
ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 4 ο Στοίβα Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Ανασκόπηση Αφηρηµένος Τύπος εδοµένων Στοίβα Υλοποίηση µε Πίνακα Υλοποίηση
Διαβάστε περισσότερα2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,
Διαβάστε περισσότεραΒασικές Έννοιες Δοµών Δεδοµένων
Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες
Διαβάστε περισσότεραΚατ οίκον Εργασία 2 Σκελετοί Λύσεων
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Άσκηση 1 Υπάρχουν διάφοροι τρόποι για να υλοποιήσουμε πράξεις ουράς για την προτεινόμενη εγγραφή. To πρόβλημα που δημιουργείται με οποιαδήποτε από αυτές είναι ότι είναι
Διαβάστε περισσότεραΟι λίστες, χάνοντας τα πλεονεκτήματα των πινάκων, λύνουν προβλήματα που παρουσιάζουν οι πίνακες
Δομές δεδομένων Πίνακες Οι πίνακες είναι το πιο απλό «μέσο» αποθήκευσης ομοειδούς πληροφορίας. Χρησιμοποιούν ακριβώς όση μνήμη χρειάζεται για την αποθήκευση της πληροφορίας Επιτρέπουν την προσπέλαση άμεσα
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 2 ο : ΣΤΟΙΒΑ & ΟΥΡΑ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ ΣΤΟΙΒΑ 2 Μια στοίβα
Διαβάστε περισσότεραΤαξινομώντας τον πίνακα σε φθίνουσα σειρά ως προς τις πωλήσεις, μπορούμε να δούμε ποιοι ήταν οι καλύτεροι πωλητές. Ζωή Μάνος Δημήτρης Κατερίνα Γιάννα Πωλήσεις Μαρτίου Πωλητής Πωλήσεις (χιλιάδες κουτιά)
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή. Καθηγήτρια Μαρία Σατρατζέμη
Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΤύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )
Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική
Διαβάστε περισσότεραΔιάλεξη 21η: Απλά Συνδεδεμένες Λίστες
Διάλεξη 21η: Απλά Συνδεδεμένες Λίστες Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Απλές Λίστες CS100, 2015-2016 1 / 10 Δομές δεδομένων Ορισμός:
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Ουρές Ουρές Περίληψη Η ΟυράΑΔΤ Υλοποίηση με κυκλικό πίνακα Αυξανόμενη Ουρά βασισμένη σε πίνακα Interface ουράς στην C++ Η Ουρά ADT Η ΑΔΤ Ουρά αποθηκεύει αυθαίρετα αντικείμενα Οι εισαγωγές και διαγραφές
Διαβάστε περισσότεραυναµικές οµές εδοµένων
υναµικές οµές εδοµένων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: υναµικές οµές εδοµένων Γενικά υναµική έσµευση Μνήµης οµή τύπου structure αυτοαναφορικές δοµές Η δήλωση typedef στη C Αναπαράσταση
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών Ακαδηµαϊκό έτος 2010 2011, Χειµερινό εξάµηνο Ασκήσεις Επανάληψης Ενδιάµεσης
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων
ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Σχετικές έννοιες 8.3 Υλοποίηση δοµών δεδοµένων 8.4 Μια σύντοµη µελέτη περίπτωσης 8.5 Προσαρµοσµένοι τύποι δεδοµένων 1 Βασικές δοµές
Διαβάστε περισσότεραΦροντιστήριο 4 Σκελετοί Λύσεων
Φροντιστήριο 4 Σκελετοί Λύσεων Άσκηση 1 Υποθέτουμε πως οι λίστες είναι υλοποιημένες χρησιμοποιώντας τις πιο κάτω δομές. typedef struct Node{ type data; struct node *next; node; node *top; list; Υλοποιούμε
Διαβάστε περισσότεραΣύνοψη Προηγούμενου. Λίστες (Lists) Συνδεδεμένες Λίστες: Εισαγωγή (1/2) Συνδεδεμένες Λίστες. Ορέστης Τελέλης
Σύνοψη Προηγούμενου Λίστες (Lists) Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Στοίβες (Stacks) : στην κορυφή της στοίβας ( ) από την κορυφή της στοίβας ( ) Ουρές
Διαβάστε περισσότεραΔιάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εύρεση, εισαγωγή, διαγραφή) - Σύγκριση Συνδεδεμένων Λιστών με Πίνακες
Διαβάστε περισσότεραΠΛΗ111. Ανοιξη Μάθηµα 5 ο. Ουρά. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης
ΠΛΗ οµηµένος Προγραµµατισµός Ανοιξη 5 Μάθηµα 5 ο Ουρά Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Ανασκόπηση Αφηρηµένος Τύπος εδοµένων Ουρά Υλοποίηση µε Κυκλικό Πίνακα Υλοποίηση
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 14 η Διαχείριση Μνήμης και Δομές Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη
Διαβάστε περισσότεραΔιάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -
Διαβάστε περισσότεραΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί
Διαβάστε περισσότερα4. Συνδεδεμένες Λίστες
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 4. Συνδεδεμένες Λίστες 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 10/11/2016 Εισαγωγή
Διαβάστε περισσότεραΔομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής
Ενότητα 5: Δείκτες και Δυναμική Δέσμευση- Αποδέσμευση Μνήμης στη C/ Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με δείκτες /Ένα πακέτο για τον ΑΤΔ Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΔιάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:
Διαβάστε περισσότεραΟργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο
Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών
Διαβάστε περισσότεραΦροντιστήριο 4 Σκελετοί Λύσεων
Φροντιστήριο 4 Σκελετοί Λύσεων 1. Ο ζητούμενος ΑΤΔ μπορεί να υλοποιηθεί ως εξής: (i) Διαδοχική χορήγηση μνήμης Υποθέτουμε ότι οι λίστες μας έχουν μέγιστο μέγεθος max και χρησιμοποιούμε τη δομή type elements[max];
Διαβάστε περισσότεραδιεύθυνση πρώτου στοιχείου διεύθυνση i-οστού στοιχείου T t[n]; &t[0] είναι t &t[i] είναι t + i*sizeof(t)
Προγραµµατισµός Ι (ΗΥ120) ιάλεξη 18: ιασυνδεµένες οµές - Λίστες ιασυνδεδεµένες δοµές δεδοµένων Η µνήµη ενός πίνακα δεσµεύεται συνεχόµενα. Η πρόσβαση στο i-οστό στοιχείο είναι άµεσηκαθώς η διεύθυνση του
Διαβάστε περισσότεραιαφάνειες παρουσίασης #5 (β)
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΕργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα
Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Λίστες -Υλοποίηση ταξινομημένης λίστας με δυναμική δέσμευση μνήμης ΕΠΛ035
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δομές Δεδομένων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Δομές Δεδομένων Μια δομή δεδομένων είναι μια συλλογή δεδομένων με κάποιες
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 10: Λίστες Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εύρεση, εισαγωγή, διαγραφή) Σύγκριση Συνδεδεμένων Λιστών με Πίνακες
Διαβάστε περισσότεραΑπλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή
Απλές Δοµές Δεδοµένων Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 8: C++ ΒΙΒΛΙΟΗΚΗ STL, ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Δομές Δεδομένων ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δομές
Διαβάστε περισσότεραΔιάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 13-1 Περιεχόμενο
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 3: Ουρές Εισαγωγή-Υλοποίηση ΑΤΔ Ουρά με πίνακα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.
Ενότητα 3: Ουρές Εισαγωγή-Υλοποίηση ΑΤΔ Ουρά με πίνακα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραΤα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο
Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων
Διαβάστε περισσότεραΔομές δεδομένων (2) Αλγόριθμοι
Δομές δεδομένων (2) Αλγόριθμοι Παράγωγοι τύποι (struct) σύνοψη προηγουμένων Πίνακες: πολλές μεταβλητές ίδιου τύπου Παράγωγοι τύποι ή Δομές (struct): ομαδοποίηση μεταβλητών διαφορετικού τύπου struct Student
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 19/10/2017 Ανακεφαλαίωση:
Διαβάστε περισσότεραΠρογραµµατισµός Ι (ΗΥ120)
Προγραµµατισµός Ι (ΗΥ120) Διάλεξη 15: Διασυνδεµένες Δοµές - Λίστες Δοµές δεδοµένων! Ένα τυπικό πρόγραµµα επεξεργάζεται δεδοµένα Πώς θα τα διατάξουµε? 2 Τι λειτουργίες θέλουµε να εκτελέσουµε? Πώς θα υλοποιήσουµε
Διαβάστε περισσότεραΔιάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα
Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης (ΔΔΑ) Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου Εισαγωγή στοιχείου
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 4/11/2016 Ανακεφαλαίωση:
Διαβάστε περισσότεραΔιάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες)
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 15-1 Περιεχόμενο
Διαβάστε περισσότεραΑναδροµή. Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής
Αναδροµή Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής 1 Αναδροµή Βασική έννοια στα Μαθηµατικά και στην Πληροφορική.
Διαβάστε περισσότεραΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS)
ΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS) Ταχεία Αναζήτηση Σε πίνακα: δυαδική αναζήτηση (binary search) σε ταξινοµηµένο πίνακα O(log n) Σε δένδρο: αναζήτηση σε ισοζυγισµένο δένδρο O(log n) Σε λίστα: Μπορούµε
Διαβάστε περισσότεραΔιάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες
Διαβάστε περισσότεραENOTHTA 3 ΟΜΕΣ Ε ΟΜΕΝΩΝ
ENOTHTA ΟΜΕΣ Ε ΟΜΕΝΩΝ Ανάπτυξη Εφαρµογών, Αλέξης Μπράιλας,, 000 . ΠΙΝΑΚΕΣ Ανάπτυξη Εφαρµογών, Αλέξης Μπράιλας,, 000 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ εδοµένα Αλγόριθµοι + οµές εδοµένων = Προγράµµατα Πίνακες Στοίβα και Ουρά
Διαβάστε περισσότεραΕνότητα 7 Ουρές Προτεραιότητας
Ενότητα Ουρές Προτεραιότητας ΗΥ4 - Παναγιώτα Φατούρου Ουρές Προτεραιότητας Θεωρούµε ένα χώρο κλειδιών U και έστω ότι µε κάθε κλειδί Κ (τύπου Key) έχει συσχετισθεί κάποια πληροφορία Ι (τύπου Type). Έστω
Διαβάστε περισσότεραΣτοίβες - Ουρές. Στοίβα (stack) Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής
Στοίβες - Ουρές Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής οµές εδοµένων 1 Στοίβα (stack) οµή τύπουlifo: Last In - First Out (τελευταία εισαγωγή πρώτη εξαγωγή) Περιορισµένος
Διαβάστε περισσότερα