60 likes | 169 Views
Review for Exam 1. Topics covered: Asymptotic analysis Lists and list implementations Stacks and queues General trees, binary trees BST For each of these data structures Basic idea of data structure and operations Be able to work out small example problems Advantages and limitations
E N D
Review for Exam 1 • Topics covered: • Asymptotic analysis • Lists and list implementations • Stacks and queues • General trees, binary trees • BST • For each of these data structures • Basic idea of data structure and operations • Be able to work out small example problems • Advantages and limitations • Asymptotic time performance of their operations • Comparison between different implementations
Asymptotic analysis • Best/Worst/Average performance (time and space) • Big-O notation and properties • Definition (constants c and n0) • Lower order terms, constant coefficients • Sum rule, product rule (be careful) • Proofs • Growth rates of commonly used functions • Constant/logarithm/polynomial/exponential • L’Hospital’s rule
Lists • List ADT. • Basic operations and their time performance (implemen-tation dependent) • List iterators. • List implementation • Array • Linked list • Stacks and queues • ADT and operations (and their time performance) • Implementation: Adaptor • How this design pattern works • Pros and cons
General tree • Definition • Internal and external nodes • Height and depth, path length • Tree storage methods and their nodes • Binary trees • Full, complete and perfect binary trees and their properties • 4 different orders of tree traversals
BST • Definition • Basic operations and their implementations • Find/contains, • findMin, • findMax • insert, • remove, • recursive implementations • Time performance of these operations • Problems with unbalanced BST (degeneration)
Types of questions: Similar to those of the supplementary questions on the web (under Practice Exercises) • Definitions • Short questions • Coding (some may require using operations already defined in the class, mostly in pseudo code) • Applying operations to specific example problems • Proofs