Υπολογιστές, Προγραμματισμός
Javascript για συστοιχίας και τη δημιουργία της. Όλα για συστοιχίες το JavaScript
Σε αυτό το άρθρο θα εξετάσουμε την Javascript-σειρά, τα συστατικά του. JavaScript είναι ένα τέλειο σενάριο προσανατολισμό γλώσσα σχεδιαστεί για τον προγραμματισμό. Στην πραγματικότητα, υλοποιεί τη γλώσσα ECMAScript (πρότυπο ECMA-262).
Από την Javascript; Χρησιμοποιείται ως ένα ενσωματωμένο γλώσσα, προκειμένου να καθοριστεί η πορεία του προγράμματος για την εφαρμογή θέμα. Μπορεί να βρεθεί στο πρόγραμμα περιήγησης: χρησιμοποιείται εκεί ως γλώσσα δέσμης ενεργειών που δίνει ιστοσελίδες διαδραστικό.
Τα σημαντικότερα αρχιτεκτονικά χαρακτηριστικά αυτού του προϊόντος είναι δυναμική και αδύναμη δακτυλογράφηση, avtoupravlenie μνήμη ιδανικό λειτουργίες προγραμματισμού που είναι αντικείμενα της πρώτης απαλλαγής.
Στην πραγματικότητα, σε JavaScript επηρέασε διάφορους λόγους, γιατί η εξέλιξη θα δημιουργήσει μια γλώσσα παρόμοια με Java, αλλά εύκολο στη χρήση από τους προγραμματιστές. Με την ευκαιρία, η γλώσσα JavaScript δεν κατέχει κάθε εταιρεία ή τον οργανισμό που το καθιστά διαφορετικό από μια σειρά από στυλ προγραμματισμού που χρησιμοποιείται από τους web developers.
Θα πρέπει να σημειωθεί ότι η JavaScript - σήμα κατατεθέν της Oracle Corporation του Ομίλου.
Τι είναι ένας πίνακας;
Ονομάζεται συστοιχία τύπο δεδομένων, το οποίο αποθηκεύει αριθμημένες τιμές. Κάθε τέτοια τιμή αναφέρεται ως το συστατικό συστοιχία και το ψηφίο από το οποίο δεσμεύεται με το συστατικό, που ονομάζεται ένα ευρετήριο. Τη JavaScript-σειρά έχει τυποποιηθεί. Αυτό σημαίνει ότι τα στερεά μέρη μπορούν να έχουν ανεξάρτητα από το είδος, με διαφορετικά μέρη που ανήκουν στην ίδια συστοιχία, έχουν τελείως διαφορετικούς τύπους.
Επιπλέον, το JavaScript συστοιχία είναι δυναμική, και λέγεται ότι ένα σταθερό μέγεθος δεν χρειάζεται να δηλωθεί. Μετά την προσθήκη νέων τμημάτων ανά πάσα στιγμή.
στερεά παραγωγής
Χρησιμοποιώντας τη γλώσσα JavaScript για να δημιουργήσει μια σειρά αρκετά δύσκολο. Υπάρχουν δύο μέθοδοι για το σκοπό αυτό. Η πρώτη περιλαμβάνει την παραγωγή ενός πίνακα χρησιμοποιώντας μια γραμματική - από αγκύλες, στο εσωτερικό του οποίου τοποθετείται μια λίστα στοιχείων, διαιρούμενο με κόμματα.
- var άδειο = []? // άδειο πίνακα?
- numers var = [4, 1, 2, 5]? // συστοιχία με πέντε ψηφιακά εξαρτήματα?
- var diff = [1.5, ψευδή, «κείμενο»]? // συστοιχία με τρία στοιχεία διαφορετικών τύπων.
Κατά κανόνα, δεν απαιτείται να είναι απλές τιμές (σειρές και αριθμούς). Μπορεί επίσης να είναι οποιεσδήποτε άλλες εκφράσεις, για παράδειγμα, κατεξοχήν αντικείμενο, άλλες λειτουργίες και πίνακες.
Ο δεύτερος τρόπος για τη δημιουργία ενός σχεδιαστή σειρά είναι να καλέσετε Array (). Για να τον προσκαλέσει σε μία από τις τρεις μεθόδους:
- Κλήση ένας σχεδιαστής χωρίς επιχειρήματα: var β - νέα Array (). Προβλέπει τη δημιουργία ενός άδειου ισοδύναμη συστοιχία προς μια κενή κυριολεκτική [].
- Ο σχεδιαστής έχει αναφέρεται ρητώς η αξία n των συστατικών συστοιχίας: var b = new Array (1, 3, 5, 8, «γραμμή», αλήθεια). Στην περίπτωση αυτή, ο σχεδιαστής παρουσίασε μια λίστα με επιχειρήματα, τα οποία μετατρέπονται σε μια νέα εξαρτήματα της διάταξης. Τα επιχειρήματα που εγγράφονται στον πίνακα είναι η θέση όπου ενδείκνυται.
- Ο καθορισμός του πεδίου εφαρμογής για περαιτέρω ανάθεση τιμές. Αυτό γίνεται καθορίζοντας την συστοιχία ανίχνευσης ένας αριθμός που περικλείεται σε παρενθέσεις: var b = new Array (5). Αυτή η μέθοδος ανίχνευσης εμπλέκει την συστοιχία κατανομή απαιτούμενες ποσότητες των συστατικών (καθένα από τα οποία αναφέρεται ως απροσδιόριστο) με δυνατότητα ανάθεσης τιμών στην παρουσίαση. Αυτή η μορφή συνήθως χρησιμοποιείται για να προ-διαθέσει το Javascript-συστοιχία του οποίου το μήκος είναι γνωστή εκ των προτέρων.
Καταγραφή, την ανάγνωση και προσθέτοντας λεπτομέρειες της συστοιχίας
Πάρτε στα συστατικά της συστοιχίας μπορεί να είναι μέσω του χειριστή []. Με την ευκαιρία, όλα τα στοιχεία σε JavaScript, ξεκινώντας από το μηδέν, είναι αριθμημένες. Για να αποκτήσετε τα απαραίτητα στοιχεία, αναφέρεται ο αριθμός της σε αγκύλες. Κατά γενικό κανόνα, τα στοιχεία μπορούν να αλλάξουν. Ένα Javascript για να προσθέσετε στη σειρά, αρκεί να ορίσετε μια νέα τιμή.
Θα πρέπει να σημειωθεί ότι η Javascript συστοιχίες μπορεί να αποθηκεύσει οποιοδήποτε αριθμό των στοιχείων του κάθε είδους.
Το μήκος της συστοιχίας
Γνωρίζουμε, λοιπόν, τι το JavaScript. μήκος της συστοιχίας σε γενικές γραμμές είναι ένα ενδιαφέρον φαινόμενο. Ας εξετάσουμε με περισσότερες λεπτομέρειες. Όλες τις κλίμακες κατασκευάζονται χρησιμοποιώντας Designer Array () και ανιχνεύεται μέσω μιας γραμματικής συστοιχίας έχουν μια συγκεκριμένη ιδιότητα μήκος, η οποία αποσύρει τον συνολικό αριθμό των στοιχείων φειδωλοί. Δεδομένου ότι η συστοιχία μπορεί να είναι αβέβαιο από τα στοιχεία (απροσδιόριστο Το οριζόμενο), ακούγεται ένας πιο ακριβής έκφρασης έτσι: μήκος ποιότητα είναι πάντα μεγαλύτερη κατά ένα από τον μεγαλύτερο αριθμό (δείκτη) του συστατικού συστοιχίας. Ποιότητα μήκος ρυθμίζεται αυτόματα, διαμονή ακριβείς την εμφάνιση της μια σειρά από νέα στοιχεία.
Για να εμφανίσετε το τελικό συστατικό ενός πίνακα, μπορείτε να χρησιμοποιήσετε την ιδιότητα μήκος.
Το τελευταίο μέρος είναι ο δείκτης ένα μικρότερο από το μέγεθος της συστοιχίας. Μετά την αντίστροφη μέτρηση αρχίζουν πάντα από το μηδέν. Αχ, αυτό το JavaScript! Το μήκος της συστοιχίας εξαρτάται από ακριβή αριθμό της στοιχείων. Επομένως, εάν δεν ξέρετε πόσα θα πρέπει να υπάρχει, αλλά θα πρέπει να στραφούν προς το τελευταίο στοιχείο του πίνακα, είναι αναγκαίο να εφαρμοστεί το ρεκόρ: v.length - 1.
Επαναλάβει την συστοιχία των εξαρτημάτων
Πολύ συχνά, η ιδιότητα μήκος χρησιμοποιείται για να επαναλάβει πάνω στη συστοιχία εξαρτημάτων στον κύκλο:
- var φρούτα = [ «φράουλα», "ροδάκινο", "μήλο", "μπανάνα"]?
- για (var i = 0? i
- document.write (φρούτα [i] + «...»).
Σε αυτό το παράδειγμα φαίνεται ότι οι συνιστώσες διατάσσονται συνεχώς και να αρχίσει με το πρώτο τμήμα, η οποία κατέχει δείκτη μηδέν. Εάν αυτό δεν συμβαίνει, πριν από την κλήση κάθε στοιχείο του πίνακα θα πρέπει να ελεγχθεί αν ορίζεται.
Ο κύκλος είναι επίσης μερικές φορές χρησιμοποιείται για την αρχικοποίηση των συστατικών.
Η αύξηση και η συστοιχία κολόβωση
Αναρωτιέμαι πώς χρησιμοποιείτε τη γλώσσα Javascript για string σε μια σειρά για να προσθέσετε; Κατά τη διαδικασία της εργασίας με πίνακες, μήκους μήκους βελτιώνει αυτόματα την ποιότητα, και γι 'αυτό πρέπει να ασχοληθούν με τον εαυτό σας. Είναι απαραίτητο να θυμηθούμε μια λεπτομέρεια - το μήκος ακίνητο αυτό δεν είναι διαθέσιμο για ανάγνωση μόνο, αλλά και για την ιστορία. Εάν η τιμή του χαρακτηριστικού μήκους ποιότητας που δίνει το μέγεθος του ρεύματος, η συστοιχία μειώνεται σε μία προκαθορισμένη τιμή. Τυχόν εξαρτήματα που δεν περιλαμβάνονται στη νέα σειρά δεικτών, πλαγιάζω, και οι τιμές τους χάνονται, ακόμη κι αν αργότερα επιστρέψετε μήκους - οι τιμές δεν μπορούν να αποκατασταθούν.
Πολύ απλά διώξει την συστοιχία ως: foo.length = 0.
Εάν η ποιότητα του τρέχοντος μήκους μεγαλύτερο από την τρέχουσα αξία του, στο τέλος της συστοιχίας θα είναι νέες, αγνώστων συστατικών, τα οποία θα την αυξήσει στο επιθυμητό μέγεθος.
Διαγραφή μια σειρά από λεπτομέρειες
Η διαγραφής χειριστής δείχνει το στοιχείο του πίνακα με απροσδιόριστο, αλλά εξακολουθεί να υπάρχει σε αυτή την περίπτωση. Αν θέλετε να καταργήσετε το στοιχείο Javascript για του πίνακα, έτσι ώστε το υπόλοιπο μέρος μετατοπίζεται προς την κενή θέση, θα πρέπει να χρησιμοποιήσετε έναν από τους τρόπους για να προβλέψει τον πίνακα. Μέθοδος Array.shift () αφαιρεί ένα πρώτο συστατικό, ποπ () - περάτωση συστατικό και μία μέθοδο ματίσματος () - ενός συστατικού ή να κυμαίνεται οπουδήποτε συστοιχία.
πολυδιάστατους πίνακες
Φαίνεται ότι καταλαβαίνουμε λίγο, τι το JavaScript. Δύο διαστάσεων πίνακες - που πρέπει να εξεταστούν περαιτέρω. Θυμάστε ότι συστοιχίες την Javascript για να περιέχουν ως συστατικά άλλων αντικειμένων; Αυτή η λειτουργία χρησιμοποιείται για την παραγωγή των πολυδιάστατων πινάκων. Για να επισκεφθείτε τα στοιχεία σε μια σειρά από πίνακες είναι αρκετή για να εφαρμόσει τα στηρίγματα δύο φορές.
πίνακας συσχέτισης
Τώρα μαθαίνουμε πώς να το εμπορικό σήμα χρησιμοποιεί JavaScript πίνακας συσχέτισης. Για να γίνει αυτό θα πρέπει να εξετάσουμε τη θεωρία: πίνακας συσχέτισης είναι μερικές φορές ονομάζεται πίνακες κατακερματισμού. Οι Χάρη σ 'αυτούς, αντί για τις σειρές του δείκτη εφαρμόζεται. Η χρήση τέτοιων δομών θυμίζει την χρήση του ονόματος των ιδιοτήτων ενός απλού αντικειμένου, αλλά στην πραγματοποίηση αυτή, η απόδοση της εργασίας σε μια μορφή πίνακα. Δεδομένου ότι δεν υπάρχουν τρόποι χειρισμού Javascript για συστοιχίες συνειρμική, χρησιμοποιούνται πολύ λιγότερο συχνά απ 'ότι συνήθως. Θα πρέπει να σημειωθεί ότι ακόμα μπορεί να είναι χρήσιμη για την αποθήκευση δεδομένων και να απλοποιήσει την αποθήκευση των εξαρτημάτων, η οποία θα είναι προσβάσιμη.
σειρά εξόδου
Και τώρα θα μελετήσουμε στο σύστημα JavaScript; συστοιχία εξόδου στο παράθυρο διαλόγου (στην οθόνη), καθώς και οι τιμές εξόδου των συστατικών συστοιχίας.
Εάν το πρόγραμμα που θέλετε να εμφανίσετε τις τιμές όλων των συστατικών, τότε είναι εύκολο να εφαρμόσει τις οδηγίες. Είναι ενδιαφέρον, οι μεταβλητές-μετρητή κανόνες για χρήση στο ίδιο χρόνο όπως το συστατικό του δείκτη συστοιχίας.
καθάρισμα
Για να φιλτράρετε μια σειρά από JavaScript, θα πρέπει να επαναφέρετε το μήκος του:
- var myArray = [1, 2, 5, 23]?
- myArray.length = 0.
Το παρακάτω δείχνει την εφαρμογή του προορισμού σαφή (), σε ένα πλαίσιο, το JavaScript-Πρωτότυπο:
- σαφής: λειτουργία () {?
- this.length = 0?
- επιστρέφουν αυτό?
- }.
Προσθήκη και αφαίρεση εξαρτημάτων
Λοιπόν, συνεχίζουμε να διερευνήσει περαιτέρω αυτό το συναρπαστικό γλώσσας JavaScript. στοιχείο του πίνακα όσο το δυνατόν και να αφαιρέσετε και να προσθέσετε τον ίδιο τρόπο όπως τα συμβατικά ιδιότητες των άλλων αντικειμένων. Ωστόσο, υπάρχουν ορισμένες διαφορές: η προσθήκη αριθμητικό ιδιότητες της ποιότητας μήκος μπορεί να διαφέρουν, αλλά στην τροποποίηση του μήκους ιδιότητες μπορούν να εξαλειφθούν αριθμητική ποιότητας. Κατ 'αρχήν, όπως τον αλγόριθμο εγκατάσταση σε συστοιχίες έχει ως εξής:
- Κατά την προσθήκη ενός ψηφιακού άγνωστες ιδιότητες των i, αν το μήκος είναι ίσο ή μικρότερο από i, το μήκος προσδιορίζεται να είναι i + 1.
- Όταν αλλάζετε την ποιότητα του μήκους για να εκτελέσετε τα ακόλουθα βήματα: εάν η καθορισμένη τιμή είναι μικρότερη του μηδενός, τότε ρίχνει RangeError. Εξαλείφει όλες τις αριθμητικές ποιοτικούς δείκτες που είναι ίσο με το νέο μήκος, και μεγαλύτερη από ό, τι.
Στην πραγματικότητα αφαιρέστε στοιχείο του πίνακα JavaScript είναι απλή. Μετά από όλα, ακόμα και τη ρύθμιση του μεγέθους, θα πρέπει να αφαιρέσετε τα «έξτρα» συστατικά από αυτό. Από αυτήν την σειρά επιλογής καθαρισμού. Αν η μεταβλητή έχει εκχωρηθεί μια νέα κενή σειρά, για οποιονδήποτε λόγο, δεν ήταν ικανοποιημένοι, και είναι απαραίτητη για την επαναφορά του ρεύματος, η ποιότητά του είναι επαρκές μήκος για να ορίσετε μια τιμή μηδέν.
unshift μεθόδους, μετατόπιση, ποπ και ώθησης
Παρά το γεγονός ότι τα συστατικά στοιχεία του πίνακα έχουν αλλάξει με το χέρι, πολλές συνιστούμε να χρησιμοποιείτε αυτό το ενσωματωμένο μεθόδους. Είναι αυτή η απόχρωση εγγυάται την σωστή τιμή της ποιότητας και την έλλειψη μήκους στα περάσματα συστοιχία. Με την ευκαιρία, η ποιότητα των σωστό μήκος θα αντιστοιχεί με τον αριθμό των εξαρτημάτων.
Η διαδικασία κινείται για να ωθήσει το άκρο της συστοιχίας μεταδιδόμενων στοιχείων. Pop πίσω διαδικασίας δίνει το τελικό συστατικό και το αφαιρεί.
Γενικά στον Internet Explorer στο πλαίσιο του όγδοου έκδοση unshift μπορεί να επιστρέψει απροσδιόριστο, σε άλλα προγράμματα περιήγησης - τη νέα τιμή του μήκους. Έτσι ώστε η τιμή επιστροφής από την unshift καλύτερα να μην ελπίζουν.
Η προσθήκη και την εξάλειψη των τμημάτων στη μέση της συστοιχίας
Αν θέλετε να διαγράψετε μια σειρά από JavaScript, θα πρέπει να πάρετε; Είναι γνωστό ότι η μέθοδος έχει Array.prototype.splice υπογραφή σύνδεσης.
Ο ίδιος αποσύρεται από τα συστατικά σειρά deleteCount, που αρχίζει με την έναρξη του δείκτη. Αν περνάτε περισσότερο από δύο επιχειρήματα, όλα τα επόμενα επιχειρήματα η σειρά είναι τοποθετημένα στη θέση της υπό εκκαθάριση. Εάν αρχή είναι μείον, ο δείκτης κατά την οποία για να συνεχιστεί η απόσυρση θα είναι ίσο με το μήκος + ξεκινήσει. Επιστρέφοντας στη συστοιχία των απομακρυσμένων στοιχείων λαμβάνει χώρα.
Στην πραγματικότητα, χρησιμοποιώντας τη μέθοδο ματίσματος, είναι δυνατόν να αφαιρεθούν τα συστατικά από τα μέσα του ενός πίνακα ή να προσθέσετε οποιοδήποτε αριθμό οπουδήποτε στη συστοιχία.
Στην απλούστερη πραγματοποίηση, αν είναι απαραίτητο να απομακρυνθεί το συστατικό με δείκτη i, η συστοιχία πρέπει να ζητήσει μέθοδο ματίσματος με παραμέτρους i και 1.
Κατ 'αρχήν, η δεύτερη επιλογή στη μέθοδο συναρμογής δεν είναι υποχρεωτική, αλλά η συμπεριφορά της συνάρτησης με ένα επιχείρημα για κάθε πρόγραμμα περιήγησης είναι διαφορετικό.
Για παράδειγμα, σε Firefox, Opera στις τελευταίες παραλλαγές, όλες οι λεπτομέρειες πριν από το τέλος της σειράς θα αφαιρεθεί στο Safari και Chrome.
καμία μεμονωμένη συνιστώσα εξαλείφεται στον IE. Η πρώτη παραλλαγή είναι αδύνατον να προβλεφθεί η συμπεριφορά της Όπερας - θα πρέπει να αφαιρεθεί ένα στοιχείο με δείκτη εκκίνησης - 1. Ως εκ τούτου, είναι πάντα απαραίτητο σε αυτή τη μέθοδο για να μεταδίδουν τουλάχιστον δύο συστατικά.
τα πλήκτρα
Φυσικά, η εκμάθηση JavaScript, πίνακας συσχέτισης, όπως προαναφέρθηκε, θα πρέπει, επίσης, δεν πρέπει να αγνοηθεί. Αυτή είναι μια αφηρημένη άποψη των πληροφοριών (η διασύνδεση στο χώρο αποθήκευσης δεδομένων), η οποία σας επιτρέπει να αποθηκεύσετε ένα ζεύγος της μορφής «(κλειδί, τιμή)» και η λειτουργία της προσθήκης ενός ζεύγους υποστήριξης, καθώς και τη διαγραφή και την αναζήτηση του ζεύγους κλειδιών:
- FIND (κλειδί).
- INSERT (τιμή, το κλειδί).
- Βγάλτε (κλειδί).
Πιστεύεται ότι σε ένα associative πίνακα δεν μπορεί να σώσει τις δύο ζεύγη με παρόμοια πλήκτρα. Σε ένα ζευγάρι των k + vv είναι η τιμή που σχετίζεται με το κλειδί k. Σημασιολογία και εδώ με τις παραπάνω ενέργειες σε διάφορες εφαρμογές τέτοιων πινάκων μπορεί να είναι διαφορετική.
Έτσι, FIND λειτουργίας (πλήκτρο) επιστρέφει μια τιμή που σχετίζεται με ένα δεδομένο κλειδί, ή μια συγκεκριμένη UNDEF αντικείμενο, πράγμα που σημαίνει ότι η τιμή που σχετίζεται με ένα δεδομένο κλειδί, εκτός σύνδεσης. Δύο άλλες ενέργειες δεν επιστρέφουν (εκτός από τα στοιχεία για το αν η επιχείρηση ήταν επιτυχής).
Γενικά, από την άποψη της διεπαφής, associative πίνακα το οποίο θεωρείται ως ένα απλό πίνακα, όπου σαν δείκτες μπορεί να εφαρμοστεί όχι μόνο ακέραιους αριθμούς, αλλά άλλοι τύποι και αξίες - για παράδειγμα, γραμμές.
Παρεμπιπτόντως, υποστήριξη για τέτοιες συστοιχίες αντιμετωπίζονται υπάρχουν πολλές γλώσσες προγραμματισμού υψηλού επιπέδου, όπως η PHP, Perl, Ruby, Python, Tcl, JavaScript και άλλοι. Για τις γλώσσες που δεν έχουν ενσωματωμένα εργαλεία για να συνεργαστεί με συστοιχίες συνειρμικό, δημιούργησε έναν τεράστιο αριθμό των επιτευγμάτων με τη μορφή των βιβλιοθηκών.
Ένα παράδειγμα ενός associative array μπορεί να χρησιμεύσει ως ένα τηλεφωνικό κατάλογο. Στην πραγματοποίηση αυτή, η τιμή ορίζεται «F. IO + e», και το κλειδί - τον αριθμό τηλεφώνου. Ένας αριθμός τηλεφώνου είναι ένα master, αλλά ένα άτομο μπορεί να κατέχει πολλούς αριθμούς.
Συνδεδεμένη επέκταση
Θα πρέπει να σημειωθεί ότι οι πιο γνωστές επεκτάσεις περιλαμβάνουν τα ακόλουθα:
- ΚΑΘΕ - «βόλτα» σε όλους σώζει ζεύγη.
- CLEAR - για να διαγράψετε όλες τις εγγραφές.
- MIN - για να βρουν ένα ζευγάρι με τη χαμηλότερη τιμή κλειδιού.
- MAX - για να βρουν ένα ζευγάρι με τη μεγαλύτερη τιμή του κλειδιού.
Στις δύο τελευταίες περιπτώσεις θα πρέπει να στα πλήκτρα που αναφέρονται αποτέλεσμα σύγκρισης.
Υλοποίηση πίνακας συσχέτισης
Υπάρχουν πολλές διαφορετικές εφαρμογές της associative πίνακα. Η πιο κοινή εφαρμογή μπορεί να βασίζεται σε μια απλή συστοιχία των οποίων τα συστατικά είναι η ζεύγη (κλειδί αξία). Για να επιταχύνει τις λειτουργίες αναζήτησης, μπορείτε να κανονίσετε εξαρτήματα της διάταξης από ένα σημαντικό εύρημα και να εφαρμόσει χρησιμοποιώντας μια δυαδική αναζήτηση. Αλλά θα αυξήσει την ποσότητα του χρόνου που απαιτείται για να προσθέσετε ένα νέο ζευγάρι, καθώς θα χρειαστεί να «πιέσει» τα εξαρτήματα της διάταξης που εμφανίστηκε σε ένα άδειο κελί για να συσκευάσει ένα νέο ρεκόρ.
Η πιο γνωστή εφαρμογή, η οποία βασίζεται σε διαφορετικά δέντρα αναζήτησης. Για παράδειγμα, σε ένα τυπικό δωμάτιο ανάγνωσης STL C ++ γλώσσα Τρέιλερ χάρτη υλοποιείται με βάση το μαύρο και το μαόνι. Στην Ruby, στυλ, Tcl, Python χρησιμοποιεί έναν τύπο πίνακα κατακερματισμού. Υπάρχουν και άλλοι εφαρμογή.
Σε γενικές γραμμές, κάθε εφαρμογή έχει τα δικά της πλεονεκτήματα και τα μειονεκτήματά του. Είναι σημαντικό ότι και οι τρεις πράξεις αυτές πληρούνται, κατά μέσο όρο, και στη χειρότερη περίοδο της απόχρωσης περίπου (log n), όπου n - τρέχοντα αριθμό για να σώσει παρ. Για συντονισμένη δέντρα αναζήτησης (συμπεριλαμβανομένων μαύρο και κόκκινο δέντρα), αυτή η συνθήκη ικανοποιείται.
Είναι γνωστό ότι σε εφαρμογές που βασίζονται σε πίνακες κατακερματισμού, ο μέσος χρόνος ορίζεται ως O (1), η οποία είναι καλύτερη από τις ενέργειες που βασίζονται σε αναζήτηση δέντρο. Φυσικά, αυτό δεν εγγυάται ένα υψηλής ταχύτητας επιδόσεις των ξεχωριστών ενεργειών: INSERT δράση φορά στην χειρότερη περίπτωση, συμβολίζεται με O (n). διαδικασία INSERT εκτελείται για μεγάλο χρονικό διάστημα όταν η αναλογία δασμός φθάνει το υψηλότερο σημείο, και υπάρχει η ανάγκη να ανακατασκευάσει το ευρετήριο πίνακα κατακερματισμού.
Με την ευκαιρία, αυτές οι δηλώσεις hash κακό ότι σε αυτή τη βάση, είναι αδύνατο να εκτελέσει ταχεία συμπληρωματική δράση MAX, MIN, και ένας αλγόριθμος για να ψάξετε όλες τις αποθηκεύει ζεύγη κατά φθίνουσα σειρά ή αύξουσα κλειδιά.
Similar articles
Trending Now