Project 2 Deadline: March 24 @ 4 PM Output: Edges & Cost - Each edge with its cost * Ascending order of cost - Total tree cost Abstract data type often (always?) come with invariants - Particularly when it is directly associated with an algorithm. e.g. two ADTs can (but aren't required) to be implemented with a binary tree 1. Binary Search Tree (BST) * Invariant - All elements in left subtree are smaller, all in right subtree are larger 2. Priority Queue * Invariant - the elements in a node's children are: - Greater if it is a min-queue - Less if it is a max queue An invariant is something that is always true when an ADT's implementation is not being operated on Traversals