Store-O notation (færdig) Flashcards
Hvad er store-O?
Hvis f(x) er Og(x) —(altså store O af g(x)), så er g(x) den øvre grænse for f(x). (for et funktionsudtryk)
Man ser bort fra unødvendige konstanter, så det er lettere at sammenligne med.
f(x) er O(g(x)) hvis man kan finde vidner (C,k) sådan at (den numeriske værdi af f(x)..):
findes uendelig mange vidner
|f (x) | ≤ C |g(x)| for alle x > k
C * g(x) betyder at det overhaler når vi kommer tilpas langt ud.
Hvad er tidskompleksitet?
Tidskompleksitet er et tal for hvor hurtig en algoritme er. Det siger noget om hvor lang tid det tager for algoritmen givet en bestemt størrelse input.
Altså også indblik i hvor svært problemet er.
(fx ved at tælle sammenligninger)
Hvad er store omega? Ω
Betegnes Ω.
Giver en nedre grænse på et funktionsudtryk.
Minder meget om store O, bare omvendt ulighedstegn.
|f (x) | ≥ C |g(x)| for alle x > k, c skal være positiv
Hvad er store theta? Θ
Betegnes Θ.
Store omega (Ω) og Store O ligger på hver sin side af ens funktionsudtryk. Store theta lukker mellemrummet.
f(x) er Θ (g (x)) hvis f(x) er både O(g(x)) og Ω(g(x))
f.eks. x^2 er O(x^2)
x^2 er Ω(x^2)
x^2 er Θ(x^2)
det handler om hvilken ORDEN de tilhører - i dette tilfælde den samme, fordi det er x^2 (tror jeg….)
Hvordan kan man bruge store-O notation ift. tidskompleksitet?
Til at få forståelse for hvor hurtig en algoritme er til at udføre sine kommandoer, så man kan sammenligne forskellige algoritmer og bedømme hvilken en der er bedst.
Bruger ofte worst-case scenario udregning.
Hvad er en algoritme?
En række instrukser/kommandoer til er udføre en beregning eller løse et problem.
I matematik skrives det i pseudokode.
Hvad er størst - eksponentiel kompleksitet eller potens/polynomie?
Altid eksponentiel.
Hvad er bedst: når en algoritme kører i polynomiel tid eller i eksponentiel tid?
Polynomiel tid.