Καλησπέρα.
Προσπαθώ να σκεφτώ μια καλή δομή δεδομένων στον δίσκο όπου να μου κρατάει ταξινομημένα τα δεδομένα μου και να μπορεί γρήγορα να ανανεώσει οποιαδήποτε αλλαγή.
Το αρχείο θα αποτελείτε από disk pages όπου κάθε σελίδα θα έχει έναν ακέραιο για τους πόντους ενός πελάτη, και ακόμα έναν ακέραιο ο οποίος θα δείχνει στην σελίδα ενός άλλου αρχείου που βρίσκονται οι πληροφορίες του πελάτη. Ο διαχειριστής του προγράμματος θα μπορεί να αλλάζει τους πόντους ενός πελάτη για αυτό θέλω το αρχείο να παραμένει ταξινομημένο.
Επίσης θέλω να μπορώ να προσπέλασω το αρχείο σαν μια συνδεδεμένη λίστα για να παίρνω έναν έναν τους πόντους από τον μεγαλύτερο προς τον μικρότερο.
Στην αρχή σκέφτηκα για ένα B+ tree Αλλά δεν είμαι σίγουρος.
Εμφάνιση 1-5 από 5
-
27-07-17, 14:56 Βοήθεια επιλογής δομής δεδομένων! #1
-
27-07-17, 15:04 Απάντηση: Βοήθεια επιλογής δομής δεδομένων! #2
Τι εννοείς disk page ???
The 3 most dangerous things in the world are a computer technician with a software patch, a programmer with a screwdriver and a customer with an idea....
Εγκατάσταση Ubuntu και Joomla
-
27-07-17, 15:45 Απάντηση: Βοήθεια επιλογής δομής δεδομένων! #3
-
27-07-17, 17:34 Απάντηση: Βοήθεια επιλογής δομής δεδομένων! #4
Ευχαριστώ για τη μετάφραση .
Δηλαδή θες να φτιάξεις δικό σου πρόγραμμα βάσης δεδομένων χωρίς να ξέρεις ότι αυτό θες .
Επίσης και για εμένα που δεν ξέρω πως κατάφερες να ορίσεις σε ποια "disk page" θα βρίσκεται το κάθε αρχείο και πως θα διαβάζεις από εκεί κατευθείαν αφού το λειτουργικό (δεν γράφεις καν σε ποιο λειτουργικό) σου φέρνει τις σελίδες στη μνήμη και αυτό κανονίζει πως γίνεται το paging ?
To disk page ορίζεται από το λειτουργικό και έχει να κάνει με με το caching και τη μνήμη .
Οπως καταλαβαίνεις για εμένα τουλάχιστον δεν βγάζει και πολύ νόημα αυτό που λες και ας το μετέφρασες στα Ελληνικά .The 3 most dangerous things in the world are a computer technician with a software patch, a programmer with a screwdriver and a customer with an idea....
Εγκατάσταση Ubuntu και Joomla
-
27-07-17, 18:04 Απάντηση: Βοήθεια επιλογής δομής δεδομένων! #5
Καμιά σχέση με το disk page που ορίζει το λειτουργικό. Σαν disk page ορίζω έναν buffer ο οποίος λειτουργεί σαν πακετάρισμα δεδομένων και έχει στατικό μέγεθος. Για παράδειγμα εάν θέλω να φτιάξω μία συνδεδεμένη λίστα στον δίσκο θα κάνω το εξής:
Ας πούμε ότι κάθε κόμβος (το ονομάζω: disk page στον δίσκο) έχει έναν ακέραιο που κρατάει το κλειδί και έναν ακόμη ακέραιο που δείχνει στην επόμενη σελίδα. Συνολικά ο κόμβος μου είναι 8 bytes.
Άρα κάθε φορά που θέλω να προσθέσω ένα νέα αντικείμενο στην λίστα, θα φτιάχνω στην μνήμη έναν buffer από bytes μεγέθους 8, θα βάζω τους δύο ακέραιους εκεί μέσα και στην συνέχεια θα τον γράφω στο τέλος του αρχείο. Αντί δηλαδή να κάνω κάθε φορά writeInteger(key), writeInteger(next_page). Έτσι γλυτώνω προσβάσεις στον δίσκο.
Παρόμοια Θέματα
-
[Netgear] Βοηθεια για αναβάθμιση router στο σπίτι.
Από lympero στο φόρουμ ADSL & Broadband Hardware, routers και modems...Μηνύματα: 8Τελευταίο Μήνυμα: 29-07-17, 10:03 -
H O2 παραδέχεται ότι περιορίζει τις συνδέσεις δεδομένων σε κατάσταση περιαγωγής
Από sdikr στο φόρουμ ΕιδήσειςΜηνύματα: 35Τελευταίο Μήνυμα: 29-07-17, 09:02 -
Ευρωδικαστήριο: άκυρη η συμφωνία μεταξύ Ε.Ε.- Καναδά για ανταλλαγή δεδομένων επιβατών πτήσεων
Από nnn στο φόρουμ ΕιδήσειςΜηνύματα: 2Τελευταίο Μήνυμα: 26-07-17, 23:16 -
Η Επιτροπή ανακοινώνει τα επόμενα βήματα προς μια ευρωπαϊκή οικονομία δεδομένων
Από nnn στο φόρουμ ΕιδήσειςΜηνύματα: 1Τελευταίο Μήνυμα: 11-01-17, 00:21 -
Τα κράτη μέλη δεν μπορούν να επιβάλλουν γενική υποχρέωση διατηρήσεως δεδομένων στους παρόχους επικοινωνιών
Από nnn στο φόρουμ ΕιδήσειςΜηνύματα: 0Τελευταίο Μήνυμα: 21-12-16, 22:35
Bookmarks