prog3 Flashcards

1
Q

Vad är en algoritm?

A

En algoritm är en ändlig följd av väldefinerade beräkningssteg, som typiskt tar ett eller flera inputvärden och ger ett resultat

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

Vad är en specifikation av en algoritm? Vad kännetecknar en fullständig specifikation?

A

En specifikation av en algoritm är en beskrivning av vad den förväntas åstadkomma (och inte hur). Oftast genom att beskriva förhållandet mellan indata och resultat.

Fullständig specifikation anger resultat för alla tänkbara indata.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad menas med algoritmkomplexitet?

A

Komplexiteten av en algoritm är tiden som funktion av indatans storlek. Alltså hur omfattande och resurskrävande en algoritm är.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Varför går det mycket fortare att undersöka om ett element finns i en mängd än om det finns i en lista?

A

Mängder använder hashning vilket gör det extremt effektivt att testa om ett element finns i en mängd. Listor använder inte hashning, dessutom kan inte duplikat förekomma i mängder vilket det kan i listor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad är binärsökning och vilken komplexitet har den?

A

Binärsökning är en algoritm för att avgöra om en mängd innehåller ett givet element. Sökningen utförs i flera steg och i varje steg skall man utesluta att halva den kvarvarande mängden innehåller elementet och därmed kunna koncentrera sig på den andra halvan
Olog n

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad är en slice och hur uttrycks det i python?

A

En slice är en delsträng, den kan uttryckas som s[x:y] och det är då en del av strängen s som börjar vid index x och slutar vid index y-1.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad är immutable och mutable?

A

Immutable innebär att en typ inte innehåller delar som kan uppdateras som strings och ints tex.
Mutable innebär att en typ innehåller delar som kan uppdateras som listor och dictionaries.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vad innebär det att en metod beräknar ett resultat in place?

A

Det innebär att metoden ändrar objektet direkt istället för att skapa en ny kopia av objektet med förändringen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad är nycklar och värden i en uppslagslista?

A

Skickar du in en nyckel får du ut ett värde i en uppslagslista, nyckeln är alltså en markör som du kan använda för att få fram värdet vilket är nyckelns associerade värde

How well did you know this?
1
Not at all
2
3
4
5
Perfectly