Array/Liste vs-Wörterbuch (warum haben wir Sie auf den ersten Platz)
Mir sind Sie beide gleich und das ist, warum ich Frage mich, warum haben wir das dictionary-Datenstruktur, wenn wir tun können, alles mit arrays/Liste? Was ist so fancy, die in Wörterbüchern?
InformationsquelleAutor itsaboutcode | 2010-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Arrays bieten random access einer sequentiellen Satz von Daten. Wörterbücher (oder assoziative arrays) eine Karte aus einem Satz von Schlüsseln zu einem Satz von Werten.
Sind Sie glaube ich äpfel und Birnen vergleichen - Sie dienen zwei völlig unterschiedlichen Zwecken und auch nützliche Datenstrukturen.
Meisten der Zeit, ein Wörterbuch wie der Typ gebaut ist, als hash-Tabelle - dieser Typ ist sehr nützlich, da es bietet sehr schnelle lookups im Durchschnitt (abhängig von der Qualität der Hash-Algorithmus).
ja, obwohl der Wert Schlüssel zugänglich kann ein array/Liste mit mehreren Werten.
Ein Wörterbuch ist sehr ähnlich zu einem array. In der Erwägung, dass ein array-Karten der index auf den Wert, ein Wörterbuch, Karten der Schlüssel zum Wert.
InformationsquelleAutor Andrew Hare
Arraylists speichern nur ein Satz von Objekten (, die zugegriffen werden kann, die nach dem Zufallsprinzip). Wörterbücher speichern Paare von Objekten. Das macht Arrays/Listen mehr geeignet, wenn Sie eine Gruppe von Objekten in einem Satz (Primzahlen, Farben, Studenten, etc.). Wörterbücher sind besser geeignet für die Darstellung von Beziehungen zwischen einem paar von Objekten.
Warum brauchen wir Wörterbücher? können sagen, Sie haben einige Daten, die Sie brauchen, um zu konvertieren von einer form zur anderen, wie römischen Ziffern Charaktere, Ihre Werte. Ohne Wörterbücher, müsstest du diesen hack Verein zusammen mit zwei arrays, wo Sie zunächst die position der Schlüssel ist in der ersten Liste und den Zugriff auf diese position in der zweiten. Das ist furchtbar fehleranfällig und ineffizient, und die Wörterbücher bieten einen direkteren Ansatz.
wenn Sie definiert Phantasie als "einfacher, zuverlässiger, einfacher zu verstehen und arbeiten mit", ja 😀
Das Beispiel, das Sie gegeben haben, kann umgesetzt werden, indem durch n*2 array? infizieren zu mir-Wörterbuch ist n*2 array. Meine interpretation ist richtig?
Sie sind richtig, im ersten Teil; Ein N*2-oder 2-dimensionalen array ist eine andere Art der Speicherung von Schlüssel-Wert-Paare. Auf der Außenseite, ein Wörterbuch und ein n*2 array die gleichen Dinge tun. Ein Wörterbuch geht nur über den Prozess anders intern.
Die römischen Ziffern endlich das klicken für mich
InformationsquelleAutor Gordon Gustafson
Aufbauen auf dem, was Andrew sagte, in einigen Sprachen wie PHP und Javascript, das array kann auch als Wörterbuch (bekannt als assoziative arrays). Es kommt zu lose-v-strenge Typisierung in der Sprache.
InformationsquelleAutor Tilo Mitra
Könnte man in der Theorie alles mit Wörterbüchern.
Aber nicht vergessen, dass irgendwann das Programm läuft auf einer realen Maschine, die Einschränkungen durch die hardware: Prozessor, Speicher, Art der Lagerung (disc/SSD) ...
Hinter die kulissen der Wörterbücher sind oft mit einem Hash-Tabelle
In einigen Sprachen können Sie wählen zwischen vielen verschiedenen Arten von Liste/array und hash-Tabellen es gibt viele verschiedene Implementierungen dieser Strukturen, die jeweils mit vor-und benachteiligten.
Verwenden Sie ein array, wenn Sie arbeiten mit einer Folge von Elementen oder müssen zufällig Zugriff auf ein element an einem bestimmten index (0, 1, 2, ...)
Verwenden Wörterbuch, wenn Sie Schlüssel/Wert-format und benötigen schnellen Abruf über Schlüssel
Wenn Sie wollen, um zu verstehen, mehr über diese empfehle ich Ihnen erfahren Sie mehr über Datenstrukturen, wie Sie grundlegende
HINWEIS: je nach Sprache die Namen dieser Strukturen kann variieren und wird eine Quelle der Verwirrung.
wikipedia leidet unter dem gleichen problem in der Tat
InformationsquelleAutor Christophe Roussy
Die Verwirrung liegt in der unterschiedlichen Namenskonventionen in verschiedenen Sprachen. In meinem Verständnis, was als "Wörterbuch" in Python ist das gleiche wie "Assoziativen Arrays" in PHP.
InformationsquelleAutor Faustin Gashakamba