oura kai stoiva

Ξεκίνησε από zwoula, 26 Νοε 2009, 11:45:19 ΜΜ

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

zwoula

ειδα παλιοτερο θεμα σχετικα με το αν η ουρα και η στοιβα ανοικουν στις στατικες η δυναμικες δομες και πρεπει να πω οτι σαν μαθητρια με μπερδεψατε περισσοτερο. τελικα ποια ειναι η απαντηση? στατικες η δυναμικες?
Κάποτε είχαμε χρόνο για τον εαυτό μας.
Σήμερα δεν έχουμε χρόνο για κανένα....
Αυτό το «Κάποτε», το έλεγαν ζωή..

ikariofil

Θα την έχεις την απάντηση αν σταματήσεις να γράφεις greeklish

zwoula

εχεις απολυτο δικιο.εκανα τροποποιηση...
Κάποτε είχαμε χρόνο για τον εαυτό μας.
Σήμερα δεν έχουμε χρόνο για κανένα....
Αυτό το «Κάποτε», το έλεγαν ζωή..

ikariofil

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

Σπύρος Δουκάκης

Το θέμα έχει συζητηθεί στο

https://alkisg.mysch.gr/steki/index.php?topic=1227.0

με σκοπό να μειωθεί η σύγχυση


gpapargi

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

gthal

Γεια σου Σπύρο,
διάβασα κι εγώ το topic και ... ζαλίστηκα περισσότερο   :D

Προσπαθώ λοιπόν να καταλήξω σε ένα resume του topic :

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

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

zwoula, βγαίνει νόημα ?   :)
Φιλικά,
Γιώργος Θαλασσινός

gpapargi

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

Σπύρος Δουκάκης

Με πρόλαβε ο Γιώργος Γιώργο!

Συμφωνώ πλήρως.

ΣΔ

P.Tsiotakis

Παράθεση από: zwoula στις 26 Νοε 2009, 11:45:19 ΜΜ
αν η ουρα και η στοιβα ανοικουν στις στατικες η δυναμικες δομες;

στατικές

gthal

Παράθεση από: gpapargi στις 27 Νοε 2009, 11:26:21 ΠΜ
Το αν οι θέσεις μνήμης είναι συνεχόμενες είναι μια ιδιότητα και δεν είναι αυτό που καθορίζει το στατικό και το δυναμικό.   
Συμφωνώ απόλυτα κι εγώ με αυτό. Μα δεν είναι ορισμοί αυτά που έγραψα.
Προσπαθώ απλά να δείξω τις διαφορές μεταξύ των δύο υλοποιήσεων για να καταλάβει (βάσει του βιβλίου) αυτός  που ρωτάει (αν δεν κάνω λάθος, το σχολ. βιβλίο ως διαφορές των στατικών και των δυναμικών αυτά τα δύο χαρακτηριστικά δεν αναφέρει ;  )
Φιλικά,
Γιώργος Θαλασσινός

pgrontas

Πάντως αυτό που θέλω να επισημάνω είναι ότι κακώς το βιβλίο μπλέκεται με λεπτομέρειες υλοποίησης και ειδικά στο κεφάλαιο 3, που υποτίθεται απασχολούμαστε με αλγορίθμους σε ψευδογλώσσα. Εδώ θα έπρεπε να βλέπουμε την στοίβα ως αφηρημένη δομή δεδομένων.
Ίσως τέτοια σημεία θα ήταν ενδιαφέρον να συζητηθούν στην ημερίδα, όπως και άλλα που έχουν επισημανθεί κατά καιρούς.
Σχετικά με το στατική ή δυναμική, παρά το γεγονός ότι στις παλαιότερες συζητήσεις αμφιταλαντεύομουν, τώρα έχω πειστεί ότι μάλλον στις στατικές πρέπει να καταταχθεί. Βέβαια εξακολουθώ να πιστεύω ότι πρέπει να αποφεύγουμε τέτοιες ερωτήσεις.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

gthal

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

Συμπληρώστε με σωστό ή λάθος
...
3. Δυναμικές είναι οι δομές που αποθηκεύονται σε συνεχόμενες θέσεις μνήμης

και παρακάτω δίνει την απάντηση:
3: λάθος       

έχω δηλ την εντύπωση ότι χρησιμοποιεί  την ιδιότητα σαν ορισμό τους   ;D
Φιλικά,
Γιώργος Θαλασσινός

zwoula

@gpapargi , τι εννοεις αναλογα με την υλοποιηση?δηλαδη αλλες φορες ειναι στατικες και αλλες φορες δυναμικες?
Κάποτε είχαμε χρόνο για τον εαυτό μας.
Σήμερα δεν έχουμε χρόνο για κανένα....
Αυτό το «Κάποτε», το έλεγαν ζωή..

zwoula

@gthal , 'όταν υλοποιούνται με πίνακες (όπως στο σχολ. βιβλίο) η ουρά και η στοίβα είναι στατικές δομές..' και συμπληρωνεισ..  'στην πραγματικότητα όμως, η στοίβα και η ουρά δεν υλοποιούνται με πίνακες (αλλά με άλλους τρόπους)'...αρα η απαντηση σου ειναι οτι ειναι δυναμικες.σωστα καταλαβα?
Κάποτε είχαμε χρόνο για τον εαυτό μας.
Σήμερα δεν έχουμε χρόνο για κανένα....
Αυτό το «Κάποτε», το έλεγαν ζωή..