Algoritmer (algorithms) Flashcards
Definiera begreppet algoritm.
En algoritm är otvetydliga instruktioner skriva i ordnad följd som är utförbara och kan slutföras.
Vad är rekursion?
En repetition genom att en funktion anropar sig själv.
Varför är binär sökning bättre än sekventiell sökning på sorterad data?
Med binär sökning växer antalet steg logaritmiskt med antalet poster medans sekventiell ökar linjärt. Vilket innebär att binärsökning är betydligt effektivare.
Vad är det minsta antal gånger som satserna i en loop body utförs i en iteration med post-test-villkor?
Minst en gång.
Är det skillnad på iteration och rekursion när det gäller användning av minne?
Ja! Varje anrop i en rekursion kräver extra minne, då varje anrop kräver eget minne.
I en iteration krävs inget extra minne då samma minne används för varje varv.
Beskriv Pseudo code.
Ett beskrivningssystem för algortimer där koden inte är skriven lika formellt som i ett riktigt programmeringsspråk.
Kan alla Algoritmer beskrivas med ett flow-chart?
Ja. Rektanglar och romber beskriver exekverbara steg medans pilar beskriver sekvenser och loopar. Det är allt som behövs för att beskriva varje tänkbar algoritm.
Är ett programmeringsspråk, t.ex. Python, lämpligt för att beskriva algoritmer? Motivera ditt svar!
Ja och nej.
Ja, för att programmeringsspråk har väldefinierade primitiv och regler för hur primitiven kan
kombineras.
Nej, för att programmeringsspråk kräver att man specificerar många detaljer.
Vad är det minsta antalet gånger som satserna i en loop-kropp (loop body) utförs i en iteration med
pre-test-villkor?
0
Vad är skillnaden mellan en algoritm och ett program?
Ett program är en algoritm kodad på så vis att en dator kan exekvera den.
Vilka två metoder innehåller Software verification?
Static Verification/Code analysis och Testing
Det finns tre olika typer av fel;
Syntactic error
Runtime error
Logic error
Vilket är mest respektive minst allvarligt och varför?
Det mest allvarliga är logiska error. Dessa ger inget felmeddelande i kompilatorn och trots att resultatet kan se rätt ut så kan det finnas logiska fel.
Minst allvarliga är syntaktiska(syntactic) errors. Dessa upptäcks av kompilatorn.
Vad är Primitives?
Väldefinierade byggblock som algoritmiska representationer kan byggas av.
Primitives - a well-defined set of building blocks from which algoritm representations can be constructed.