Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung | |||
| gf_informatik:daten:processing:dictionaries_tutorial [2026-05-25 10:08] – [Hashing] hof | gf_informatik:daten:processing:dictionaries_tutorial [2026-05-25 10:14] (aktuell) – [Aufgabe 3 - HashMap] hof | ||
|---|---|---|---|
| Zeile 176: | Zeile 176: | ||
| Um die Anzahl Kollisionen tief zu halten ist es wichtig, dass die Liste nie ganz gefüllt ist - die Tupel-Liste wird also bewusst grösser gewählt als nötig und bei Bedarf ein _rehash_ ausgeführt: | Um die Anzahl Kollisionen tief zu halten ist es wichtig, dass die Liste nie ganz gefüllt ist - die Tupel-Liste wird also bewusst grösser gewählt als nötig und bei Bedarf ein _rehash_ ausgeführt: | ||
| - | |||
| #### Aufgabe 3 - HashMap | #### Aufgabe 3 - HashMap | ||
| Implementiere eine `class HashMap`. | Implementiere eine `class HashMap`. | ||
| Zeile 305: | Zeile 304: | ||
| def __delitem__(self, | def __delitem__(self, | ||
| - | | + | |
| + | self._len -= 1 | ||
| + | return item | ||
| def __setitem__(self, | def __setitem__(self, | ||
| Zeile 327: | Zeile 328: | ||
| if entry: | if entry: | ||
| for key in entry: | for key in entry: | ||
| - | self._finditem(key, | + | self._finditem(key, |
| </ | </ | ||
| ++++ | ++++ | ||
| </ | </ | ||