Kurssiaiheen 2 tehtävät

Pseudokoodi

Tarkastele allaolevaa pseudokoodia:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
 Mystery1(Array[a1, a2, ... , aN]):
   B := []
   FOR elem IN Array LOOP
     IF first THEN
       B[0] := elem
     ELSEIF elem > LAST(B)
       APPEND(B, elem)
     END IF
   END LOOP
   RETURN  B

Mikä olisi Mystery1 algoritmin paluuarvo, kun syöte on [3, 2, 5, 5, 8, 17, 16]

Tarkastele allaolevaa pseudokoodia:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
 Mystery2(Int A, Int B):
   res := 0
   WHILE B > 0 LOOP
     IF B % 2 = 1 THEN
       res := res + A
     ENDIF
     A := A * 2
     B := B / 2
   END LOOP
   IF res = 0 THEN
     RETURN A
   ELSE
     RETURN res
   ENDIF

Mikä olisi Mystery2 algoritmin paluuarvo, kun syötteenä A=4 ja B=3? Jako pyöristetään alaspäin kokonaislukuun.

Mitä Mystery2 algoritmi laskee?

Lisäysjärjestäminen

[JSAV Placeholder: sorting_insertion_sort]

Binäärihaku

[JSAV Placeholder: binary_search]