Optimierung der Worst-Case-Time-Komplexität auf O (1) für Python-Dikte
Ich muss 500 Millionen zweistellige Unicode-Zeichen im Arbeitsspeicher (RAM) speichern.
Die von mir verwendete Datenstruktur sollte Folgendes haben:
Worst Case Space Complexity: O(n)
Worst Case Time Complexity: O(1) <-- insertion, read, update, deletion
Ich habe darüber nachgedacht, dikt zu wählen, das die Implementierung von Hash in Python ist, aber dann ist das Problem, dass es die Zeitkomplexität von O (1) für die erforderlichen Operationen nur in durchschnittlichen Fällen als im schlimmsten Fall sicherstellt.
Ich habe gehört, dass bei bekannter Anzahl von Einträgen die Zeitkomplexität von O (1) im ungünstigsten Fall erreicht werden kann.
Wie geht das?
Falls das in Python nicht möglich ist, kann ich dann direkt in meinem Python-Code auf die Speicheradressen und die darauf befindlichen Daten zugreifen? Wenn ja, wie?