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

4.4. Упражнения 189

Креативность

C-4.1 Опишите рекурсивный алгоритм, чтобы вычислить часть целого числа основы 2

логарифм n использование только дополнения и разделения целого числа. C-4.2 Опишите эффективный рекурсивный метод для решения уникальности элемента

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

C-4.3 Принятие его возможно к виду n, числа в O (n регистрируют n), время, покажите что это

возможно решить проблему несвязности набора с тремя путями в O (n, регистрируют n), время.

C-4.4 Опишите эффективный алгоритм для нахождения 10 самых больших элементов в

множество размера n. Какова продолжительность Вашего алгоритма? C-4.5 предположим Вам дают множество n-элемента A содержащий отличные целые числа

это перечислено в увеличивающемся заказе. Учитывая номер k, опишите рекурсивный алгоритм, чтобы найти два целых числа в, что сумма к k, если такая пара существует. Какова продолжительность Вашего алгоритма?

C-4.6 Учитывая n-элемент несортированное множество n целых чисел и целого числа k, de -

писец рекурсивный алгоритм для реконструкции элементов в так, чтобы все элементы, меньше чем или равные k, прибыли перед любыми элементами, больше, чем k. Какова продолжительность Вашего алгоритма?

C-4.7 Коммуникационная безопасность чрезвычайно важна в компьютерных сетях,

и один способ, которым много сетевых протоколов достигают безопасности, состоит в том, чтобы зашифровать mes - мудрецы. Типичные шифровальные схемы безопасной передачи mes - мудрецы по таким сетям основаны на факте, что никакие эффективные алгоритмы не известны факторингом большие целые числа. Следовательно, если мы можем представлять секретное сообщение большим простым числом p, мы можем передать по сети,

номер r = p q, где q> p является другим большим простым числом, которое действует

как ключ шифрования. Соглядатай, который получает переданную цифру -

частота ошибок по битам r в сети имела бы к фактору r, чтобы выяснить секретное сообщение p. Используя факторинг, чтобы выяснить сообщение очень трудное, не зная ключ шифрования q. Чтобы понять почему, рассмотрите следующий наивный алгоритм факторинга:

для p = 2,, r- 1 делают

если p делит r тогда

возвращение «Секретное сообщение является p

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

компьютер, который может выполнить через 1 микросекунду (1 миллионная часть секунды - ond) подразделение между двумя целыми числами до 100 битов каждый. Дайте оценку времени, когда оно возьмет в худшем случае, чтобы расшифровать секретное сообщение p, если у переданного сообщения r будет 100 битов.

190

Глава 4. Аналитические инструменты

b. Какова сложность времени худшего случая вышеупомянутого алгоритма?

Так как вход к алгоритму - всего одно большое количество r, предположите, что входной размер n является числом байтов, должен был сохранить r, то есть,

n =⌊ (log2 r)/8 ⌋ + 1, и что каждое подразделение занимает время O (n).

C-4.8 Дайте пример положительной функции f (n) таким образом, что f (n) ни один O (n)

ниW (n).

C-4.9 Покажите, чтоån=1 i2 - O (n3). я

C-4.10 Покажите чтоån=1 i/2i <2. я

(Намек: Попробуйте к связанному эту сумму почленно с геометрической прогрессией.)

C-4.11 Покажите, что logb f (n) являетсяQ (зарегистрируйте f (n)), если b> 1 - константа.

C-4.12 Опишите метод для нахождения и минимум и максимум n цифры -

bers, использующий меньше, чем 3n/2 сравнения. (Намек: Сначала постройте группу минимумов кандидата и группу банки - didate максимумы.)

C-4.13 Боб построил веб-сайт и дал URL только его n друзьям, который он

пронумерованный от 1 до n. Он сказал другу номер i, что он или она может посетить веб-сайт самое большее я времена. Теперь у Боба есть прилавок, C, отслеживание общего количества посещений места (но не тождества того, кто посещает). Каково минимальное значение для C, таким образом, что Боб должен знать, что один из его друзей посетил его/ее максимальное позволенное количество раз?

C-4.14 Эл говорит, что может доказать, что все овцы в flock - тот же самый цвет:

Основной случай: Одна овца. Это - ясно тот же самый цвет как сам. Шаг индукции: flock n овец. Возьмите овцу, a. Остающееся

n -1 все одинаковые цвет индукцией. Теперь поместите овец спина в и

выньте различную овцу, b. Индукцией, n- 1 овца (теперь с a)

все одинаковые цвет. Поэтому, все овцы в flock - то же самое

цвет. Что не так с «оправданием» Эла?

C-4.15 Рассмотрите следующее «оправдание» что функция Фибоначчи, F (n)

(см. Суждение 4.20), O (n):

Основной случай (n2£): F (1) = 1 и F (2) = 2.

Шаг индукции (n> 2): Примите требование, верное для n <n. Рассмотрите n.

F (n) = F (n- 1) + F (n- 2). Индукцией, F (n- 1) O (n- 1) и

F (n- 2) O (n- 2). Затем F (n) - O ((n- 1) + (n- 2)) идентичностью

представленный в Упражнении R-4.23. Поэтому, F (n) - O (n).

Что не так с этим «оправданием»?

C-4.16 Позвольте p (x) быть полиномиалом степени n, то есть, p (x) =ån=0 aixi. я

(a) Опишите простой O (n2) метод времени для вычисления p (x). (b) Теперь рассматривают переписывание p (x) как

p (x) = a0 + x (a1 + x (a2 + x (a3 + + x (1 + xan)))),