DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Часова ефективність алгоритмів. Рекурентні рівняння

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Комп’ютерні науки
Кафедра:
Не вказано

Інформація про роботу

Рік:
2026
Тип роботи:
Лабораторна робота
Предмет:
Алгоритми та моделі обчислень
Група:
КН-11
Коротко про документ

Про що ця робота

У документі розглядається визначення часу виконання фрагментів програм та розв'язання рекурентних співвідношень. Наведено практичні приклади аналізу складності алгоритмів за допомогою методу підстановки.

У роботі розглядаються

  • Часова ефективність алгоритмів
  • Рекурентні рівняння
  • Складність алгоритмів
  • Метод підстановки
  • Аналіз коду
  • Цикли в програмуванні

Зміст і розділи

  1. Завдання 1
  2. Завдання 2
  3. Висновок
Для кого:Студенти технічних спеціальностей, викладачі та дослідники в галузі комп'ютерних наук.
Викладачі:Не вказано

Ключові поняття

алгоритмрекурентне рівняннячас виконанняскладність алгоритмуметод підстановкицикл whileкрок рекурсіїфрагмент коду

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Інститут ІКТА Кафедра СКС ЗВІТ Лабораторна робота №1 з курсу “Алгоритми та моделі обчислень” ЛАБОРАТОРНА РОБОТА №1 Тема: Часова ефективність алгоритмів. Рекурентні рівняння Мета роботи: Визначення часу виконання для заданих фрагментів програм та для заданих рекурентних співвідношень. Завдання 1 (b) Фрагмент коду програми: Виконання: Цей фрагмент коду складається з циклу while, який виконується n разів, тобто його час виконання залежить від значення n. Час виконання цього фрагменту коду можна визначити за допомогою формули: T(n) = 7n + 5 Блок-схема: Завдання 2 b) Рекурентне рівняння: ?(?)= 1, ?=0; ?(?)= 2?(?−1)+1, ?≥1. Щоб визначити складність алгоритму, можна скористатися методом підстановки. Рекурсивно розв'язуючи рівняння, отримаємо: T(n) = 2T(n-1) + 1 T(n) = 2[2T(n-2) + 1] + 1 T(n) = 2^2T(n-2) + 2 + 1 T(n) = 2^2[2T(n-3) + 1] + 2 + 1 T(n) = 2^3T(n-3) + 2^2 + 2 + 1 Після k кроків отримаємо: T(n) = 2^kT(n-k) + (2^{k-1} + 2^{k-2} + \dots + 2^1 + 1) Якщо T(0) = 1, то n-k = 0 і T(n-k) = 1. Отже, при n кроках (коли n - k = 0), отримуємо: T(n) = 2^nT(0) + 1 + 2 + 2^2 + … + 2^{k-1} = 2^n * 1 + 2^k – 1 = 2^n + 2^n -1 = 2^{n+1} – 1. Відповідь: T(n) = 2^{n+1} – 1. Висновок: на цій лабораторній роботі я визначила час виконання фрагменту програми та розв’язала рекурентне рівняння. Закріпила отримані теоретичні знання та практичні навички при виконанні даної лабораторної роботи.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!