Я думаю, что ваш первый абзац неправильный.И я думаю, что ваша правка не изменит это.
Если вы требуете, чтобы наблюдаемое поведение реализации соответствовало временной сложности алгоритма, то ...
При вычисленииСложность алгоритма делаются предположения о том, какие операции имеют постоянное время.Эти предположения - то, где вы собираетесь найти свои подсказки.
Некоторые из наиболее распространенных предположений - такие, как доступ к массиву с постоянным временем, вызовы функций и арифметические операции.
Если вы не можете предоставитьэти операции на языке в постоянное время, вы не можете воспроизвести алгоритм таким образом, чтобы сохранить сложность времени.
Разумные языки могут нарушить эти предположения, и иногда это необходимо, если они хотят иметь дело, скажем, с неизменными даннымиструктуры с общим состоянием, параллелизмом и т. д.
Например, Clojure использует деревья для представления векторов.Это означает, что доступ не является постоянным временем (я думаю, что это log32 размера массива, но это не является постоянным, хотя это может быть и так).
Вы можете легко представить, что язык должен выполнять сложные вещиво время выполнения при вызове функции.Например, решить, какой из них имел в виду.
Когда-то давно с плавающей запятой и умножением и делением целых чисел, к сожалению, не было постоянное время (они были реализованы в программном обеспечении).Был период, в течение которого языки переходили на использование аппаратного обеспечения, когда очень разумные языковые реализации вели себя совершенно иначе.
Я также почти уверен, что вы можете придумать алгоритмы, которые очень плохо работают в мире неизменяемых структур данных.Я видел некоторые алгоритмы оптимизации, которые было бы ужасно сложно, возможно, невозможно или эффективно реализовать, применяя неизменность, не нарушая сложность времени.
Для чего бы то ни было, существуют алгоритмы, которые предполагают объединение множестви пересечение постоянное время ... удачи в реализации этих алгоритмов в постоянное время.Есть также алгоритмы, которые используют «оракула», который может отвечать на вопросы в постоянное время ... удачи и с ними.