Вероятно, мне следует задать этот вопрос, потому что я так часто вижу проблему. Что заставляет вас думать, что словари O (1)? Технически, единственное, что может быть чем-то вроде O (1), - это доступ к стандартному массиву с фиксированными границами с целочисленным индексом, использующему целочисленное значение индекса (не было поиска в массивах, реализованных таким образом).
Предположение, что если оно выглядит как ссылка на массив, то оно равно O (1), когда «index» - это значение, которое должно быть каким-либо образом найдено, хотя и за кадром, означает, что оно не является скорее всего, схема O (1), если вам не повезло получить хеш-функцию с данными, в которых нет коллизий (и, вероятно, много потерянных ячеек).
Я вижу эти вопросы и даже вижу ответы, которые утверждают, что O (1) [не по этому конкретному вопросу, но я их выхожу вокруг], без каких-либо обоснований или объяснений того, что требуется, чтобы убедиться, что O (1) фактически достигнут.
Хм, думаю, это достойный вопрос. Я сделаю это после того, как опубликую это замечание здесь.