Ich muss die Nummern 0-100000 einem Hash zuweisen, ohne einen Schlüssel zu geben.So fügen Sie einen Wert zu einem vorhandenen Hash ohne Schlüssel hinzu
Ruby verwendet Murmur als Hash-Funktion. Wie kann ich einen Wert hinzufügen, ohne einen Schlüssel zu haben, wie in C, damit er Kollision und andere Dinge behandelt. Ist es möglich? Kann ich nur den Wert für Hash geben und den Schlüssel auswerten lassen, dann in ihn einfügen?
In einer normalen Hash-Operation haben wir eine Hash-Funktion und eine Tabelle. Wir verwenden value als Argument der Hash-Funktion, dann erhalten wir einen Schlüssel als Gegenleistung. Der Wert wird an der Schlüsselposition in der Tabelle eingefügt (wenn eine Kollision auftritt, doppeltes Hashing oder etwas anderes verwendet).
Ist es möglich, die gleiche Art von Hashing in Ruby zu tun? Oder bin ich mit Standardwegen festgefahren? Kann ich den Wert einfach in eine Funktion schreiben, dann wertet er den Schlüssel aus und fügt den Wert in die Hash-Tabelle ein oder nicht?
Also, warum nicht ein Array? Wenn Sie nicht an Schlüsseln interessiert sind. – Ursus
Ich versuche einen Vergleich zwischen Utash von C und Hashes von Ruby zu machen. Ich muss einen Hash mit Elementen 0-100K erstellen und suche nach Elementen zwischen 0-200K. Dann werde ich die Speicher- und Zeitnutzung vergleichen, aber es muss ein Hash sein. – wackyburkay
"Kann ich nur den Wert für Hash geben und lassen Sie es den Schlüssel auswerten" - welcher Schlüssel? Du hast keins zur Verfügung gestellt. Wenn Sie versuchen, die Kollisionsabfrage und Ähnliches zu testen, verwenden Sie vielleicht den gleichen Schlüssel für alle Werte? –