Ορισμός Κόμβου

Ξεκίνησε από ksofianos, 19 Δεκ 2005, 09:20:43 ΜΜ

« προηγούμενο - επόμενο »

ksofianos

Στην σελίδα 54 του βιβλίου μαθητή αναφέρει ότι:
"Κάθε μορφή δομής δεδομένων αποτελείται από ένα σύνολο κόμβων(nodes)". Τι μπορούμε να πούμε στους
μαθητές ότι είναι ο κόμβος;

prapasl

Ότι είναι ένα στοιχειώδες δεδομένο που ανήκει στη δομή δεδομένων. Ισοδυναμεί με μια απλή μεταβλητή.
Λεωνίδας Πράπας
Καθηγητής ΠΕ19, MSc Πληροφορικής

nekis

Συνάδελφοι καλημέρα
Επιτρέψτε μου να διαφωνίσω.
Έστω ότι έχουμε δυο παράλληλους πίνακες στους οποίους εισάγουμε διαδοχικά το ονοματεπώνυμο και τον βαθμό του σε ένα μάθημα. Ο κόμβος της δομής αυτής είναι τα δύο παράλληλα κελιά των πινάκων και είναι ο κοινός δείκτης στα α[ι] και β[ι] που αποτελέι τον κόμβο της δομής.

Laertis

Συμφωνώ με το συνάδελφο Neki και επεκτείνω το παράδειγμα κάνοντας χρήση ενός αρχείου με πολλές εγγραφές.
 Έστω ότι έχουμε ένα αρχείο πολλών μαθητών με δεδομένα όπως όνομα, βαθμός, τάξη κλπ. Κόμβος σ'αυτό το παράδειγμα είναι μια εγγραφή ενός μαθητή η οποία συμπεριλαμβάνει όλα τα δεδομένα που αφορούν τον συγκεκριμένο μαθητή. Έτσι, οι πράξεις σε αυτή τη δομή δεδομένων μπορούν να περιγραφούν  πιο εύκολα. Για παράδειγμα, εισαγωγή-διαγραφή-αντιγραφή ενός κόμβου (εγγραφή μαθητή), αναζήτηση κλπ.
Βέβαια υπάρχουν διάφορα είδη δομών δεδομένων απλά ή πολύπλοκα και έτσι η έννοια του κόμβου είναι εντελώς γενική και διαφέρει αναλόγως τη δομή.
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

sgsfak

Όπως λέει και η Βικιπαίδεια κόμβος είναι η βασική/στοιχειώδης μονάδα βάσει της οποίας χτίζονται οι δομές δεδομένων και μπορεί να περιέχουν δεδομένα του χρήστη και άλλες πληροφορίες απαραίτητες για την οργάνωση της δομής δεδομένων την οποία αποτελούν.

Στέλιος

gpapargi

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

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

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

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

Αν τώρα θέλεις ορισμό ρίξε μια ματιά στις παρακάτω σελίδες μήπως σου κάνει κάτι
http://www.nist.gov/dads/HTML/node.html
http://en.wikipedia.org/wiki/Node_%28computer_science%29 ( το έστειλε και ο Στέλιος)

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

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

kinik

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