Вопросы с тегом «efficiency»

Использование как можно меньшего количества ресурсов (например, времени, пространства) при решении проблемы. Используйте этот тег, если ваш вопрос касается именно использования ресурсов, а не вопросов общего алгоритма, в которых упоминается время выполнения.

10
Как может язык, чей компилятор написан на C, быть быстрее C?
Взглянув на веб-страницу Джулии , вы можете увидеть некоторые тесты нескольких языков по нескольким алгоритмам (время показано ниже). Как может язык с компилятором, изначально написанным на C, превзойти C-код? Рисунок: время тестов относительно C (чем меньше, тем лучше, производительность C = 1,0).

4
Почему полиномиальное время называется «эффективным»?
Почему в информатике любая сложность, которая в большинстве случаев является полиномиальной, считается эффективной? Для любого практического применения (a) алгоритмы со сложностью работают намного быстрее, чем алгоритмы, выполняющиеся во времени, скажем, , но первый считается неэффективным, а второй - эффективным. Где логика ?! n 80nlognnlog⁡nn^{\log n}n80n80n^{80} (a) Предположим, например, что число …

6
Работа с труднопреодолимостью: NP-полные проблемы
Предположим, что я программист, и у меня есть NP-полная проблема, которую мне нужно решить. Какие методы доступны для решения проблем с NPC? Есть опрос или что-то похожее на эту тему?

3
Факторный алгоритм более эффективен, чем наивное умножение
Я знаю, как кодировать для факториалов, используя итеративные и рекурсивные (например, n * factorial(n-1)например). Я прочитал в учебнике (без каких-либо дальнейших объяснений), что существует еще более эффективный способ кодирования для факториалов, разделив их пополам рекурсивно. Я понимаю, почему это может иметь место. Однако я хотел попробовать написать код самостоятельно, и …

5
Добавление элементов в отсортированный массив
Каков был бы самый быстрый способ сделать это (с алгоритмической точки зрения, а также с практической точки зрения)? Я думал что-то вроде следующего. Я мог бы добавить в конец массива и затем использовать пузырьковую сортировку, так как она имеет наилучший случай (полностью отсортированный массив в начале), который близок к этому, …

7
Алгоритмы (и эффективность в целом) становятся менее важными?
Поскольку покупка вычислительных мощностей гораздо более доступна, чем в прошлом, становятся ли менее важными знания алгоритмов и эффективность? Понятно, что вы хотели бы избежать бесконечного цикла, поэтому не все идет. Но если бы у вас было лучшее аппаратное обеспечение, вы могли бы иметь какое-то худшее программное обеспечение?
29 efficiency 

3
Почему выборка сортируется быстрее, чем пузырьковая?
В Википедии написано, что "... сортировка выбора почти всегда превосходит сортировку по пузырькам и сортировку по гномам". Кто-нибудь, пожалуйста, объясните мне, почему сортировка выбора считается быстрее, чем сортировка пузырьком, даже если они оба имеют: В худшем случае сложность времени : O ( n2)O(n2)\mathcal O(n^2) Количество сравнений : O ( n2)O(n2)\mathcal …

2
Эффективная структура картографических данных, поддерживающая приблизительный поиск
Я ищу структуру данных, которая поддерживает эффективный приблизительный поиск ключей (например, расстояние Левенштейна для строк), возвращая максимально возможное совпадение для клавиши ввода. Наилучшей структурой данных, которую я нашел до сих пор, являются деревья Буркхарда-Келлера , но мне было интересно, существуют ли другие / лучшие структуры данных для этой цели. Изменить: …

3
Получение кратчайшего пути динамического графа
Я изучаю кратчайшие пути в ориентированных графах в настоящее время. Существует много эффективных алгоритмов для поиска кратчайшего пути в сети, например, dijkstra или bellman-ford. Но что, если график является динамическим? Говоря динамически, я имею в виду, что мы можем вставлять или удалять вершины во время выполнения программы. Я пытаюсь найти …

3
Когда тест на первичность AKS действительно быстрее, чем другие тесты?
Я пытаюсь получить представление о том, как следует интерпретировать тест простоты AKS, когда узнаю о нем, например, следствие для доказательства того, что PRIMES ⊆ P, или действительно практичный алгоритм тестирования простоты на компьютерах. Тест имеет полиномиальное время выполнения, но с высокой степенью и возможными высокими константами. Итак, в практическом смысле, …

7
Один элемент, который отличается двумя массивами. Как найти это эффективно?
Я готовлюсь к собеседованию по кодированию и не могу найти самый эффективный способ решения этой проблемы. Допустим, у нас есть два массива, состоящих из несортированных чисел. Массив 2 содержит число, которого нет в массиве 1. Оба массива имеют случайно расположенные числа, не обязательно в одном и том же порядке или …

3
Каков наиболее эффективный способ вычисления факториалов по модулю простого числа?
Знаете ли вы какой-либо алгоритм, который эффективно рассчитывает факториал после модуля? Например, я хочу запрограммировать: for(i=0; i<5; i++) sum += factorial(p-i) % p; Но pэто большое число (простое число) для непосредственного применения факториала .( р ≤ 108)(п≤108)(p \leq 10^ 8) В Python эта задача действительно проста, но я действительно хочу …

6
Нахождение максимального XOR двух чисел в интервале: можем ли мы сделать лучше, чем квадратичное?
Предположим, нам даны два числа и и мы хотим найти для .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Наивный алгоритм просто проверяет все возможные пары; например, в ruby ​​у нас будет: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ …

2
Можно ли избежать шага «разделяй» в слиянии?
Таким образом, сортировка слиянием - это алгоритм «разделяй и властвуй». Пока я смотрел на приведенную выше диаграмму, я думал, можно ли вообще обойти все этапы разделения. Если вы перебираете исходный массив при переходе на два, вы можете получить элементы по индексам i и i + 1 и поместить их в …

7
Можно ли сказать, что DFA более эффективен, чем NFA?
Я только начал читать о теории вычислений. Если мы сравним, что является более мощным (в принятии строк), оба одинаковы. Но как насчет эффективности? DFA будет быстрым по сравнению с NFA, поскольку у него есть только один исходящий фронт, и не будет никакой двусмысленности. Но в случае NFA мы должны проверить …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.