Transcript here

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 (implementation 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