Ответ 1
В Python 2 это O (n), и он создает новый список. В Python 3 это O (1), но он не возвращает список. Чтобы нарисовать случайный элемент из dict keys
, вам нужно преобразовать его в список.
Похоже, вы, вероятно, использовали random.choice(d.keys())
для части 3 этой проблемы. Если да, то это O (n), и вы поняли это неправильно. Вам нужно либо реализовать свою собственную хэш-таблицу, либо сохранить отдельный список элементов, не жертвуя вложениями и удалениями среднего размера O (1).