CSE 680 Introduction to Analysis of Algorithms and Data Structures

News

Note: I have gone green, so visit this site often for class updates. I encourage you to go green as well and follow the notes on-line. Note, that the material will change as the course progresses this quarter, so please do not print and refer to the old printed version in the future.

Description

Performance analysis considerations in design of algorithms and data structures; asymptotic analysis, recurrence relations, probabilistic analysis, divide and conquer; searching, sorting, and graph processing algorithms.

Level, Credits, Class Time Distribution, Prerequisites

Level Credits Class Time Distribution Prerequisites
U/G 3 3 cl 560 or 668 or ECE 668; Stat 427; Math 566

Intended Learning Outcomes

Topics (not in order)

Number of Hours Topic
2 Overview of Algorithims and Sorting
1 Mathematical review
3 Introduction to analysis of algorithms
3 Use of asymptotic notation
3 Analysis of iterative algorithms
3 Analysis of recursive algorithms
3 Definition of a non-trivial problem and analysis of algorithms that solve that problem (e.g., median finding)
3 Divide-and-conquer, backtracking, branch-and-bound
3 Probabilistic algorithms
4 Graphs and graph algorithms
2 Exams and review

Graders

grader image

10:30 Section

Dachuan Huang

  • Email: huangda -at- cse.ohio-state
  • Office Hours:
    • TR 10:30-11:30
  • Office Hours Location: BO 118 #18

 

Prof. Crawfis' Office Hours

See Dr. Crawfis' Schedule.

Texts and Other Course Materials

Book Cover

Introduction to Algorithms, 3rd Edition

Cormen, Leiserson, Rivest and Stein

Course Notes

Powerpoint slides

Reading Assignments

Below are the reading assignments for the course. Unless otherwise noted, all readings are from the required textbook.

Homeworks (due weekly in class)

  1. Due Friday, September 30 beginning of class: From your book do exercises: 1.2-3, Problem 1-1, 2.1-1, 2.1-3, 2.2-2
  2. Due Friday, October 7 beginning of class: From your book do exercises: 2.3-1, 2.3-3 (make very formal), 2.3-4, 2.3-7, Problem 2-2, 3.1-1, 3.1-4, 3.2-2, Problem 3-3a, Problem 3-4.
  3. Due Monday, October 17 beginning of class:
  4. Due Monday, October 24 beginning of class: From your book do exercises: 6.1-3, 6.1-7, 6.2-1, 6.4-3, 6.5-7 (6.5-6 in 2nd edition), 7.1-1, 7.2-5.
  5. Due Monday, November 7 beginning of class: From your book do exercises: 11.2-1, 11.2-2, 11.3-3, 11.4-1, Problem 11-3, 12.1-1, 12.1-4, 12.2-1, Appendix B.4-4 and 22.1-6
  6. Due Monday, November 14 beginning of class: From your book do exercises:
  7. Due Monday, Noveber 21 beginning of class: From your book do exercises:
  8. (Extra credit) Due Monday, November 28 beginning of class: From your book do exercises:

Lab Assignments

Other Web Goodies and Tools

Grades

Homework 32%
Programming 8%
Midterm Exam 30%
Final Exam 30%

Schedule (Tentative - based on last quarter taught)

Lecture # / topic(s)

  1. Course overview, Algorithm Design
  2. Data Structures Review, Graph Data Structures
  3. Data Structures continued, Insertion Sort
  4. Insertion Sort Correctness, Bubble Sort, Selection Sort.
  5. Mathematical review and Asymptotic analysis.
  6. Merge sort
  7. Recurrences and the Master Method
  8. The Master Method and Heaps
  9. Heapsort and Quicksort
  10. Quicksort and Minimum Comparison sorting complexity
  11. Counting sort, Radix sort, Bucket sort
  12. Hash Tables
  13. Hashing
  14. Binary Search Trees, Augmented Data Structures
  15. Binary Search Trees
  16. Midterm Review
  17. Midterm
  18. Greedy Algorithms
  19. Graph Traversal, Depth-first, Breadth-first
  20. Topological Sorting, cycle detection
  21. Minimum Spanning Trees
  22. Shortest Path, Dijkstra's Algorithm
  23. Final Review

Relationship to BS-CSE Program Outcomes/EC 2000 Criterion 3 Outcomes

a b c d e f g h i j k
*** ** *** ** ***

 


Last modified: November 30, 2011 10:01 AM