2017-02-26 2 views
-1

Ich habe eine Frage zu Kollisionen in 'Dict' Struktur in Python. Suche, Einfügen und Löschen in 'Dict' Struktur (in Python gebaut) ist etwa 0 (1) Zeit Komplexität auf Durchschnitt. Wir alle wissen, dass es sich um Kollisionen handelt, die passieren können, wenn die Hash-Funktion einige Objekte (entsprechend ihren Schlüsseln) der gleichen Stelle im Wörterbuch zuordnet. Meine Frage: Ich werde zum Dictionay (in Python) die Schlüssel einfügen: "a", "b", "c", ..., "z". Gibt es eine beliebige Möglichkeit, eine Kollision in der Hash-Zuordnung mit diesen Schlüsseln zu haben? Wird es sicher O (1) Zeitkompliziertheit sein [worst case] weil wo keine Kollisionen sein werden? Wer kann mir versichern, dass Kollisionen mit diesen Schlüsseln nicht passieren werden? Wie funktioniert die Hash-Funktion von Python? Vielen Dank für Ihre Hilfe.Kollisionen im Wörterbuch (Python)

+1

Mögliche Duplikat (http://stackoverflow.com/questions/327311/how-are- [Wie Python In Wörterbücher Umgesetzt Built] Pythons-Built-In-Dictionaries-implementiert) – hashcode55

+2

Sie stecken sage und schreibe 26 Tasten in Ihr Diktat und machen sich Sorgen wegen zeitlicher Komplexität? Warum? –

+0

@Rawing: Ich hatte eine Prüfung in der Universität. Ich muss sicher sein, dass das Programm auf O (1) Zeit Komplexität WORST CASE arbeitet. Ich muss meinem Dozenten beweisen, dass ich in diesem Fall keine Kollision habe. Ich weiß nicht, wie ich es beweisen soll. Bitte helfen Sie mir: P – yoni4949

Antwort