Skip to main content
CSE 331 Algorithms and Data Structures

                                  

 

CSE 331

 

 

Overview

 

Announcements

   

Notes and homework

 

Algorithms and Data Structures (Section 001)

 

Spring 2016

Monday and Wednesday, 10:20-11:40, 223 Natural Resource Bldg

Instructor: Dr.Yanni Sun (email: yannisun@cse.msu.edu)

Office hours (3134 EB): Wed. 2:30-3:30 PM or by appointment

 

TA: Saptarshi Mitra Email: mitrasap@msu.edu

Office hours: Thursday from 2:30 to 4:30 at Instructional Lab (Room 3203) in EB

 

Overview

Welcome to the home page for CSE 331: Algorithms and Data Structures.

In this course, students will survey fundamental data structures and many associated algorithms. Study of classical abstract data types (ADT) will be fairly comprehensive. Emphasis will be placed on matching the appropriate data structures and algorithms to application problems. Analysis of algorithms is crucial to making proper selections, so analysis is important in the course. This course assumes that students are already familiar with advanced programming techniques including the definition of classes, and use of dynamic memory and linked data structures, including lists and trees.

Even though the treatment of algorithms and data structures is mostly conceptual, students are expected to be able to transform these algorithms and data structures into programs with proper approaches of software module development.

Handin: https://secure.cse.msu.edu/handin/  

 

Announcements

l  D2L link is here:  https://d2l.msu.edu/. You can log in and view your grades.

l  Either the 3rd or 4th edition of the textbook is fine.

l  All the class notes can be downloaded at http://www.cse.msu.edu/~cse331/Section1/notes/

l  Homework 1 is due at the beginning of the class on Feb. 1st. No late work will be accepted.

l  TAs office hour is changed to Thursday

 

 

Course Handouts and Other Documentation are available at:

http://www.cse.msu.edu/~cse331/Section1/notes/

 

Syllabus

Week

Topics and Reference (Third edition) (Fourth Edition) (The textbook cannot replace class notes, which cover the required topics for homework/exams.)

Jan. 11

Course intro; insertion sort. Chapter 7 Chapter 7.2

Jan. 18

Insertion sort continued; introduction to algorithm analysis Chapter 7 Chapter 7.3 to 7.5

Jan. 25

Asymptotic notation; mergesort; quicksort; Chapter 7 Chapter 7

Feb. 1

Quicksort continued; introduction to trees; Chapter 4 Chapter 4

Feb. 8

Binary Search Trees; AVL Trees; Chapter 4 Chapter 4.4

Feb. 15

AVL Trees continued; B-Trees Chapter 4.4 , 4.7

Feb. 22

Exam 1(Feb. 24), Heaps; Chapter 6 Chapter 6

Feb. 29

Heaps, Heapsort; Hashing; Chapter 6; Chapter 5 Chapter 6, Chapter 5

Mar. 7

Spring break

Mar. 14

Hashing; Graphs, DFS, BFS; Chapter 5; Chapter 9 Chapter 5; Chapter 9

Mar. 21

Topological Sort, Dijkstra's algorithm, Chapter 9 Chapter 9.2, 9.3

Mar. 28

Warshall's algorithm, MST

Apr. 4

Exam II (April 6th) MST, Greedy algorithms and dynamic programming; Chapter 10.1 and 10.3 Chapter 10.1 and 10.3

Apr. 11

Algorithm design techniques; Chapter 10.1-10.4 Chapter 10.1-10.4

Apr. 18

Algorithm design techniques Chapter 10.1-10.4

Apr. 25

Complexity theory and course summary; Chapter 10 Chapter 9.7

 Final exam