Home    Course Archive    Video/Audio Library     Papers Archive    CV    My Keeper Shelf    Cultural References in Class Quotes

smh: COSC 311 Algorithms and Data Structures
FALL 2016

0. Basics
  1. Required Textbook:
    Goodrich, Tammasia, Goldwasser; Data Structures & Algorithms in Java, 6th edition
    Any format is fine. eText format can be rented from amazon.com for $36.45

  2. Do you need an alternative explanation of some data structures?
    The following book is ridiculously easy to read, but has incomplete coverage of algorithm analysis and advanced topics. It is inexpensive and well-written.
    Lafore, Data Structures and Algorithms in Java, 2nd Ed, Sams Publishing, 2002, ISBN-10: 0672324539.

  3. Do you need some extra help in Java? Suggestions:

  4. Language of Implementation: Java. All code will be in Java. We are a Java shop, for better or worse. Your code will be in Java.

  5. Syllabus

  6. Coding Standards (Keep it clean. Keep it readable. Keep it honest. Keep it simple.)
    Points will be subtracted for bad readability (use of white space, choice of variable names) as well as for lack of functionality and poor design.

  7. Office Hours: See instructor home page

1. Homework
Distributed Due Identifier /
12/5 12/12 HW 12/5 Mergesort
11/30 12/5 HW 11/30 Rehash
11/21 11/28 HW 11/21 Insert/delete priority queue
11/7 11/14 HW 11/07 Balance of BST
10/17 10/26 HW 10/17 Memoize fibonacci
10/12 10/19 HW 10/12 Use stack to find level of maximum nested parentheses
10/10 10/10 HW 10/10 Design a stack to find max of data in the stack
9/21 9/28 HW 09/21 Reverse an array in place
9/14 9/19 HW 09/14 Output 10-choose-3 values (from a list of 10 numbers,
output 3 randomly chosen values without replacement
9/7 9/12 HW 09/07 Output sorted list of unique ints

2. Lectures
Date Topic Reading Notes
12/12 Run Time Analysis G,T & G: chapter 4
on run time analysis
11/28 Hashing GT &G: 10.1, 10.2
11/21 Hourly #2: BST, AVL, priority queue
11/14 Priority Queue GTG: 9.1, 9.2, 9.3
11/7 AVL trees
Exam 1.5
splay tree operations
G T & G: 11.3
10/24 Hourly #1 Infix / Postfix Worksheet
Activation tree and recursion Writeup
10/31 Binary Search Trees -- an O(log n) data structure for find() Recursive code for BST
10/26 Trees, Binary Search Trees (insert and delete) G T & G: 11.1, 11.2
10/10 Recursion GTG: Chpt 5
Recursion- Watching it work
10/5 More stack algorithms: evaluate postfix expression,
convert infix to postfix, reverse an array, palindrome test
10/3 Queue, Stack
Stack algorithms: matching parens
Infix notation and expression tree
G T G: (queue related) 3.1 3.3 6.2
G T G: (stack) 6.1
G T G: (expression tree) pg 318
9/21 circular queue in array
9/19 Linear data structures
9/14 UML
Linear data structures
Chapter 3.1 - 3.4
9/12 Discussion of HW 09/07 Read chapter 1, 2 (Java)
9/7 Orientation, intro selection sort, radix sort Read chapter 1, 2 (Java)

3. Projects

Assignment Assigned Due Notes
aging in a priority queue 11/21/2016 12/5/2016 12/12/2016
Big Oh n-choose-k 9/26/2016 10/5/2016 10/12/2016 sage info
sage plotting example

4. Quizzes and Tests


Possibly useful papers

Code snippets
Last changed: