Welcome to the Course of Data Structures and Algorithms Jan. 2015 1 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 2 Professor: Dr. Y. Chen Office: 3D27 E-mail: y.chen@uwinnipeg.ca home-page: http://www.uwinnipeg.ca/~ychen2 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 3 Course Outline of data Structures and Algorithms in Java: Course Outline Graphs Sorting, and sets Priority queues Trees, tree searching strategies Vectors, lists and sequences Stacks, queues, and deques Object-oriented design Java basics 4 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 5 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 Trees 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 6 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 7 Chapter 12 Jan. 2015 Directed Graph and Minimum Spanning Trees Directed graphs Minimum spanning trees Kruskal’s algorithm 8 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 9 Course Evaluation: 4 assignments 1 midterm examination Lab class 1 final examination 20% 20% 5% 55% • 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 10 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 11