CS 32: Data Structures


This is the homepage of the classes of CS 32 WFQR and WFUV this First Semester AY 2018-2019.


[15 Nov]
  • Link to MP3 specifications here
  • First deadline: 25 November 2018, 11:59 PM. Solutions accepted after the first deadline will be treated as a submission for the second deadline.
  • Second Deadline: 28 November 2018, 11:59PM. Solutions accepted after the second deadline will not be accepted.

[14 Nov]
Class Standings as of 11/4:

[16 Oct]
  • Re MP2, please take note of bullet number 3.

  [12 Oct]

        ME03: Constructing Binary Trees using Preorder & Inorder Traversal Sequence
  • Sample input here.
  • Sample output here.
  • Additional specification: On each tree, the value of each node is unique.

 [10 Oct]
  • Link to MP2 specifications here. [Specs updated as of 13 Oct, 2:00pm]
  • Deadlines
    • First deadline: 18 October 2018, 11:59 PM. Solutions accepted after the first deadline will be treated as a submission for the second deadline.
    • Second Deadline: 23 October 2018, 11:59PM. Solutions accepted after the second deadline will not be accepted.
  • Test Case:
  • [16 Oct 10:00pm] For the submissions for MP2, you are required to implement Procedure 7.11 and Procedure 7.12 (Quiwa book) for the insert and delete operations of your priority queue. Any submission that does not comply to the specification above will be given a grade of 0, even if it gives the correct answer or not.
  • Honor Pledge Document here. Submit a printed copy of this document on or before the second deadline. All MP submissions without this document will not be recorded.

 [26 Sep]

As of 12:00am  (arranged by increasing student number)
Students who have NOT SUBMITTED their MP1:
  • 201701482

If you have not received any acknowledgement of your submission, or you have concerns re the list above, please contact me immediately.

 [19 Sep] 

 [7 Sep] 
  • MP1 specifications can be viewed by clicking this link.
  • ME01 specifications can be viewed by clicking this link.
  • No classes on 12 September 2018. 14 and 19 September will be used as lecture and lab sessions, respectively.
  • Already updated the tentative schedule for the succeeding long exams, assuming that the LEs will be administered during official class time.

  • [17 Aug] Please read the following slides (reference: excerpts from MIT OCW 6.087 class), for advanced reading. I will be using the 22 Aug lecture session for lab tutorials and exercises. We will be holding classes on TL2 on 22 Aug.

  • [10 Aug 6:00am] For both WFQR and WFUV sections, no lab class today. I will be using the lecture class on the 15th for the missed session. 


1Aug 8/10Introduction, Mathematical Preliminaries, Algorithms Lec1 - 
2Aug 15/17(Intro to C Programming) -  -
3Aug 22/24(Intro to C Programming)- -
4Aug 29/31(Intro to C Programming)-  - 
 5 Sep 5/7Stacks Lec5 ME01 
 6 Sep 12/14 (no class) -  - 
7Sep 19/21Queues  Lec6 ME02
8Sep 26/28LE 1 / Binary Trees   
 9 Oct 3/5Binary Trees & Applications Lec7 
10 Oct 10/12 Trees and Forests Lec8 
11Oct 17/19 Graphs & Applications Lec9
12Oct 24/26Applications of Graphs / LE2  
13Nov 7/9Linear Lists Lec10 
14Nov 14/16 Generalized Lists, Binary Search TreesGLBST 
15Nov 21/23Sequential Tables, Hash Tables STHT  
16Nov 28/30



  • LE 1 Coverage: Mathematical Preliminaries to Queues: 26 September
  • LE 2 Coverage: Binary Trees to Application of Graphs: 26 October
  • LE 3 Coverage: Lists to Hash Tables: Take Home