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

Σημαντική έννοια για την Πληροφορική είναι και η έννοια των “δεδομένων”. Τα δεδομένα αποθηκεύονται στον υπολογιστή με τη βοήθεια των λεγόμενων “δομών δεδομένων”. Στο κεφάλαιο αυτό γίνεται μία εισαγωγή στις σπουδαιότερες δομές δεδομένων και τις αντίστοιχες πράξεις που μπορούμε να κάνουμε με αυτές, όπως είναι η αναζήτηση, η εισαγωγή και η εξαγωγή στοιχείων, καθώς και η ταξινόμηση.
Παρουσιάζονται οι μονοδιάστατοι καθώς και οι δισδιάστατοι πίνακες, ο τρόπος με τον οποίο ορίζονται και οι κοινές διαδικασίες πάνω στους πίνακες όπως η εύρεση μεγίστου και ελαχίστου, η αναζήτηση, η ταξινόμηση και η συγχώνευση πινάκων.

Σκοπιές που μελετά η Πληροφορική τα δεδομένα

1) Υλικού: Το υλικό επιτρέπει στα δεδομένα ενός προγράμματος να αποθηκεύονται στην κύρια μνήμη και στις περιφερειακές συσκευές του υπολογιστή με διάφορες αναπαραστάσεις.
2) Γλωσσών προγραμματισμού: Οι γλώσσες προγραμματισμού υψηλού επιπέδου επιτρέπουν τη χρήση διάφορων τύπων μεταβλητών για να περιγράψουν ένα δεδομένο.
3) Δομών δεδομένων: Είναι ένα σύνολο δεδομένων μαζί με ένα σύνολο επιτρεπτών λειτουργιών επί αυτών.
4) Ανάλυσης δεδομένων: Τρόποι καταγραφής και αλληλοσυσχέτισης των δεδομένων μελετώνται έτσι ώστε να αναπαρασταθεί η γνώση για πραγματικά γεγονότα.

Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα

Κάθε μορφή δομής δεδομένων αποτελείται από ένα σύνολο κόμβων . Οι βασικές λειτουργίες επί των δομών δεδομένων είναι οι ακόλουθες:
1) Προσπέλαση , πρόσβαση σε έναν κόμβο με σκοπό να εξετασθεί ή να τροποποιηθεί το περιεχόμενό του.
2) Εισαγωγή , δηλαδή η προσθήκη νέων κόμβων σε μία υπάρχουσα δομή.
3) Διαγραφή , που αποτελεί το αντίστροφο της εισαγωγής, δηλαδή ένας κόμβος αφαιρείται από μία δομή.
4) Αναζήτηση , κατά την οποία προσπελαύνονται οι κόμβοι μιας δομής, προκειμένου να εντοπιστούν ένας ή περισσότεροι που έχουν μια δεδομένη ιδιότητα.
5) Ταξινόμηση , όπου οι κόμβοι μιας δομής διατάσσονται κατά αύξουσα ή φθίνουσα σειρά.
6) Αντιγραφή , κατά την οποία όλοι οι κόμβοι ή μερικοί από τους κόμβους μίας δομής αντιγράφονται σε μία άλλη δομή.
7) Συγχώνευση, κατά την οποία δύο ή περισσότερες δομές συνενώνονται σε μία ενιαία δομή.
8) Διαχωρισμός , που αποτελεί την αντίστροφη πράξη της συγχώνευσης.

Δομή δεδομένων

Τα δεδομένα ενός προβλήματος αποθηκεύονται στον υπολογιστή, είτε στην κύρια μνήμη του είτε στη δευτερεύουσα μνήμη του. Η αποθήκευση αυτή δεν γίνεται κατά έναν τυχαίο τρόπο αλλά συστηματικά, δηλαδή χρησιμοποιώντας μία δομή. Η έννοια της δομής δεδομένων είναι σημαντική για την Πληροφορική και ορίζεται με τον ακόλουθο τυπικό ορισμό. Δομή Δεδομένων είναι ένα σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών.

Πίνακες

Με τον όρο στατική δομή δεδομένων εννοείται ότι το ακριβές μέγεθος της απαιτούμενης κύριας μνήμης καθορίζεται κατά τη στιγμή του προγραμματισμού τους, και κατά συνέπεια κατά τη στιγμή της μετάφρασής τους και όχι κατά τη στιγμή της εκτέλεσης τους προγράμματος. Μία άλλη σημαντική διαφορά σε σχέση με τις δυναμικές δομές είναι ότι τα στοιχεία των στατικών δομών αποθηκεύονται σε συνεχόμενες θέσεις μνήμης.
Στην πράξη, οι στατικές δομές υλοποιούνται με πίνακες που μας είναι γνωστοί από άλλα μαθήματα και υποστηρίζονται από κάθε γλώσσα προγραμματισμού. Μπορούμε να ορίσουμε τον πίνακα ως μια δομή που περιέχει στοιχεία του ίδιου τύπου. Η δήλωση των στοιχείων ενός πίνακα και η μέθοδος αναφοράς τους εξαρτάται από τη συγκεκριμένη γλώσσα υψηλού επιπέδου που χρησιμοποιείται. Όμως, γενικά η αναφορά στα στοιχεία ενός πίνακα γίνεται με τη χρήση του συμβολικού ονόματος του πίνακα ακολουθούμενου από την τιμή ενός ή περισσότερων δεικτών σε παρένθεση ή αγκύλη.
Ένας πίνακας μπορεί να είναι μονοδιάστατος, αλλά στη γενικότερη πε- ρίπτωση μπορεί να είναι δισδιάστατος, τρισδιάστατος και γενικά ν-διάστατος πίνακας. Όσον αφορά στους δισδιάστατους πίνακες σημειώνεται ότι, αν το μέγεθος των δύο διαστάσεων είναι ίσο, τότε ο πίνακας λέγεται τετραγωνικός και γενικά συμβολίζεται ως πίνακας n x n. Μάλιστα μπορούμε να θεωρήσουμε το δισδιάστατο πίνακα ότι είναι ένας μονοδιάστατος πίνακας, όπου κάθε θέση του περιέχει ένα νέο μονοδιάστατο πίνακα.

Στοίβα

Τα δεδομένα που βρίσκονται στην κορυφή της στοίβας λαμβάνονται πρώτα, ενώ αυτά που βρίσκονται στο βάθος της στοίβας λαμβάνονται τελευταία. Αυτή η μέθοδος επεξεργασίας ονομάζεται Τελευταίο Μέσα Πρώτο Έξω (LIFO), (Last-In-First-Out).
Δύο είναι οι κύριες λειτουργίες σε μία στοίβα:
1) η ώθηση στοιχείου στην κορυφή της στοίβας, και
2) η απώθηση στοιχείου από τη στοίβα.

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

Ουρά

Σε μία ουρά αναμονής, συμβαίνει να εξυπηρετείται εκείνος που στάθηκε στην ουρά πρώτος από όλους τους άλλους. Η μέθοδος αυτή επεξεργασίας ονομάζεται Πρώτο Μέσα Πρώτο Έξω FIFO (First-In-First-Out).Δύο είναι οι κύριες λειτουργίες που εκτελούνται σε μία ουρά:
1) η εισαγωγή στοιχείου στο πίσω άκρο της ουράς, και
2) η εξαγωγή στοιχείου από το εμπρός άκρο της ουράς.
Άρα, σε αντίθεση με τη δομή της στοίβας, στην περίπτωση της ουράς απαιτούνται δύο δείκτες: ο εμπρός (front) και ο πίσω (rear) δείκτης, που μας δίνουν τη θέση του στοιχείου που σε πρώτη ευκαιρία θα εξαχθεί και τη θέση του στοιχείου που μόλις εισήλθε.
Μια ουρά μπορεί να υλοποιηθεί με τη βοήθεια ενός μονοδιάστατου πίνακα, για την εισαγωγή ενός νέου στοιχείου στην ουρά αυξάνεται ο δείκτης rear κατά ένα και στη θέση αυτή αποθηκεύεται το στοιχείο. Αντίστοιχα για τη λειτουργία της εξαγωγής, εξέρχεται το στοιχείο που δείχνει ο δείκτης front, ο οποίος στη συνέχεια αυξάνεται κατά ένα, για να δείχνει το επόμενο στοιχείο που πρόκειται να εξαχθεί. Σε κάθε περίπτωση όμως, πρέπει να ελέγχεται πριν από οποιαδήποτε ενέργεια, αν υπάρχει ελεύθερος χώρος στον πίνακα για την εισαγωγή και αν υπάρχει ένα τουλάχιστον στοιχείο για την εξαγωγή.

Αναζήτηση Σειριακή

Η πιο απλή μορφή αναζήτησης στοιχείου σε πίνακα είναι η σειριακή ή γραμμική μέθοδος. Έτσι για τον επόμενο αλγόριθμο αναζητείται η τιμή key στο μη ταξινομημένο πίνακα table. Μετά την εκτέλεση του αλγορίθμου η μεταβλητή position επιστρέφει την τιμή 0, αν η αναζήτηση είναι ανεπιτυχής, ενώ αν η αναζήτηση είναι επιτυχής, τότε επιστρέφει τη θέση του στοιχείου στον πίνακα (δηλαδή, έναν αριθμό από 1 ως n).
Αλγόριθμος ΑΝΑΖΗΤΗΣΗ
Δεδομένα // n, table, key //
done ← ψευδής
position ← 0
i←1
Όσο (done=ψευδής) και (i<=n) επανάλαβε
Αν table[i]=key τότε
done ← αληθής
position ← i
αλλιώς
i ← i+1
Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα //done, position //
Τέλος ΑΝΑΖΗΤΗΣΗ

Αναζήτηση Δυαδική

Η δυαδική αναζήτηση είναι αποτελεσματικότερη από τη σειριακή, διότι χρειάζεται πολύ λιγότερο χρόνο εκτέλεσης, κάτω από τον μισό χρόνο, από ότι η σειριακή αναζήτηση. Απαραίτητη προϋπόθεση είναι ότι ο πίνακας πρέπει να είναι ταξινομημένος. Θεωρούμε ότι τα στοιχεία του πίνακα Α είναι ταξινομημένα κατά αύξουσα σειρά.
ΓΡΑΨΕ ‘Δώσε αριθμό για αναζήτηση στον πίνακα Α.’
ΔΙΑΒΑΣΕ KEY
αρχ <- 1
τέλ <- 100
βρεθηκε <- ΨΕΥΔΗΣ
ΟΣΟ αρχ <= τέλ ΚΑΙ βρεθηκε = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
μέση <- (αρχ + τέλος) div 2
ΑΝ KEY < Α[μέση] ΤΟΤΕ
τέλ <- μέση – 1
ΑΛΛΙΩΣ_ΑΝ KEY > Α[μέση] ΤΟΤΕ
αρχ <- μέση + 1
ΑΛΛΙΩΣ
βρεθηκε <- ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ βρεθηκε = ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ ‘Βρέθηκε στη θέση ‘, μέση
ΑΛΛΙΩΣ
ΓΡΑΨΕ ‘Δε βρέθηκε’
ΤΕΛΟΣ_ΑΝ

Ταξινόμηση

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

Ταξινόμηση ευθείας ανταλλαγής

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

Η ταξινόμηση ευθείας ανταλλαγής υλοποιείται με τον επόμενο αλγόριθμο.
Αλγόριθμος Φυσαλίδα
Δεδομένα // table, n //
Για i από 2 μέχρι n
Για j από n μέχρι i με_βήμα -1
Αν table[j-1] > table[j] τότε
αντιμετάθεσε table[j—1], table[j]
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Αποτελέσματα // table //
Τέλος Φυσαλίδα

Μονοδιάστατοι Πίνακες

Οι πίνακες που χρησιμοποιούν ένα μόνο δείκτη για την αναφορά των στοιχείων τους ονομάζονται μονοδιάστατοι πίνακες.
Το όνομα του πίνακα μπορεί να είναι οποιοδήποτε δεκτό όνομα της ΓΛΩΣΣΑΣ και ο δείκτης είναι μία ακέραια έκφραση, σταθερή ή μεταβλητή που περικλείεται μέσα στα σύμβολα [ … ]. Κάθε πίνακας πρέπει υποχρεωτικά να περιέχει δεδομένα του ιδίου τύπου, δηλαδή ακέραια, πραγματικά, λογικά ή αλφαριθμητικά. Ο τύπος του πίνακα δηλώνεται μαζί με τις άλλες μεταβλητές του προγράμματος στο τμήμα δήλωσης μεταβλητών. Εκτός από τον τύπο του πίνακα πρέπει να δηλώνεται και ο αριθμός των στοιχείων που περιέχει ή καλύτερα ο μεγαλύτερος αριθμός στοιχείων που μπορεί να έχει ο συγκεκριμένος πίνακας και αυτό για να δεσμευτούν οι αντίστοιχες συνεχόμενες θέσεις μνήμης.

Πίνακας είναι ένα σύνολο αντικειμένων ίδιου τύπου, τα οποία αναφέρονται με ένα κοινό όνομα. Κάθε ένα από τα αντικείμενα που απαρτίζουν τον πίνακα λέγεται στοιχείο του πίνακα. Η αναφορά σε ατομικά στοιχεία του πίνακα γίνεται με το όνομα του πίνακα ακολουθούμενο από ένα δείκτη.

Ο δείκτης είναι μία μεταβλητή που μπορεί να έχει οποιοδήποτε δεκτό όνομα. Είναι σύνηθες όμως στον προγραμματισμό ως δείκτες να χρησιμοποιούνται οι μεταβλητές i, j, k.

Πότε πρέπει να χρησιμοποιούνται πίνακες

Η χρήση πινάκων είναι ένας βολικός τρόπος για τη διαχείριση πολλών δεδομένων ιδίου τύπου, αλλά συχνά η χρήση τους είναι περιττή και επιζήμια στην ανάπτυξη του προγράμματος. Πέρα από τα πλεονεκτήματα που αναφέρθηκαν, υπάρχουν και δύο μειονεκτήματα από τη χρήση πινάκων.
1) Οι πίνακες απαιτούν μνήμη. Κάθε πίνακας δεσμεύει από την αρχή του προγράμματος πολλές θέσεις μνήμης. Σε ένα μεγάλο και σύνθετο πρόγραμμα η άσκοπη χρήση μεγάλων πινάκων μπορεί να οδηγήσει ακόμη και σε αδυναμία εκτέλεσης του προγράμματος.
2) Οι πίνακες περιορίζουν τις δυνατότητες του προγράμματος. Αυτό γιατί οι πίνακες είναι στατικές δομές και το μέγεθός τους πρέπει να δηλώνεται στην αρχή του προγράμματος, ενώ παραμένει υποχρεωτικά σταθερό κατά την εκτέλεση του προγράμματος.

Τυπικές επεξεργασίες πινάκων

Τα προγράμματα τα οποία χρησιμοποιούν πίνακες πολύ συχνά απαιτούν συγκεκριμένες επεξεργασίες στα στοιχεία του πίνακα.
Οι τυπικές αυτές επεξεργασίες είναι:
1) Υπολογισμός αθροισμάτων στοιχείων του πίνακα.
2) Εύρεση του μέγιστου ή του ελάχιστου στοιχείου.
3) Ταξινόμηση των στοιχείων του πίνακα.
4) Αναζήτηση ενός στοιχείου του πίνακα.
5) Συγχώνευση δύο πινάκων.

Σωστό / Λάθος Ερωτήσεις Θεωρίας Δομές δεδομένων και Αλγόριθμοι Πίνακες:

1. Σε μία στατική δομή, το ακριβές μέγεθος της απαιτούμενης κύριας μνήμης καθορίζεται κατά την εκτέλεση του προγράμματος.
2. Ο πίνακας είναι μία δομή που μπορεί να περιέχει στοιχεία διαφορετικού τύπου.
3. Η εισαγωγή και η διαγραφή ως λειτουργίες μπορούν να εφαρμοστούν μόνο σε δυναμικές δομές δεδομένων.
4. Σε έναν μονοδιάστατο πίνακα μπορούμε να καταχωρίσουμε τα ονόματα και τους βαθμούς 23 μαθητών
5. Ο δισδιάστατος πίνακας είναι μία δυναμική δομή δεδομένων, γιατί χρησιμοποιεί δύο δείκτες.
6. Στη στοίβα το στοιχείο που μπαίνει πρώτο βγαίνει πρώτο.
7. Σε έναν πίνακα δύο διαστάσεων μπορούν να αποθηκευτούν τα ονόματα και οι ηλικίες 100 ανθρώπων.
8. Για να προσπελάσουμε όλα τα στοιχεία ενός δισδιάστατου πίνακα χρησιμοποιούμε συνήθως εμφωλευμένες επαναληπτικές δομές.
9. Η εισαγωγή και η εξαγωγή είναι οι δύο βασικές λειτουργίες της ουράς
10. Σε έναν πίνακα δύο διαστάσεων Α[10, 3] το πλήθος των στοιχείων του είναι το πολύ 30.

Απαντήσεις Θεωρίας Δομές δεδομένων και Αλγόριθμοι Πίνακες:

Οι απαντήσεις για τις παραπάνω ερωτήσεις τύπου Σωστό/ Λάθος είναι οι παρακάτω:
1. Λ, 2. Λ, 3. Σ, 4. Λ, 5. Λ, 6. Λ, 7. Λ, 8. Σ, 9. Λ, 10. Λ
Αν θέλετε και άλλες ερωτήσεις τύπου Σωστού / Λάθους ή γενικότερα ερωτήσεις θεωρίας στην ύλη της πληροφορικής Γ λυκείου στο κεφάλαιο Δομές δεδομένων και Αλγόριθμοι Πίνακες μπορείτε να δείτε από τα τεστ, διαγωνίσματα και θεωρίες που έχουμε δημιουργήσει για να σας δώσουν την δυνατότητα να καταφέρετε υψηλό βαθμό στις πανελλαδικές εξετάσεις.

Ερωτήσεις Ανάπτυξης Θεωρίας Δομές δεδομένων και Αλγόριθμοι Πίνακες:

Παρακάτω σας δίνουμε μερικές ερωτήσεις ανάπτυξης στη θεωρία της πληροφορικής Γ λυκείου στο 3ο/9ο κεφάλαιο του σχολικού βιβλίου για την Δομές δεδομένων και Αλγόριθμοι Πίνακες. Μπορείτε να διαβάσετε την ύλη και στη συνέχεια να απαντήσετε. Οι λύσεις στις ερωτήσεις είναι όπως θα ζητηθούν στις πανελλήνιες εξετάσεις και γράφονται στην συνέχεια κάθε ερώτησης.

1. Από ποιες σκοπιές μελετά η Πληροφορική τα δεδομένα ;

1. Υλικού: η μηχανή, επιτρέπει στα δεδομένα ενός προγράμματος να αποθηκεύονται στην κύρια μνήμη και στις περιφερειακές συσκευές του υπολογιστή με διάφορες αναπαραστάσεις
2. Γλωσσών προγραμματισμού. Οι γλώσσες προγραμματισμού υψηλού επιπέδου επιτρέπουν τη χρήση διάφορων τύπων μεταβλητών για να περιγράψουν ένα δεδομένο.
3. Δομών δεδομένων. Δομή δεδομένων είναι ένα σύνολο δεδομένων μαζί με ένα σύνολο επιτρεπτών λειτουργιών επί αυτών.
4. Ανάλυσης δεδομένων. Τρόποι καταγραφής και αλληλοσυσχέτισης των δεδομένων μελετώνται έτσι ώστε να αναπαρασταθεί η γνώση για πραγματικά γεγονότα.

2. Ποιες είναι οι βασικές λειτουργίες επί των δομών δεδομένων;

I. Προσπέλαση: πρόσβαση σε ένα κόμβο για να εξετασθεί ή να τροποποιηθεί το περιεχόμενο του
II. Εισαγωγή: προσθήκη νέων κόμβων σε μία υπάρχουσα δομή
III. Διαγραφή: είναι το αντίθετο της εισαγωγής, δηλαδή η αφαίρεση ενός ή περισσότερων κόμβων από μία δομή
IV. Αναζήτηση: εκτελείται προσπέλαση των κόμβων ώστε να εντοπιστεί ένας ή περισσότεροι κόμβοι που έχουν μία συγκεκριμένη ιδιότητα
V. Ταξινόμηση: οι κόμβοι μίας δομής διατάσσονται σε αύξουσα ή φθίνουσα σειρά
VI. Αντιγραφή: όλοι ή κάποιοι κόμβοι από μία δομή αντιγράφονται σε μία άλλη δομή
VII. Συγχώνευση: κατά την οποία δύο ή περισσότερες δομές συνενώνονται σε μία ενιαία δομή
VIII. Διαχωρισμός: είναι η αντίστροφη πράξη της συγχώνευσης

3. Τι ονομάζουμε στατική δομή δεδομένων και τι δυναμική δομή δεδομένων;

I. Στατικές δομές δεδομένων:
α) το ακριβές μέγεθος της απαιτούμενης μνήμης καθορίζεται κατά τη στιγμή της μετάφρασης του προγράμματος,
β) δεν μπορεί να αλλάξει το μέγεθος τους
γ) αποθηκεύονται σε συνεχόμενες θέσεις μνήμης.
Χαρακτηριστική στατική δομή δεδομένων είναι οι πίνακες.

II. Δυναμικέςδομέςδεδομένων:

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

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

Trusted by some of the biggest brands

Spaces Logo
Next Logo White
Hemisferio Logo White
Digitalbox White
CGLobal White
Abstract Logo White
Business Coach Glyph

We’re Waiting To Help You

Get in touch with us today and let’s start transforming your business from the ground up.