Effizienz von Mengenoperationen gegenüber Array-Operationen in Ruby

8

Was sind die Effizienzunterschiede zwischen Set und Array für Operationen?

Beispiele:

  • lookups
  • Iterationen
  • beinhaltet?
ming yeow 24.02.2011, 05:11
quelle

1 Antwort

15

In Ruby wird Set mit einem zugrunde liegenden Hash für seinen Speicher geschrieben und sollte im Allgemeinen einem Hash entsprechen. Also:

  • include? : O (1) für Menge, O (n) für Menge
  • Aufzählungen: O (n) für beide
  • delete : O (1) für Menge, O (n) für Menge

... usw.

Wenn Sie unter "Suchen" den Index nachschlagen möchten, würde ich bemerken, dass die Standard-Set-Implementierung ungeordnet ist und diese Operation daher nicht wie ein Array unterstützt.

    
Greg Campbell 24.02.2011, 06:40
quelle

Tags und Links