Home   Current Courses   Video/Audio Library     Course Archive   Papers Archive   Beyond the Box   CV   Service My Keeper Shelf   Cultural References in Class

smh: COSC 311 Algorithms and Data Structures
Winter 2013


Textbook: Koffman & Wolfgang, Data Structures: Abstraction and Design Using Java 2nd Ed, Wiley, ISBN-10: 0470128704.

1. Lecture notes and Recordings

Date Topic Other
1/8 Stack operations, evaluate postfix expression algorithm
Stack simple code
             
1/10 infix -> postfix (Shunting yard algorithm)
Expression tree: inorder, postorder, preorder
1/15 Stack algorithms: infix -> postfix, postfix -> infix
Go over "simple stack" code (see 1/8)
1/22 Queue: basic operations, implementation with linked list
Using a queue for time-based simulation
Quiz01-22
1/28 Singly linked list, doubly linked list
Count items in linked list (iterative solution, recursive solution), factorial (iterative & recursive), fibonacci (recursive)
crude activation tree, definition of memoization
 
2/5 Tree basics, Binary tree basics;
number of nodes in perfect tree, height, depth,
degenerate tree, inorder traversal, Multi-way tree (first child, next sibling)
Quiz02-05
2/19 Bare bones memory management
BST: insert & delete pseudo code HERE
AVL tree, see HERE for pseudo code and pics
Quiz on simple memory management algorithm...
2/21 AVL trees  
2/26!! Snow day :-(  
2/28 MIDTERM  
4/2 Finding Big Oh: simple counting and with recursion
GUI programming example: randomly moving box, button controlled
4/4 hashing
4/9 B trees





2. Assignments
Date Assigned -- Due Assignment Other
1/10 -- 1/15 HW1  
1/24 -- 1/31 HW2  
1/29 -- 2/5 HW3  
2/5 -- 2/12 HW4  
2/19 -- 2/21 HW5 Answer the first three by explicitly listing and/or using all six permutations
2/19 -- 2/21 HW6 also read about AVL rotations
3/28 -- 4/9 HW7
This assignment has been modified as of 4/9/2013
simple sorts
4/2 -- 4/4 HW8 solve a recurrence
4/9 -- 4/16 HW9 comparing BST and B tree performance (time and space)



3. Projects

  1. Test Grouping Using Stack
  2. Queue: simulation to demonstrate N = λ * T (Little's theorem)
  3. BST is really O(log n) to delete?
  4. pp-4: Generating text
  5. pp5: Backtracking to search a maze (spec under development)
    For fun -- extra credit projects -- implement in Java!
  1. implement Game of Life
  2. Draw a fractal curve (e.g., dragon or Hilbert, or ZZ) in a GUI
  3. implement Game of Life with user specified transition table
  4. implement equi-join on two unsorted tables
  5. take digitized text, lexical sort on *reversed* words, output to file (one word per line)





4. Quizzes and Tests


5. General


6. Resources


7. Possibly useful papers


8. Code snippets


Last changed: