The Final exam will be 10 - 11:50 AM on Thursday, December 16 in Wright 8. It will be closed book and notes, except you will be allowed to bring your yellow sheet of Logic Rules, your blue sheet of relationship definitions, and two other sheets of paper (8.5" x 11" both sides) with notes.

About 60% of the Final will be over the new material since the last test, 20% from the test 1 material, and 20% from the test 2 material. Below are the hightlights of the textbook sections since the last exam:

Section 4.1

Definition of a binary relation. Operations on binary relations on a set include union, intersection, and complementation. Properties of binary relations (reflexivity, symmetry, transitivity, and antisymmetry).

Skills:

Be able to test an ordered pair for membership in a binary relation.

Be able to test a binary relation for reflexivity, symmetry, transitivity, and antisymmetry.

Draw the Hasse diagram for a partially ordered set.

Section 4.4 (pp. 289-297; 307-311)

Topics: function, domain, codomain, image, preimage, range, onto/surjective, one-to-one/injective, bijection

Definition of Order of Magnitude (theta notation, ). Definition of Big-Oh

(O( )) notation.

Skills:

Be able to test whether a given relation is a function.

Be able to test whether a function is one-to-one or onto.

Be able to apply the definitions of Order of Magnitude (theta notation, ) and Big-Oh

(O( )) notation to approximate the constant (c) on the fastest growing term to estimate the execution time for a larger problem size (say n=10,000) given a the execution time for a smaller problem size (n=1,000).

For a given section of code containing nested loops, be able to

• provide a reasonable Big-Oh notation (upper-bound estimate on the execution time)
• trace the code to determine how many times the inner-most loop executes
• determine the Order of Magnitude/Theta notation ("exact" estimate on the execution time)

Section 5.1

Definition of a graph as an ordered triple (N, A, g)

Terminology: nodes/vertices, arcs/edges, undirected, directed, weighted, labeled, adjacent nodes, loop, parallel arcs, simple graph, connected, isolated node, reachable, degree of a node, in-degree, out-degree, path, cycle, acyclic, complete graph, subgraph

Section 5.2

Definition of a tree

Terminology: child, parent, leaf, internal node, forest, depth, height, binary tree, left child, right child, binary search tree, full binary tree, complete tree, expression tree

Representation of a binary tree on the computer: linked/pointer representation, array representation

Proving properties of binary trees using proof by induction: e.g., Prove that a binary tree with n nodes has n-1 arcs.

Section 5.3

General decision tree argument that the best searching will require in the worst-case.

General decision tree argument that the best sorting will require in the worst-case.