Вопросы с тегом «algorithm-design»

4
Какая новинка в MapReduce?
Несколько лет назад MapReduce был провозглашен революцией в распределенном программировании. Также были критики но в целом был восторженный ажиотаж. Он даже запатентован! [1] Название напоминает mapи о reduceфункциональном программировании, но когда я читаю (Википедия) Шаг отображения: главный узел принимает входные данные, разделяет их на более мелкие подзадачи и распределяет их …

4
Что такое динамическое программирование?
Извините заранее, если этот вопрос звучит глупо ... Насколько я знаю, построение алгоритма с использованием динамического программирования работает следующим образом: выразить проблему как рекуррентное отношение; Реализуйте рекуррентную связь либо через памятку, либо через восходящий подход. Насколько я знаю, я сказал все о динамическом программировании. Я имею в виду: динамическое программирование …

1
Эффективный выбор медианы и элементов слева и справа
Предположим, у нас есть множество из N кодеров.S= { а1,2,3, ... ,N}Sзнак равно{a1,a2,a3,...,aN}S = \{ a_1,a_2,a_3,\ldots , a_N \}NNN Каждый кодер имеет рейтинг и количество золотых медалей E i , которые они выиграли до сих пор.ряряR_iЕяЕяE_i Компания-разработчик программного обеспечения хочет нанять ровно трех программистов для разработки приложения. Для найма трех …

2
Подсчет перестановок, элементы которых не являются точно их индексом ± M
Недавно мне задали эту проблему в алгоритмическом интервью, и я не смог ее решить. Учитывая два значения N и M, вы должны посчитать количество перестановок длины N (используя числа от 1 до N) так, что абсолютная разница между любым числом в перестановке и его положением в перестановке не равна М. …

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

1
Предварительная обработка массива для подсчета элемента в срезе (сокращение до RMQ?)
Для массива натуральных чисел ≤ k , где k - константа, я хочу ответить на O ( 1 ) запросов вида: «сколько раз m появляется в массиве между индексами i и j "?a1,…,ana1,…,ana_1,\ldots,a_n≤k≤k\leq kkkkO(1)O(1)O(1)mmmiiijjj Массив должен быть предварительно обработан за линейное время. В частности, я хотел бы знать, есть ли …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.