Другие языки программирования и технологии

Есть-ли алгоритмы скорость выполнения которых не зависит от мощности пк?

Нужны такие алгоритмы которые будут всегда выполняться с одинаковой скоростью вне зависимости от мощности и скорости пк на котором они выполняются. Такие существуют? Если да, то какие и как они называются?
Таких алгоритмов в природе не существует. Программа, реализующая любой алгоритм - это последовательность команд процессора. А время выполнения каждой команды определяется производительностью процессора и оперативной памяти в конкретном ПК. Так что любая программа на ПК с разными процессорами будет иметь разную скорость работы.

В играх - для обеспечения более-менее одинаковой скорости движения на экране - используют встроенный в компьютер таймер.
Артём Бородин
Артём Бородин
55 772
Лучший ответ
Михаил Белоносов Зaчем нyжна Tableau ecли ecть Excel?
Андрей Бржезинский Прикольно было запускать на 286-м игрухи для 8088/8086, рассчитанные на фиксированную скорость процессора. Лодераннеры всякие, тетрисы... Только появился на карте - и уже проиграл.
Промеры алгоритмов О(1)
  • Finding the median value in a sorted array of numbers. Calculating (−1)n
  • Определение чётности целого числа (представленного в двоичном виде)
LT
Leo Ton
96 730
Совершенно независимых - нет.

Но, для некоторых задач можно разработать алгоритмы, которые будут строго ограничиваться имеющимися ресурсами. В том числе, выдавать результат за заранее установленное время. Допустим, у нас есть какая-нибудь итерационная задача поиска или оптимизации. Можно построить алгоритм так, чтобы он заканчивал работу либо при получении наилучшего решения, либо по истечении, например, 3 секунд, даже если решение не оптимальное.

Можно так же делать алгоритмы, в которых выполнение отдельных частей будет привязываться к таймеру, например, в игровых программах. Понятно, что есть нижний предел производительности, которого не будет хватать для обеспечения нужной скорости происходящего на экране, например.
Существуют алгоритмы, скорость выполнения которых не зависит от мощности ПК. Такие алгоритмы называются алгоритмами с постоянным временем выполнения (англ. constant-time algorithms). Они выполняются за фиксированное время, независимо от размера входных данных или мощности ПК. Примером такого алгоритма может быть алгоритм проверки четности числа. Этот алгоритм выполняется за одну операцию и не зависит от размера числа. Однако, такие алгоритмы могут быть применимы только в ограниченном числе задач, где размер входных данных ограничен. В большинстве случаев скорость выполнения алгоритмов зависит от размера входных данных и мощности ПК.