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

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

Алгоритм Ex1 (A):

Вход: множество хранение n³ 1 целое число.

Продукция: сумма элементов в A.

s¬ [0]

поскольку я¬ 1 к n- 1 делаю

s¬ s + [я]

возвратите s

Алгоритм Ex2 (A):

Вход: множество хранение n³ 1 целое число.

Продукция: сумма элементов в даже клетках в A.

s¬ [0]

поскольку я¬ 2 к n- 1 приращениями 2 делаю

s¬ s + [я]

возвратите s

Алгоритм Ex3 (A):

Вход: множество хранение n³ 1 целое число.

Продукция: сумма префикса суммирует в A.

s¬0

поскольку я¬ 0 к n- 1 делаю

s¬ s + [0] для j ¬ 1я делаю

s¬ s + [j]

возвратите s

Алгоритм Ex4 (A):

Вход: множество хранение n³ 1 целое число.

Продукция: сумма префикса суммирует в A.

s¬ [0]

t¬s, поскольку я¬ 1 к n- 1 делаю

s¬ s + [я] t¬ t +s

возвратите t

Алгоритм Ex5 (A, B):

Вход: Множества A и B каждое хранение n³ 1 целое число.

Продукция: ряд элементов в B равняется сумме сумм префикса в A.

c¬0

поскольку я¬ 0 к n- 1 делаю

s¬0 для j¬ 0 к n- 1 делают

s¬ s + [0] для k¬ 1 к j делают

s¬ s + [k]

если B [я] = s тогда

c¬ c+1

возвратите c

Кодовый Фрагмент 4.6: Некоторые алгоритмы.

188

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

R-4.24 Покажите, что, если d (n) является O (f (n)) и e (n) - O (g (n)), то d (n)- e (n) не

обязательно O (f (n)- g (n)). R-4.25 Покажите, что, если d (n) является O (f (n)) и f (n) - O (g (n)), то d (n) является O (g (n)).

R-4.26 Покажите что O (макс. f (n), g (n)) = O (f (n) + g (n)).

R-4.27 Покажите, что f (n) является O (g (n)), если и только если g (n) являетсяW (f (n)).

R-4.28 Покажите, что, если p (n) является полиномиалом в n, затем зарегистрировать p (n) - O (зарегистрируйте n).

R-4.29 Покажите, что (n + 1) 5 O (n5).

R-4.30 Покажите, что 2n+1 O (2n).

R-4.31 Покажите, что n - O (n, регистрируют n).

R-4.32 Покажите, что n2 -W (n, регистрируют n).

R-4.33 Покажите, что n регистрируются, n -W (n).

R-4.34 Покажите, что⌈ f (n) ⌉ является O (f (n)), если f (n) является положительной неуменьшающейся функцией

это всегда больше, чем 1.

R-4.35 Алгоритм A выполняет O (зарегистрируйте n), разовое вычисление для каждого входа

множество n-элемента. Какова продолжительность худшего случая Алгоритма A?

R-4.36 Учитывая множество n-элемента X, Алгоритм Б выбирает регистрацию n элементы в X

наугад и выполняет O (n) разовое вычисление для каждого. Какова продолжительность худшего случая Алгоритма B?

R-4.37 Учитывая n-элемент множество X из целых чисел, Алгоритм C выполняет O (n) -

вычисление времени для каждого четного числа в X, и O (регистрируют n), разовое com-сокращение для каждого нечетного числа в X. Каковы лучший случай и продолжительность худшего случая Алгоритма C?

R-4.38 Учитывая множество n-элемента X, Алгоритм Д называет Algorithm E на каждом el-

ement X [я]. Алгоритм E управляет в O (i) временем, когда это называют на элементе X [я].What - продолжительность худшего случая Алгоритма D?

R-4.39 Эл и Боб спорят об их алгоритмах. Эл требует, его O (n регистрируют n) -

метод времени всегда быстрее, чем O Боба (n2) разовый метод. Чтобы уладить проблему, они выполняют ряд экспериментов. К тревоге Эла они находят это если

n <100, O (n2) разовый алгоритм бежит быстрее, и только когда n³ 100

O (n регистрируют n), разовый один лучше. Объясните, как это возможно.