Другие языки программирования и технологии
Есть-ли алгоритмы скорость выполнения которых не зависит от мощности пк?
Нужны такие алгоритмы которые будут всегда выполняться с одинаковой скоростью вне зависимости от мощности и скорости пк на котором они выполняются. Такие существуют? Если да, то какие и как они называются?
Таких алгоритмов в природе не существует. Программа, реализующая любой алгоритм - это последовательность команд процессора. А время выполнения каждой команды определяется производительностью процессора и оперативной памяти в конкретном ПК. Так что любая программа на ПК с разными процессорами будет иметь разную скорость работы.
В играх - для обеспечения более-менее одинаковой скорости движения на экране - используют встроенный в компьютер таймер.
В играх - для обеспечения более-менее одинаковой скорости движения на экране - используют встроенный в компьютер таймер.
Михаил Белоносов
Зaчем нyжна Tableau ecли ecть Excel?
Андрей Бржезинский
Прикольно было запускать на 286-м игрухи для 8088/8086, рассчитанные на фиксированную скорость процессора. Лодераннеры всякие, тетрисы... Только появился на карте - и уже проиграл.
Промеры алгоритмов О(1)
- Finding the median value in a sorted array of numbers. Calculating (−1)n
- Определение чётности целого числа (представленного в двоичном виде)
Совершенно независимых - нет.
Но, для некоторых задач можно разработать алгоритмы, которые будут строго ограничиваться имеющимися ресурсами. В том числе, выдавать результат за заранее установленное время. Допустим, у нас есть какая-нибудь итерационная задача поиска или оптимизации. Можно построить алгоритм так, чтобы он заканчивал работу либо при получении наилучшего решения, либо по истечении, например, 3 секунд, даже если решение не оптимальное.
Можно так же делать алгоритмы, в которых выполнение отдельных частей будет привязываться к таймеру, например, в игровых программах. Понятно, что есть нижний предел производительности, которого не будет хватать для обеспечения нужной скорости происходящего на экране, например.
Но, для некоторых задач можно разработать алгоритмы, которые будут строго ограничиваться имеющимися ресурсами. В том числе, выдавать результат за заранее установленное время. Допустим, у нас есть какая-нибудь итерационная задача поиска или оптимизации. Можно построить алгоритм так, чтобы он заканчивал работу либо при получении наилучшего решения, либо по истечении, например, 3 секунд, даже если решение не оптимальное.
Можно так же делать алгоритмы, в которых выполнение отдельных частей будет привязываться к таймеру, например, в игровых программах. Понятно, что есть нижний предел производительности, которого не будет хватать для обеспечения нужной скорости происходящего на экране, например.
Существуют алгоритмы, скорость выполнения которых не зависит от мощности ПК. Такие алгоритмы называются алгоритмами с постоянным временем выполнения (англ. constant-time algorithms). Они выполняются за фиксированное время, независимо от размера входных данных или мощности ПК. Примером такого алгоритма может быть алгоритм проверки четности числа. Этот алгоритм выполняется за одну операцию и не зависит от размера числа. Однако, такие алгоритмы могут быть применимы только в ограниченном числе задач, где размер входных данных ограничен. В большинстве случаев скорость выполнения алгоритмов зависит от размера входных данных и мощности ПК.
Похожие вопросы
- Скорость выполнения кода на разных языках программирования?
- Скорость выполнения запроса в 1С УПП 2009
- насколько реально написать алгоритм с помощью которого компьютер сам будет писать законы?
- Определите значение переменных x и y после выполнения фрагмента алгоритма.
- Скорость тупого алгоритма
- Как взаимосвязана скорость языка и мощность железа?
- определите значение переменной b после выполнения фрагмента алгоритма
- Зависит ли скорость работы программы (скорость обработки данных) от языка программирования? или самой среды программирова
- Почему программирование на первый взгляд такое сложное? Потому что многие не умеют составлять алгоритмы?
- Помогите найти алгоритм подбора множителей к числам заданного массива, сумма произведений которых равна заданному числу