**EECS 2011E (Fall 2015) FUNDAMENTALS OF DATA STRUCTURES**

**SLH F Tues Thurs 17:30-19:00 **

** ****Instructor Information:**

James H. Elder 0003G Lassonde Building

tel: (416) 736-2100 ext. 66475 fax: (416) 736-5857

email: jelder@yorku.ca website: www.yorku.ca/jelder

Office Hour: Thursday 14:30-15:30

**TAs:**

Paria Mehrani

Email: paria@cse.yorku.ca

Office Hour: By appointment

Nada el Assal

Email: elassal_nada@yahoo.com

Office Hour: By appointment

** ****Lectures:**

I reserve the right to make changes to the lectures up to the time of the class. Small changes may also be made after class, e.g., to correct errors. I will indicate in each set of slides the date they were last modified: please verify that you have the most recent versions.

To get the most of the lectures I recommend that you keep your laptops etc in your bags. Recent research has shown that students who use laptops in class get lower grades.

**Slides**:

- Introduction
- Asymptotic Analysis
- Linear Data Structures
- The Java Collections Framework
- Recursion
- Trees
- Priority Queues and Heaps
- Maps and Hash Tables
- Loop Invariants and Binary Search
- Midterm Review
- Search Trees
- Comparison Sorts
- Linear Sorts
- Graphs - ADTs and Implementations
- Graphs - Depth First Search
- End of Term Review

Thursday Sept 10th, 2015

Tuesday Sept 15th, 2015

Thursday Sept 17th, 2015

Tuesday Sept 22nd, 2015

Thursday Sept 24th, 2015 - No recording available due to technical error.

Tuesday Sept 29th, 2015

Thursday Oct 1st, 2015

Tuesday Oct 6th, 2015

Thursday Oct 8th, 2015

Tuesday Oct 14th, 2015

Thursday Oct 16th, 2015

Tuesday Oct 20th, 2015

Thursday Oct 22nd, 2015

Tuesday Nov 3rd, 2015

Thursday Nov 5th, 2015

Tuesday Nov 10th, 2015

Thursday Nov 12th, 2015 - No recording available.

Tuesday Nov 17th, 2015

Thursday Nov 19th, 2015

Tuesday Nov 24th, 2015

Thursday Nov 26th, 2015

Tuesday Dec 1st, 2015

Thursday Dec 3rd, 2015

**Assignments**:

Assignment 1 (due 11:59pm Oct 6, 2015)

Assignment 2 (due 11:59pm Nov 2, 2015)

Assignment 3 (due 11:59pm Nov 24, 2015)

Assignment 4 (due 11:59pm Dec 7, 2015)

**Problem Sets (not graded)**:

Problem Set 1 (Asymptotic Analysis)

Problem Set 2

Problem Set 3

Problem Set 4

**Final Exam**:

Date: Thursday Dec 17th 9am - 12pm

Location: LAS C

**Announcements:
**This is a stack: the most recent announcements are at the top.

- Dec 22nd. Final exam grades have been posted. I wish you all a great holiday.
- Dec 16th. Assignment 4 grades have been posted.
- Dec 6th. Problem Set 4 has been posted. I will release the solutions before Dec 11th.
- Dec 4th. The optional pre-exam tutorial will be held 11am - 1pm Fri Dec 11th in Curtis Lecture Hall 110.
- Nov 27th. A4Q1. The array should be sorted in non-decreasing order.
- Nov 27th. A4Q1. heapSort will make use of java.util.PriorityQueue, which uses a min-heap: smaller

elements have higher priority. - Nov 27th. An optional tutorial will be held from 11am - 1pm Fri Dec 11th. I will announce the room shortly.
- Nov 25th. Assignment 4 has been posted (above) and is due Dec 7th. There will be an optional lab for this assignment next Wed Dec 2 11am - 1pm in LAS 1006.
- Nov 24th. A3Q2. A question was raised in class today concerning the hash value used by DoubleProbeHashMap in

the method secondaryHashValue. You should use key.hashCode() to convert the key to an integer.

This integer is then used in the secondary hash equation (as k in the equation for h'(k) on Slide 34

of the Maps and Hash Tables lecture). I believe that the discrepancy in the number of probes some of you were getting was because instead

of using key.hashCode(), you were calling the hashValue(key) method of AbstractHashMap, which is

what computes the primary hash value. Given the lack of clarity on this issue, however, I will give you full marks if you do it either way. - Nov 24th. Problem set 3 (prep for final exam) has been posted above. Solutions will be posted by Dec 6th.
- Nov 23rd. A3Q2. There was a typo in the comment for the constructors for DoubleProbeHashMap. q should be the LARGEST prme less than cap.
- Nov 9th. Midterm and Assignment 2 grades have been posted. The drop deadline is today.
- Nov 9th. Assignment 3 has been posted! Due Nov 24th.
- Oct 20th. Due to the Fall Reading Days, the due date for A2 has been extended to Mon Nov 2 11:59pm.
- Oct 20th. The package for A2Q2 was missing the EmptyQueueException class. It has now been updated - please download the new package and use this for the assignment.
- Oct 19th. A tutorial will be held this Wed Oct 21st 11am - 1pm in Stong College 216. The purpose of the tutorial is to help you prepare for the midterm Oct 27th. A major focus will be the problem sets.
- Oct 14th. Problem sets have been posted. These will help you prepare for the midterm. Solutions will be released Oct 20th.
- Sept 24, 2015.
Optional labs and tutorials will be held 11am – 1pm Wednesdays on an ad hoc basis (not every week).There will be one lab for each assignment.There will be a tutorial before the midterm and before the final.The first lab will be this Wed Sept 30th in LAS 1006.The due date for Assignment 1 has been extended to 11:59pm Tues Oct 6th.
- Sept 13, 2015. York is running a series of extra-curricular programming contests, starting with one on Friday, September 18 from 16:30 to 18:30 in Lassonde 1004. All are welcome. Come out for fun and to hone your skills. For more information see www.cse.yorku.ca/acm. Students who do well in the local contests will get the opportunity to represent York at the regional competition on October 31.