Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data Structures and Algorithms in C++ 2e (На ру...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.37 Mб
Скачать

Глава 12. Последовательности и Динамическое Программирование c-12.16 Описывают алгоритм для строительства компактного представления a

суффикс trie, учитывая его некомпактное представление, и анализирует свою продолжительность.

C-12.17 Позвольте T быть текстовой строкой длины n. Опишите O (n) разовый метод для

нахождение самого длинного префикса T, который является подстрокой аннулирования T. C-12.18 Опишите эффективный алгоритм, чтобы найти самый длинный палиндром, который является a

суффикс последовательности T длины n. Вспомните, что палиндром - последовательность, которая равна ее аннулированию. Какова продолжительность Вашего метода?

C-12.19 Учитывая последовательность S = (x0, x1, x2..., xn-1) чисел, опишите O (n2) -

алгоритм времени для нахождения самой длинной подпоследовательности T = (xi0, xi1, xi2..., xik-1) чисел, таких, что я j <я j+1 и xij> xij+1. Таким образом, T - самый длинный de -

сморщивание подпоследовательности S.

C-12.20 Определите отредактировать расстояние между двумя последовательностями X и Y длины n и m,

соответственно, быть числом редактирует это, оно берет, чтобы измениться X в Y. Редактировать состоит из вставки характера, удаления характера или замены характера. Например, последовательности «алгоритм» и «ритм» имеют, редактируют расстояние 6. Проектируйте O (nm) разовый алгоритм для вычисления отредактировать расстояния между X и Y.

C-12.21 Проектируйте жадный алгоритм для внесения изменения после того, как кто-то купит некоторых

леденец, стоящий x центы и клиент, дает клерку 1$. Ваш алгоритм должен попытаться минимизировать число возвращенных монет.

a. Покажите, что Ваш жадный алгоритм возвращает минимальное число

монеты, если у монет есть наименования 0,25$, 0,10$, 0,05$ и 0,01$.

b. Дайте ряд наименований, для которых Ваш алгоритм не может пере -

поверните минимальное число монет. Включайте пример, где Ваш алгоритм терпит неудачу.

C-12.22 Дайте эффективный алгоритм для определения, если образец P является подпоследовательностью

(не подстрока) текста T. Какова продолжительность Вашего алгоритма? C-12.23 Позвольте x и y быть последовательностями длины n и m соответственно. Определите B (я, j) к

будьте длиной самой длинной общей подстроки суффикса длины i в x и суффиксе длины j в y. Проектируйте O (nm) разовый алгоритм для вычисления всех ценностей B (я, j) поскольку я = 1..., n и j = 1..., m.

C-12.24 Raji только что выиграл конкурс, который позволяет ей вынимать n части леденца

из кондитерской бесплатно. Raji достаточно стар, чтобы понять, что немного леденца дорогое, в то время как другой леденец относительно дешевый, стоя намного меньше.

фляги леденца пронумерованы 0, 1..., m- 1, так, чтобы у фляги j был n j части в

это, с ценой c j за часть. Проектируйте O (n + m) разовый алгоритм это

позволяет Raji максимизировать ценность частей леденца, который она берет для своего выигрыша. Покажите, что Ваш алгоритм производит максимальное значение для Raji.