WHAT WE HAVE DONE SO FAR .... -------------------------- Algorithm Analysis (Chapter3) The big Oh notation Definition and examples Worst Case algorithm analysis The Stack ADT Stacks implemented with Arrays Stacks implemented with Extendable Arrays Stacks implemented with Singly Linked Lists The Queue ADT Queues implemented with Arrays Queues implemented with Extendable Arrays Queues implemented with Singly Linked Lists The Deque ADT Deques implemented with doubly Linked Lists Implementing Stacks and Queues with Deques The Vector ADT Vectors implemented with Arrays Vectors implemented with Doubly Linked Lists The List ADT Lists implemented with Doubly linked lists The Sequence ADT Sequences implemented with Arrays Sequences implemented with Doubly Linked Lists Example: BubbleSort on Sequences Trees The Tree ADT Definitions, Properties Traversals The Binary Tree ADT Definitions, Properties Traversals Implementations Binary Trees implemented with Linked Structures Complete Binary Trees implemented with Arrays Trees implemented with Linked Structures ` Representing general trees with binary trees Heaps Definition, Properties Inserting Removing Bottom up heap construction Heap Heaps implemented with Arrays The Priority Queue ADT Priority Queue implemented with Unordered Sequence Priority Queue implemented with Ordered Sequence Priority Queue implemented with Heap Application: Sorting with priority Queue Insertion-sort Selection-sort Heap-sort Binary Search Trees Searching Inserting Deleting