QUESTION 1

PART A (4 marks)

Giving all 5 roots (-2, -1, 0, 1, 2), and drawing or indicating
positive and negative sections. (-),-2,(+),-1,(-),0,(+),1,(-),2,(+)

All Correct : 4 Marks
Each Incorrect Root or Section : -0.5 Marks

PART B(10 marks)

5 marks for each question.
Correct answers were (-2) and (0), respectively.
Correct Answer, showed work : 5 Marks
Incorrect Answer, but showed understanding of bisection: 3 Marks
Correct Answer, no work : 1 Mark.

PART C(4 marks)

Full marks were given if interval either
1) did not converge, i.e. f(a)*f(b) > 0
2) contained no root, e.g. [2.5 , 3.5] (due to ambiguity in question)
3) flaky things like [4, inf] given 1.

No marks were given if midpoint of interval was a root. 


QUESTION 2

PART A(8 marks)

4 marks for each question.
Each correct interval : 1 Mark.

PART B(4 marks)

2 marks for each question.
Giving the correct answer ( 1)over, 2)under) : 1 Mark
Giving a brief explanation : 1 Mark.

If both over and under were written, but explanations were provided for
both scenarios (again, ambiguity of question), 1 Mark was given. 


QUESTION 3

PART A(4 marks)

The correct solution is as follows:
[0:0]
[1:6],[1:9]
[2:3],[2:4],[2:8]
[3:1]
[4:2],[4:7]
[5:9]
Full marks were awarded only if the above is given.

2 marks were given if a breadth-first search was used in essence, but
numbered from 0..9. Benefit of the doubt was given regarding the orders of
nodes 3,4,8, except that 3 must come before 4 (instructions).

0.5 marks were deducted for each swapped pair, but the general essence was
still breadth-first.
0 marks awarded for any other answer.


PART B (3 Marks)

Marking of part B was based on your answer to part A, so that even if you
messed up A, you could still get marks for B.
Full marks were awarded if your predecessor graph agreed with your part
A, and only if your part A was in essense BFS..
In cases where answers given implied a non-BFS search, you were
awarded only 1 mark.
Each wrong edge resulted in a 0.5 mark deduction.

PART C(3 Marks)

Full marks awarded for a complete structure.
Answers given varied a lot, so hard to give a complete marking scheme.

0.5 marks given if "visited" was either 0/1, rather than the order of
visiting; 1 mark if "visited" was correct.
1 mark given if partial edge list given; 1.5 marks given if full edge list
given.
0.5 for just giving an array of size 10, representing each node.

PART D(10 marks)

5 Marks for each function.

Print - 2 marks given if u tried to traverse the edgelist until you hit
null.
      - 1 mark for some sort of print statement
     - 1 mark for using bfs somewhere
BFS - 2 marks for some method of forloop, checking for visited...