CSI2110 – Theory Assignment 1 – Fall 2010, Prof. WonSook...

Post on 08-Mar-2021

3 views 0 download

Transcript of CSI2110 – Theory Assignment 1 – Fall 2010, Prof. WonSook...

CSI2110 – Theory Assignment 1 – Fall 2010, Prof. WonSook Lee ** Solution **

------------------------------------------------------------------------------------------------------------------------------------------

1. (0.5 points) Give an example of a positive function f(n) such that f(n) is neither O(n) nor Ω(n). Explain both assertions.

Solution:

Let f(n) = n2 * (1 + cos(n)) which has O(n2) and Ω(1).

------------------------------------------------------------------------------------------------------------------------------------------

2. (0.5 point) Suppose f(N) = O(h(N)) and g(N) = O(h(N)). Justify your answers. a) Is f(N) +g(N) = O(h(N))? Solution: Yes. f(N) = O(h(N)): This means that there are positive constants n0’ and c’ such that

g(N) = O(h(N)): This means that there are positive constants n0” and c” such that

Then we have

where c = c’ + c” and n0= max(n0’, n0’’). Therefore, is O(h(N)). b) Is f(N) - g(N) = O(h(N))? Solution: Not always.

Counter example: let f(N) = N + 2 and g(N) = N – 1 then f(N) – g(N) = N + 2 – N + 1 = 3 = O(1)

-----------------------------------------------------------------------------------------------------------------------------------------

3. (0.5 point) Explain why Logarithmic time does not depend on the base chosen for the logarithms that is, loga n is O(logb n) for any real numbers a > 1 and b > 1. Solution:

For any a > 0, b > 0, and a, b ≠ 1,

So and differ only by a constant multiplier K = which will be discarded in big-O.

Therefore they have the same growth rate. ------------------------------------------------------------------------------------------------------------------------------------------

4. (0.5 point) Please sort (4, 2, 9, 6, 1, 5) using a sorted sequence as Priority Queue. Illustrate all the steps

Solution:

Sequence S Priority Queue P Input (4, 2, 9, 6, 1, 5) ()

Phase 1

(2, 9, 6, 1, 5) (9, 6, 1, 5) (6, 1, 5) (1, 5) (5) ()

(4) (2, 4)

(2, 4, 9) (2, 4, 6, 9)

(1, 2, 4, 6, 9) (1, 2, 4, 5, 6, 9)

Phase 2

(1) (1, 2)

(1, 2, 4) (1, 2, 4, 5)

(1, 2, 4, 5, 6) (1, 2, 4, 5, 6, 9)

(2, 4, 5, 6, 9) (4, 5, 6, 9) (5, 6, 9) (6, 9) (9) ()

5. (0.5 point) Please sort (4, 2, 9, 6, 1, 5) using an unsorted sequence as Priority Queue. Illustrate all the steps.

Solution:

Sequence S Priority Queue P Input (4, 2, 9, 6, 1, 5) ()

Phase 1

(2, 9, 6, 1, 5) (9, 6, 1, 5) (6, 1, 5) (1, 5) (5) ()

(4) (4, 2)

(4, 2, 9) (4, 2, 9, 6)

(4, 2, 9, 6, 1) (4, 2, 9, 6, 1, 5)

Phase 2

(1) (1, 2)

(1, 2, 4) (1, 2, 4, 5)

(1, 2, 4, 5, 6) (1, 2, 4, 5, 6, 9)

(4, 2, 9, 6, 5) (4, 9, 6, 5) (9, 6, 5) (9, 6) (9) ()

------------------------------------------------------------------------------------------------------------------------------------------

6. (0.5 point) Please sort (4, 2, 9, 6, 1, 5) using Heap-sort as Priority Queue. Illustrate all the steps using trees. Please Bottom-up Heap Construction to construct the initial tree, where 4 goes in the root position.

Solution I: (4, 2, 9, 6, 1, 5)

Phase 1:

4

2 9

5 6 1

4

2 9

5 6 1

4

2 5

9 6 1

4

1 5

9 6 2

4

1 5

1

4 5

9 6 2

1

4 5

9 6 2 1

2 5

9 6 4

Phase 2: (4, 2, 9, 6, 1, 5)

S = (1)

S = (1)

2 5

9 6 4

9

2 5

6 4

9

2 5

6 4

S = (1)

S = (1)

S = (1)

2

9

5

6 4

2

4

5

6 9

4

5

6 9

S = (1, 2)

S = (1, 2)

S = (1, 2)

S = (1, 2)

9

4

5

6

9

4

5

6

4

9

5

6

S = (1, 2)

S = (1, 2, 4)

S = (1, 2, 4)

S = (1, 2, 4)

4

6

5

9

6

5

9

9

6

5

5

6

9

S = (1, 2, 4, 5)

S = (1, 2, 4, 5)

S = (1, 2, 4, 5)

S = (1, 2, 4, 5, 6)

6

9

9

6

6

9

9

9

S = (1, 2, 4, 5, 6)

S = (1, 2, 4, 5, 6, 9)

Solution II: (it is not correct with the given condition, but as it is the method in the lecture note, we accept it with minus 0.1 mark.)

Phase 1:

5

1 6

4 9 2

5

1 6

4 9 2

5

1 4

6 9 2

5

1 4

6 9 2

1

5 4

6 9 2

Phase 2:

S = (1)

1

2 4

6 9 5

2 4

6 9 5

6

2 4

9 5

S = (1)

S = (1)

S = (1)

2

6

4

9 5

2

5

4

9 6

5

4

9 6

S = (1, 2)

S = (1, 2)

S = (1, 2)

6

5

4

9

4

5

6

9

5

6

9

S = (1, 2, 4)

S = (1, 2, 4)

S = (1, 2, 4)

S = (1, 2, 4, 5)

9

5

6

5

9

6

9

6

6

9

S = (1, 2, 4, 5)

S = (1, 2, 4, 5, 6)

S = (1, 2, 4, 5, 6)

S = (1, 2, 4, 5, 6, 9)

7. (0.5 point) Please use removeMin() from the given heap below. Illustrate all the steps using trees.

9

9

Solution:

8. (0.5 point) Below is a binary tree T’. Please construct a general tree T corresponding to T’.

6

10

8

12 21 92

102

20

Solution:

9. (0.5 point) Please use (i) Pre-order traversal (ii) Post-order traversal (iii) In-order traversal for the below tree.

Solution:

(i) Pre-order: A B D H E I J C F G K

(ii) Post-order: H D I J E B F K G C A

(iii) In-order: H D B I E J A F C K G

------------------------------------------------------------------------------------------------------------------------------------------

10. (0.5 point) Draw the result AVL tree B of insertion of an element with key 54 in the AVL tree A given below. Indicate x, y, z, a, b, c, T0, T1, T2, T3

Solution:

Phase 1: Insertion

a = y, b = x, c = z

Phase 2: Rebalancing

(EXERCISE section) Solution

44

17 62

78 50 32

47 54 88

T0 T1

T2

T3

y

x

z

47 62

88

44

17 78

50 32

54

T0

T1

T2

T3

y

z

x

1. (0 mark) Below is a tree T. Please construct a binary tree T’ corresponding to T.

Solution:

2. (0 mark) A (2, 4) tree is given below. Please insert 13 and draw all the steps to obtain the final (2, 4) tree containing 13. Please use the node that PRECEDES the node in inorder traversal if needed.

Solution:

Insert(13)

3 4

5 7 15

8 11 12 13 14 16 17

3 4

5 7 13 15

8 11 12 16 17 14

------------------------------------------------------------------------------------------------------------------------------------------

3. (0 mark) A (2, 4) tree is given below. Please remove 10 and draw all the steps to obtain the final (2, 4) tree without containing 10. Please use the node that PRECEDES the node in inorder traversal if needed.

Solution:

Node 8 precedes node 10 in in-order traversal:

3 4

5 7

8 11 12 16 17 14

13

15

8

6 13 15

10 5 11 14 17

Fusion: Transfer:

8

5 6

11 14 17

8

13 15

5 6

11 14 17

15

13

8

13 15

5 11 14 17

6

4. (0 marks) Please use removeMin() from the given heap below. Illustrate all the steps in array-based implementation.

Solution:

[3, 6, 8, 10, 21, 9, 10, 12, 20] [20, 6, 8, 10, 21, 9, 10, 12] [6, 20, 8, 10, 21, 9, 10, 12]

[6, 10, 8, 20, 21, 9, 10, 12] [6, 10, 8, 12, 21, 9, 10, 20]