Midterm Topic Outline
Note: this is not an exhaustive list of topics
covered, but might be a useful checklist of things to make sure to
know for the midterm.
- lists
- processing
- Specializations:
- implementation -
- array
- linked list
- doubly linked list
- circular
list
- circular queue
- strings and sharing
- internal vs. external lists (structures)
- advantages of linked vs. sequential storage
- xor 2 links for one.
- partial order algorithm
- trees
- binary vs. regular
- traversal (preorder, postorder,inorder)
- father pointers
- predecessors and successors
- tree as binary tree
- equivalence relations
- Graphs
- vertex based vs. edged based
- free trees
- spanning tree algorithm
- elementary chain algorithm
- distance/diameter
- Eulerian and Hamiltonian cycles and chains
- isomorphism
- lisp:
- s-expressions, lists, and storage allocation
- cons, car, cdr
- recursive routines
- helper functions
- what does function do?
- write a function
- 5) Garbage collection:
- mark nodes, identify accesible vs, inaccessible
- marking algorithms
- stop & copy, generational scavanging
- 6) storage allocation
- first fit, best fit allocation
- when to coalesce
- buddy system
- lru, nur paging
- 7) sorting: different algorithms, complexity
-
selection sort
- bubble sort
- insertion sort
- distribution counting
- shellsort
- tournamernt sort
- heaps
- heapsort
- quicksort
- medians
- radix exchange sort
- radix sort
- mergesort
- 8) Quadtrees:
- adding nodes
- pruning quadrants in search
- bst search
- General:
- Proofs
- Time and Space Complexity