List of Topics for CS222
- Effeciency
- Effeciency for the CPU
- Effeciency for RAM
- Effeciency for programmer time
- O(n) notation
- Need to know you 'n' value.
- Need to know the constants
- Ordering O(1) O(log n) O(n), O(n log n), O(n^2), O(n^3),
O(2^n) O(icky)
- Heuristics make everything better when they work
- String Manipulation
- Substring finding
- String concatenation
- Simple Linked List
- Analysis using the criteria above
- Skip List
- Abstract and Physical Types
- Stack
- Can use pointers or an array
- What to do when the size of the array needs to grow
- Queue
- Can use pointers or an array
- What to do when the size of the array needs to grow
- Doublely Linked List
- Superceeds Stack and Queue
- Hash Tables
- Speed!!!!
- Collisions
- How to remove an item
- Bit maps
- Works great for high 'density' domains
- Sets
- Union
- Intersection
- Difference
- Binary Tree
- N-array trees
- Graphs