Demonstrate your mastery of all the material in this course.
Dates: Sat, Apr 30 - Sat, May 14
The student will:
The student will:
The student will:
The student will:
Distinguish between and implement O(n2) sorting algorithms.
Distinguish between and implement O(nlogn) sorting algorithms.
The student will:
Use Arrays as the underlying data structure for different ADT implementations.
Explain the trade-offs between an array vs. Linked implementation of the ADTs.
The student will:
Implement two different versions of the List interface.
Explain the trade-offs between the two different implementations.
The student will:
Explain standard interface for a Stack.
Implement two different versions of the Stack interface.
Compare the trade-offs between the two different implementations.
The student will:
Explain the differences between prefix, infix and postfix notation.
Implement code to process prefix, infix and postfix equations.
Compare the trade-offs between the notations.
The student will:
Implement several different versions of the Queue interface.
Compare the trade-offs between the two different implementations.
The student will:
Use recursive algorithms to solve different problems.
Write correct recursive Java code to solve different problems.
The student will:
Explain the standard structure of a Tree.
Implement binary trees.
Implement binary search trees.
Implement a Heap.
The student will:
Explain the differences between pre-order, in-order and post-order traversals.
Implement code to conduct pre-order, in-order and post-order traversals of binary trees.
The student will:
Implement two different versions of the Hash Map interface, open addressing and chaining.
Explain the trade-offs between the two different implementations.
The student will:
Explain and implement the binary and linear search algorithms.
Compare, contrast and implement pre-order, in-order, and post-order binary tree traversal.