Hash-Tabellen verwenden, wenn das Array vollständig gefüllt ist, was die bestmögliche Methode/das beste Szenario ist, das wir in Big-O (1) einfügen können ... erklären Sie mich im Detail.In welchem Szenario haben wir in Big-O (1) eingefügt, wenn das Array voll ist?
Antwort
Wenn das Array vollständig gefüllt ist (was es niemals sein sollte [Edit: caveat, siehe Kommentare]), ist es unmöglich etwas einzufügen, ohne es zu erweitern, was in O (1) nicht möglich ist Zeit. Es sei denn, Sie meinen amortisiert O (1) Zeit. Aber in jedem Fall ist es das beste Verfahren, das Array nicht vollständig ausfüllen zu lassen, bevor es expandiert wird, da sich dann alle Operationen auf O (n) Zeit verschlechtern.
* "sollte nie erlaubt sein", dann ist es unmöglich "* - das gilt für geschlossenes Hashing (aka" offene Adressierung "), aber nicht wahr für offenes Hashing (auch bekannt als" separate Verkettung "). –
Richtig, ich nahm von der Formulierung des Posters an, dass wir über offene Adressierung sprachen. Aber auch bei der Verkettung ist es normal, dass nicht alle Slots gefüllt werden. – njlarsson
Ich erkenne jetzt, dass die beabsichtigte Antwort auf die (Hausaufgaben?) Frage darin liegt, * nicht * zu interpretieren, wie ich es gemacht habe. Ich werde darauf verzichten, das weiter zu erklären. – njlarsson
- 1. Was ist der Zweck von FrameLayout und in welchem Szenario sollten wir es verwenden?
- 2. Warum verwenden wir Cookies in Asp.net, wenn wir Sitzungen haben?
- 3. Warum kopiert foreach das Array, wenn wir es nicht in der Schleife geändert haben?
- 4. Aus welchem Grund haben wir die Namenskonvention "lower_case_with_undscores"?
- 5. Warum haben wir Redis, wenn wir MySQL temporäre Tabellen haben?
- 6. [Java] Nullwert in String Array, wenn int eingefügt
- 7. Fehler 1114: Tabelle ist voll, wenn AUTO_INCREMENT in cloudsql eingefügt wird
- 8. In welchem Szenario verwenden Sie Chunking statt vollständigen Parsing?
- 9. Was ist der BigO der linearen Regression?
- 10. Wann und in welchem Szenario, um den Ausdrucksbaum zu verwenden
- 11. Daten nicht eingefügt, wenn das Formular in CakePHP gesendet wird
- 12. Das Transaktionslog für die Datenbank ist voll
- 13. Warum brauchen wir `Importierte Pakete`, wenn wir` Plug-Ins benötigt` in Abhängigkeiten von Eclipse-Plugins haben?
- 14. Was ist das wichtigste Szenario Socket.IO
- 15. Ist dieses Szenario sicher?
- 16. ThreadPoolExecutor blockieren, wenn die Warteschlange voll ist?
- 17. In welchem Sinne ist IO Monade speziell (wenn überhaupt)?
- 18. Können wir ein Szenario in einem anderen Szenario in Gurke nennen?
- 19. Warum brauchen wir RD/WR, wenn wir DT/R haben?
- 20. Warum brauchen wir JWT, wenn wir Clientsitzungen haben?
- 21. Wie kann ich mit dem Scannen einer Datei aufhören, wenn das Array voll ist?
- 22. Wozu boost :: mem_fn, wenn wir boost :: bind haben?
- 23. Wie wird die Variable in das Array eingefügt?
- 24. Warum wir analyse_export brauchen, wenn wir haben analyse_port
- 25. Das Transaktionslog für Datenbank 'Datenbankname' ist voll.
- 26. Roboterklasse funktioniert nicht in IE für das Dateiupload Szenario
- 27. Können wir diesen Array-Typ in PHP zusammenführen? Wenn, wie?
- 28. Welche Beziehung wird dieses Szenario haben?
- 29. Warum StringJoiner, wenn wir bereits StringBuilder haben?
- 30. Set Yii Szenario, wenn Kontrollkästchen aktiviert ist
Ich stimme diese Frage als off-topic zu schließen, weil es von Hausaufgaben schmatzt und nicht respektiert Punkt 3 bei http://stackoverflow.com/help/on-topic –
Die Frage Beschreibung ist nicht sehr gut und Es ist nicht leicht herauszufinden, was du verlangst. Ich denke, Sie möchten ein Element in Hash-Tabelle einfügen, die mit Array implementiert wird, aber das ist nicht klar angegeben. –