Brug store O-notationen til at beskrive udførselstiden for følgende handlinger med udgangspunkt i worst case:
Opfind en fjollet algoritme for at gå op af alle trappetrinene fra kantinen og op til dit lokale, som kører med en worst case udførselstid udtrykt ved O(n²).
Herunder er en operation i form af en JavaScript-funktion. Hvad er dens udførseltid udtryk ved “store O”?
function IsTextHello(s) {
if (s === "Hello") return true;
return false;
}
Herunder er en operation i form af en JavaScript-funktion. Hvad er dens udførseltid udtryk ved “store O”?
function checkText(text, c) {
for (let i = 0; i < text.length; i++) {
if (text.charAt(i) == c) {
return true;
}
}
return false;
}
Herunder er en algoritme som er kodet i JavaScript. Noget af koden er udeladt. Du skal kun forholde dig til den del du kan se. Hvad er dens udførseltid udtrykt ved “store O”?
for (let pass = 1; pass <= n; pass++) {
for (let index = 0; index <= n; index++) {
for (let count = 1; count < 10; count++) {
. . .
}
}
}
Kig på opgave 5 igen, men erstat count < 10 med count < n. Hvad er udførselstiden nu?
Du har fire programmer, der hedder A, B, C og D, som alle har følgende udførselstider:
Hvert program er 10 sekunder om at køre færdigt når input har størrelse 1000. Hvor lang tid tager hvert program når input har størrelse 2000?
Hvad er størrelsesordenen af udførselstiden for funktionen F1 udtrykt ved store O?
function F1(array, int n) {
for (let index = 0; index < n - 1; index++) {
let mark = F1_helper(array, index, n - 1);
let temp = array[index];
array[index] = array[mark];
array[mark] = temp;
}
}
function F1_helper(array, first, last) {
let min = array[first];
let indexOfMin = first;
for (let index = first + 1; index <= last; index++) {
if (array[index] < min) {
min = array[index];
indexOfMin = index;
}
}
return indexOfMin;
}