Topics for Park's CMSC 341 Midterm 1:
- Proof by Induction
- Recursion
- Makefiles
- basic structure of a makefile
- the parts of a rule: target, dependencies, actions
- Asymptotic Analysis
- Relative order of major classes of O(): 1, log n, n, ...
- Big O/Big Theta/Big Omega
- Finding c and n0
- Code analysis for runtime estimation
- Dynamic Memory
- Global data, heap, and stack
- Dynamic memory management, memory leaks
- Pointers, references
- Linked Lists (LL)
- Singly-linked lists, pros and cons vs. arrays
- Doubly-linked lists, pros and cons vs. singly-linked
- Should be able to draw examples of single and double LL's
- Should be able to diagram LL insertion, deletion and traversal
- should be able to write code snippets for above
- Stacks and Queues
- behavior of stack and queue ADTs
- C++ Templates
- Implementation
- Uses of templates
- STL stacks and queues
- Trees
- Comparing trees, binary trees, and binary search trees
- Traversals: pre-order/in-order/post-order
- Binary Search Trees (BST)
- searching for specified value
- finding MinValue and MaxValue
- Inserting new value
- Deleting value
- AVL trees will not be covered on this exam.
Not all of these will be be specifically asked about on the exam,
but you are responsible for knowing it.