Алгоритми и Сложност - Зимски 24/25
16 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Која е конечната вредност на променливите a и b по извршување на задачата од денот 1?

  • (40, 80)
  • (40, 160) (correct)
  • (40, 140)
  • (30, 160)

Што се случува ако низа s во функцијата first_non_repeating() не содржи незабележан знак?

  • Функцијата враќа None. (correct)
  • Функцијата враќа празна низа.
  • Функцијата враќа последниот знак.
  • Функцијата враќа prв знак во низата.

Каква е времевата сложеност на функцијата longest_increasing_subsequence()?

  • Θ(n log n)
  • Θ(n^2) (correct)
  • Θ(n)
  • Θ(2^n)

Што означува Θ (g(n))?

<p>Точно асимптотско ограничување. (A)</p> Signup and view all the answers

Која математичка операција е потребна за добивање на просечна времева сложеност во линеарно пребарување?

<p>Сумирање на сите операции и делење со n. (B)</p> Signup and view all the answers

Кога е најпрактично да се користи Big Θ нотација?

<p>Кога е потребна прецизна анализа. (A)</p> Signup and view all the answers

Што покажува сложеноста O(2^n)?

<p>Експоненцијална сложеност. (C)</p> Signup and view all the answers

Која е конечната временска сложеност на линеарно пребарување ако клучот е отсутен во низата?

<p>Θ(n) (A)</p> Signup and view all the answers

Што претставува Big-Omega Ω Notation?

<p>Долна граница на времето на алгоритамот. (A)</p> Signup and view all the answers

Кога се користи Big-Omega Ω Notation?

<p>Кога сакаме да ја претставиме минималната потреба за време или простор. (B)</p> Signup and view all the answers

Каква е формалната дефиниција на Big-Omega?

<p>f(n) = Ω(g(n)) (D)</p> Signup and view all the answers

Што е првиот чекор во пресметувањето на Big-Omega?

<p>Делете го програмата на помали сегменти. (A)</p> Signup and view all the answers

Кога ќе се отстраната константите при пресметувањето на Big-Omega?

<p>Откако ќе се определи f(n). (A)</p> Signup and view all the answers

Кое од следниве функции е пример за Big-Omega?

<p>$g(n) = n$ (B), $g(n) = log(n)$ (D)</p> Signup and view all the answers

Која проширења на Big-Omega е точна кога се зборува за растот на алгоритмите?

<p>Big Omega е помала од Big O. (B)</p> Signup and view all the answers

Која од следниве функции редовно расте побрзо од $n^2$ за големи вредности на n?

<p>$g(n) = 2^n$ (A)</p> Signup and view all the answers

Flashcards

Голема Тета (Θ) Нотација

Ω(g(n)) = {f(n): there exist positive constants c1, c2 and n0 such that 0 ≤ c1 * g(n) ≤ f(n) ≤ c2 * g(n) for all n ≥ n0}

Кога се користи големата Θ нотација?

Големата Θ нотација е погодна за пресметување на просечната сложеност на алгоритмите.

Голема О (O) Нотација

Оваа нотација претставува најбрз начин за извршување на алгоритмот.

Голема Омега (Ω) Нотација

Оваа нотација претставува најбав начин за извршување на алгоритмот.

Signup and view all the flashcards

Експоненцијална временска сложеност

Времето за извршување на алгоритмот расте експоненцијално со зголемувањето на големината на влезните податоци.

Signup and view all the flashcards

Константна временска сложеност

Оваа сложеност означува дека алгоритмот извршува постојан број на операции без разлика на големината на влезните податоци.

Signup and view all the flashcards

Линеарна временска сложеност

Оваа сложеност означува дека алгоритмот извршува број на операции пропорционален на големината на влезните податоци.

Signup and view all the flashcards

Пологамијален временска сложеност

Оваа е сложеност на алгоритмот која се извршува со повеќе операции од линеарна, но не е ескпоненцијална.

Signup and view all the flashcards

Што е Голема Омега Ω нотација?

Голема Омега Ω нотација е начин за изразување на асимптотската долна граница на временската комплексност на еден алгоритам, бидејќи ја анализира најдобрата сцена на алгоритмот. Таа дава долна граница на времето потребно за еден алгоритам во однос на големината на внесот.

Signup and view all the flashcards

Зошто се користи Голема Омега Ω нотација?

Голема Омега Ω нотација се користи кога треба да се најде асимптотската долна граница на функција. Со други зборови, ја користиме Ω кога сакаме да претставиме дека алгоритмот ќе трае барем одредено време или простор.

Signup and view all the flashcards

Како е дефинирана Голема Омега Ω нотација?

Дадени се две функции g(n) и f(n), ние велиме дека f(n) = Ω(g(n)), ако постојат константи c > 0 и n0 >= 0, така што f(n) >= c*g(n) за сите n >= n0.

Signup and view all the flashcards

Како да се пресмета Голема Омега Ω?

  1. Разделете го програмот на помали сегменти: Разделете го алгоритмот на помали сегменти, така што секој сегмент има одредена временска комплексност. 2. Најдете ја комплексноста на секој сегмент: Најдете го бројот на операциите извршени за секој сегмент (во термините на големината на внесот), претпоставувајќи дека внесот е таков што програмот трае најмалку време. 3. Додадете ги комплексноста на сите сегменти: Додадете ги сите операции и поедноставете ги, да речеме дека е f(n). 4. Отстранете ги сите константи: Отстранете ги сите константи и изберете го терминот со најмал ред или било која друга функција која е секогаш помала од f(n) кога n се приближува бесконечност. Да речеме дека функцијата со најмал ред е g(n), тогаш, Голема Омега (Ω) на f(n) е Ω(g(n)).
Signup and view all the flashcards

Дајте пример за Голема Омега Ω нотација.

За линеарни функции g(n), логаритамски функции g(log n), константни функции g(1) ќе се зголемат секогаш со помал степен од n^2 кога внесот се приближува бесконечност, затоа, најдоброто време на извршување на оваа програма може да биде Ω(log n), Ω(n), Ω(1), или било која функција g(n) која е помала од n2 кога n се приближува бесконечност.

Signup and view all the flashcards

Како се споредува Голема О нотација со Голема Омега?

Голема О нотација е како знак (=) за брзината на раст е поголема или еднаква на одредена вредност.

Signup and view all the flashcards

Како се споредува Голема Тета нотација со Голема Омега?

Голема Тета нотација е како знак (==), што значи дека брзината на раст е еднаква на одредена вредност.

Signup and view all the flashcards

Каков е значењето на Голема Омега Ω нотација?

Голема Омега Ω нотација е корисна за анализа на најдоброто сценарио на еден алгоритам, давајќи ни долна граница за неговата временска комплексност.

Signup and view all the flashcards

Study Notes

Алгоритми и Сложност

  • Тема: Увод во DSA и Сложност
  • Семестар: Зимски 24/25
  • Предмет: Алгоритми и Сложност

Задача од ден 1

  • Варијабли: a = 0, b = 0, N = 4, M = 4
  • Циклус за итерација N пати: a = a + 10
  • Циклус за итерација M пати: b = b + 40
  • Испечатување на вредностите на a и b

Задача од ден 2

  • Функција за пронаоѓање на првиот не-повторувачки карактер во стринг
  • Број на појавувања на секој карактер се чува во речник
  • Циклус низ стринг
  • Ако карактерот веќе се наоѓа во речникот, го зголемува бројот на појавувања
  • Инаку, го иницијализира на 1
  • Втори циклус низ стринг
  • Ако за даден карактер бројот на појавувања е 1, го враќа карактерот
  • Инаку, враќа None

Задача од ден 3

  • Функција за пронаоѓање на најдолгата возрастачки подниза
  • dp = [1] * len(nums)
  • За секој елемент во низата:
  • За секој претходен елемент, ако е поголем, го зголемува dp[i]
  • Враќа најголем елемент во dp

Дефиниција на голема тета (Θ) Нотација

  • Θ(g(n)) = {f(n): постојат позитивни константи c1, c2 и n0 такви што 0 ≤ c1 * g(n) ≤ f(n) ≤ c2 * g(n) за сите n ≥ n0}

Експоненцијална временска сложност: голема О(2n) сложност

  • Нотацијата го дава прецизното асимптотско ограничување
  • Просечната временска сложност одразува реалистична перформанса
  • f(n) останува во рамките на границите за големи n

Чекори за одредување на просечната временска сложност

  • Разбиење на програмата на помали делови
  • Наоѓање на сите видови и број на влезови и пресметување на бројот на операции
  • Сите влезови треба да се рамномерно расподелат.
  • Пресметување на збирот на сите изведени вредности и делење со вкупниот број на влезови
  • Функцијата на n се претставува како g(n)
  • Сложноста се означува како O(g(n)).

Пример

  • Линеарно барање, просечната сложност е O(n)
  • Пример на функција која ја следи линеарната сложност

Кога да се користи голема О (Θ) Нотација

  • Кога е потребна прецизна анализа
  • Подходяща за просечната временска сложност
  • Има предизвици, бидејќи бара рамномерно распоредување на влезовите

Голема Омега (Ω) Нотација

  • Asimptotno долен граница од временската сложност на алгоритмите
  • Претставува минимален број на операции што се потребни за да се реши проблем со големина n

Како да се изчисли големата Омега

  • Разбиете програмата на помали делови.
  • Пронајдете ја сложноста на секој дел.
  • Додајте ги сложностите на сите делови.
  • Отстранете ги константите.
  • Функцијата со најмала сложност која е пониска од f(n) е големата Омега (Ω).

Пример

  • Линеарни функции, логаритамски функции, константи секогаш ќе растат побрзо од n^2

Голема О, Голема Омега, Голема Тета

  • Голема О (O): Горна граница на сложност (најголема можна вредност)
  • Голема Омега (Ω): Долна граница на сложност (најмала можна вредност)
  • Голема Тета (Θ): Прецизно ограничување на сложноста
  • Овие нотации можат да се користат за опишување на асимптотското однесување на алгоритми.

Вежби

  • Наведени се неколку примери на алгоритми и нивната временска сложност (O)
  • Наведени се примери на временски сложности за различни алгоритми (линеарно, бинарно барање, сортирање со мешање, вметнување, сортирање со мешање, и други)

Фабрицирање на Fibonacci

  • Експоненцијална временска сложност поради рекурзивните повици.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Овој квиз ќе ви помогне да разберете основите на Дата Структури и Алгоритми (DSA) и сложностите на алгоритмите. Прашањата опфаќаат основни концепти, вклучувајќи работа со променливи, функции и нотации. Подгответе се за англиското веб учење и примена на вашите знаења во алгоритмите.

More Like This

Algorithm Analysis Quiz
5 questions
Algoritmi i kompleksnost
25 questions

Algoritmi i kompleksnost

UnbiasedLemur3035 avatar
UnbiasedLemur3035
Algorithm Analysis and Data Structures
5 questions
Use Quizgecko on...
Browser
Browser