Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

ευέλικτη δομή δεδομένων

Îåêßíçóå áðü ôï ìÝëïò zekia. Τελευταία δημοσίευση από το μέλος zekia στις 01-02-2008, 16:07. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  18-01-2008, 15:29 39330

    ευέλικτη δομή δεδομένων

    Φτιάχνω μια εφαρμογή μηχανής αναζήτησης. Μέσα στη δουλειά που έχω κάνει ως τωρα χρησιμοποιήσα πρόχειρα πίνακες τύπου string για να επεξεργάζομαι τα αποτελέσματα τα οποία θα επιστραφούν στο χρήστη. Αυτό φυσικά δεν αρκεί γιατί ούτε τον αριθμό των αποτελεσμάτων μπορώ να γνωρίζω (θα πρέπει δηλ να επιλέξω μια δομή δεδ που να έχει μέγεθος δυναμικό και ευέλικτο), ούτε μου δίνεται η δυνατότητα να διαχωρίσω και να οργανώσω την πληροφορία μου (πχ σε τίτλους, links, περιλήψεις αποτελεσμάτων).

    Θέλω λοιπόν να μου προτείνετε μια δομή δεδομένων που ανταποκρίνεται στα παραπάνω γιατί δε τις γνωρίζω όλες, ούτε και τα χαρακτηριστικά κ δυνατότητες της καθεμίας. Διάβασα κάπου για DataTable αλλα δεν είμαι σίγουρη αν είναι κατάλληλο για τη συγκεκριμένη εφαρμογή.
  •  18-01-2008, 17:41 39334 σε απάντηση της 39330

    Απ: ευέλικτη δομή δεδομένων

    Ανάλογα με το είδος της εφαρμογής , τα εργαλεία που χρησιμοποιείς αλλά και τη δομή που έχει η πληροφορία σου, μπορεί ο καλύτερος τρόπος αναπαράστασης να είναι και διαφορετικός.
    Το πιο απλό είναι να δεις πρώτα την περίπτωση που κάθε "γραμμή" του πίνακά σου είναι το instance μιας κλάσης και το αποτέλεσμα είναι ένα "έτοιμο" Collection του .NET με τα instances αυτά.
    Βλέπεις αυτά εδώ http://msdn2.microsoft.com/en-us/library/system.collections.aspx αλλά και αυτά http://msdn2.microsoft.com/en-us/library/system.collections.generic.aspx ,και κοιτάς τις δυνατότητες που έχουν.
    Η "συνήθης ύποπτη", σε περιπτώσεις σαν τη δική σου, είναι η List<T> http://msdn2.microsoft.com/en-us/library/6sh2ey19.aspx .

    Καλή επιτυχία.


    Βαγγέλης Λαμπρινίδης.
  •  18-01-2008, 20:20 39336 σε απάντηση της 39334

    Απ: ευέλικτη δομή δεδομένων

    Θα δοκιμάσω αρχικά το ArrayList και θα σου πω πέτυχε ή οχι:)
  •  18-01-2008, 23:09 39341 σε απάντηση της 39336

    Απ: ευέλικτη δομή δεδομένων

    H List<T> είναι η συνήθης ύποπτη γιατί είναι πολύ εύκολη στη χρήση και αρκετά γρήγορη. Ένα ArrayList περιέχει αντικείμενα τύπου Object και μόνο, οπότε κάθε φορά που θέλεις να χρησιμοποιήσεις ένα από τα αντικείμενα της θα πρέπει να το κάνεις cast στον αρχικό του τύπο. Αυτό κοστίζει σε χρόνο γι αυτό και είναι καλύτερο να χρησιμοποιείς generic collections όπως η List<T>.

    Θα σε ενδιαφέρουν επίσης και οι επιπλέον μέθοδοι που έχουν οι περισσότερες generic collections, όπως η BinarySearch, οι διάφορες Find κλπ. Ειδικά για τις περιπτώσεις όπου χρειάζεται γρήγορη αναζήτηση μίας συγκεκριμένης τιμής, υπάρχει το Dictionary<KEY,VALUE> collection, το οποίο επιτρέπει τη γρήγορη αναζήτηση των αντικειμένων που περιέχει χρησιμοποιώντας μία τιμή κλειδί. Τέλος, στο .NET 3.5 έχει προστεθεί η HashSet<T> η οποία επιτρέπει γρήγορη αναζήτηση και πράξεις μεταξύ συνόλων, όπως π.χ. Union.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  01-02-2008, 16:07 39776 σε απάντηση της 39341

    Απ: ευέλικτη δομή δεδομένων

    τελικά αποφάσισα να χρησιμοποιήσω το List<> ως απλούστερη και ευκολότερη λύση. Σας ευχαριστω πολύ για τις απαντήσεις σαςSmile
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems