1577
Комментарий:
|
2363
|
Удаления помечены так. | Добавления помечены так. |
Строка 26: | Строка 26: |
* `frozenset` | * … * +`frozenset` |
Строка 29: | Строка 30: |
Хешируется ключ, а хранится произвольный объект ⇒ | Хешируется ключ, а хранится произвольный объект ⇒ ''ассоциативный массив'', хеш ключа в качестве индекса объекта * Конструктор словаря (+циклический) * методы * использование * … * +`frozendict` * Устройство современных (Python3.6+) словарей (описано [[https://morepypy.blogspot.ru/2015/01/faster-more-memory-efficient-and-more.html|здесь]]): прямая таблица объектов + хеш-таблица ''индексов'' + пометка на удаление вместо удаления + переупаковка * (если успеем) вся правда о пространствах имён * (если успеем) именные параметры функций == Д/З == ----- |
Строка 31: | Строка 42: |
* Организация ( == Д/З == |
Хеширование, множества и словари
Разбор Д/З
Повторение: строки
- как последовательности (+особенности)
- строковые методы
- байтовые строки и кодировки
Хеширование
Определение: (f(x)=y: {y} << {x})
- Возможные свойства и их применение:
- равномерное покрытие ОЗ — хеш-таблицы
- вероятная однозначность на небольшом подмножестве ОО — идентификация
невосстановимость x из y — шифрование
разброс (в т. ч. для почти похожих x) — много где
hash()
- только константные объекты
- Понятие об идеальной хеш-таблице, поиск в ней
- Разрешение коллизий ключей в хеш-таблице: «вёдра» vs повторное хеширование
Множества
- (это хеш-таблиы, как они есть)
- Конструктор (в т. ч. циклический)
- операции и методы
- использование
- …
+frozenset
Словари
Хешируется ключ, а хранится произвольный объект ⇒ ассоциативный массив, хеш ключа в качестве индекса объекта
- Конструктор словаря (+циклический)
- методы
- использование
- …
+frozendict
Устройство современных (Python3.6+) словарей (описано здесь): прямая таблица объектов + хеш-таблица индексов + пометка на удаление вместо удаления + переупаковка
- (если успеем) вся правда о пространствах имён
- (если успеем) именные параметры функций
Д/З
TODO
- разбор задачи