Запитання з тегом «algorithm-design»

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

4
Що таке динамічне програмування?
Вибачте заздалегідь, якщо це питання звучить нерозумно ... Наскільки мені відомо, побудова алгоритму з використанням динамічного програмування працює таким чином: висловити проблему як рецидиви; реалізувати відношення рецидивів або через запам'ятовування, або за допомогою підходу знизу вгору. Наскільки я знаю, я все сказав про динамічне програмування. Я маю на увазі: динамічне …

1
Ефективний вибір медіани та елементів ліворуч та праворуч
Припустимо , у нас є безліч з кодеров.S={a1,a2,a3,…,aN}S={a1,a2,a3,…,aN}S = \{ a_1,a_2,a_3,\ldots , a_N \}NNN Кожен має рейтинг та кількість золотих медалей , які вони вигравали досі.RiRiR_iEiEiE_i Програмна компанія хоче найняти рівно три кодери для розробки програми. Для найму трьох кодерів вони розробили таку стратегію: Спочатку вони упорядковують кодери у порядку …

2
Підрахунок перестановок, елементи яких не є точно їх індексом ± M
Мене нещодавно задали цю проблему в алгоритмічному інтерв'ю і не змогли її вирішити. Враховуючи два значення N і M, ви повинні порахувати кількість перестановок довжиною N (використовуючи числа від 1 до N) таким чином, що абсолютна різниця між будь-яким числом перестановки та його положенням у перестановці не дорівнює М. Приклад …

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

1
Попередньо обробити масив для підрахунку елемента в фрагменті (зведення до RMQ?)
Дан масив 1 , ... , п натуральних чисел ≤ до , де до є постійним, я хочу відповісти в O ( 1 ) запити виду: «скільки разів м з'явиться в масиві між індексами я і 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.