Course Outline - The University of Winnipeg

Welcome to the Course of
Data Structures and Algorithms
Jan. 2015
Name: Yangjun Chen
Birthplace: China
P.h..D: University of Kaiserslautern, Germany, in 1995
Post Doctor: University of Chemnitz, Germany, 1995/7 - 1997/8
Senior engineer: Germany Research Center for Information Technology,
1997/9 - 2000/2
Post Doctor.: University of Alberta, 2000/2 - 2000/6
Assistant Prof.: University of Winnipeg, 2000/7 – 2004/6
Associate Prof.: University of Winnipeg, from 2004/7
Prof: University of Winnipeg, from 2009/7
Jan. 2015
Professor: Dr. Y. Chen
Office: 3D27
E-mail: [email protected]
phone: 786-9417
Meeting time: 10:00 - 11:15 Mondays & Wednesdays
Meeting location: 3D03
Lab class: 2:45 – 4:00 pm Friday (from Jan. 16, 2015)
Lab location: 3D03
Office hours: 16:00 - 17:00 Monday and Wednesday
10:00 - 17:00 Friday
Jan. 2015
Course Outline of data Structures and
Algorithms in Java:
Course Outline
Sorting, and sets
Priority queues
Trees, tree searching strategies
Vectors, lists and sequences
Stacks, queues, and deques
Object-oriented design
Java basics
Jan. 2015
Required textbook:
Michael T. Goodrich and Roberto Tamassia: Data Structures and Algorithms in
Java (2nd, 3rd, 4th edition), ISBN: 0-471-38367-8, John Wiley & Sons, Inc.
Reading (Data Structures and Algorithms in Java):
Chapter 1 Java basics
Java programming
Chapter 2 Object-Oriented design (and review on recursion)
Chapter 4 Stacks, Queues and Deques
Abstract data types of stack, queue and deque
Array-based implementation of the abstract data types
Sample case study application
A quadratic-time algorithm for computing the span of the
stock’s price
A linear-time algorithm for computing the span of the
stock’s price
Jan. 2015
Chapter 5
Chapter 6
Jan. 2015
Vectors, Lists and Sequences
Abstract data types of vector, list and sequence
Array-based implementation of the abstract data types
Sample case study application
Algorithm for bubble-sort on a sequence
Tree abstract data type
Basic algorithms on trees
Binary trees
Data structures for representing trees
Tree search
Algorithm for preorder traversal
Implementation of preorder traversal in Java
Algorithm for postorder traversal
Implementation of postorder traversal in Java
Chapter 7
Chapter 8
Chapter 10
Jan. 2015
Priority Queues (optional)
Priority queue abstract data type
Algorithm for sorting with a priority queue
Implementing a priority queue with a sequence
Dictionaries (optional)
Dictionary abstract data structure
Log files
Hash tables
Ordered dictionary abstract data structure
Algorithm for binary search of a dictionary
Sorting, Sets and Selection
Merge-sort algorithm and implementation
Set abstract data type
Quick-sort algorithm and implementation
Chapter 12
Jan. 2015
Directed Graph and Minimum Spanning Trees
Directed graphs
Minimum spanning trees
Kruskal’s algorithm
Important dates:
Wed., Jan. 07, 2015
First class
Wed., Feb. 25, 2015 Midterm examination
March 03, 2015
Final date to withdraw without academic penalty from a
course that begins in Jan. and ends in April of the 2015
Winter term
Last class
Date for final examination
Jan. 2015
Wed., April 01, 2015
April 21, 2015, at 9:00 am
Course Evaluation:
4 assignments
1 midterm examination
Lab class
1 final examination
• All assignments are handed in at class on the due date.
• All works must be prepared using a word processor and
placed in a folder.
• Late assignments are accepted (up to 1 day late) and
receive a 25% penalty.
Jan. 2015
Academic dishonesty:
• Academic dishonesty is a very serious offense and will be
dealt with in accordance with the University's discipline
bylaw. Be sure that you have read and understood
Regulations and Policies #8 on page 26 in the 2014 - 15
UW General Calendar.
Jan. 2015