Skip to content

Latest commit

 

History

History
 
 

DataStructures

CS 214: Data Structures

Resources

Lectures:

01. Introduction
02. Concepts: Encapsulation and ADT
03. Stacks: Array-based implementation I
04. Stacks: Array-based implementation II
05. Stacks: Array-based implementation III
06. Stacks: Linked-based implementation I
07. Stacks: Linked-based implementation II
08. Stacks applications: Recursion
09. Stacks applications: Polish Notation
10. Queues: Array-based implementation
11. Queues: Linked-based implementation
12. Abstraction & Implementation-Related Issues
13. Lists: Array-based implementation
14. Lists: Linked-based implementation
15. Search and Analysis of Algorithms
16. Analysis of Binary Search Algorithm I
17. Analysis of Binary Search Algorithm II
18. Trees
19. Binary Search Trees I
20. Binary Search Trees II
21. Introduction to Graphs
A1. Analysis of Algorithms I
A2. Analysis of Algorithms II
A3. Analysis of Algorithms III

Assignments

  1. (Due: Sep. 22) Read Ch. 1 from the book very well; then code and run the program of the chapter. Also, solve problems E1, E3, and E4 of Exercises 1.3
  2. (Due: Sep. 29) Read Section 3.1. Write the implementation of the array-based stacks in a file and the program of page 80 in another file and add them to a project. Run your program.
  3. (Due: Oct. 06) Write this program (you can code your menu the way you like or get the help of Section 2.3.3). Solve this set of problems (solve stack problems only).
  4. (Due: Oct. 13) Write the linked stack unit and use it for the program of HW3, and make sure that your program is running without any modifications. Write P2 in Exercises 3.2 (get the help of the function written on page 239). Solve these problems. Solve E2, E3 in Exercises 3.4. Solve the review problems of HW3 for linked stacks.
  5. (Due: Nov. 07) Write this program. Solve the review problems for Queues for both implementations. Solve E9 and E10 in Exercises 4.3 (page 138). Solve E4 in Exercises 4.6 (page 164).
  6. (Due: Nov. 24) Write this program. Solve these review problems. Solve E4 in Exercise 5.2 and compare to problem 4 in the Review Problems 2.
  7. (Due: Dec. 01) Solve E4 and E5 in Exercises 6.2.
  8. (Due: Dec. 08) Solve these review problems.
  9. (Due: Dec. 15) Solve all problems of Exercises 9.1 (E1-E19); give special attention to E14.
  10. (Due: Dec. 22) Solve E1-E5 in Exercises 9.2. Write this program.
  11. (Due: Nov. 24) From Sec. 3.2 in Rosen, solve the following problems: 1, 4, 5, 7, 15, 18, 21, 22, 24, 29, 30, 31, 34, 36, 51, 60, 62. From Sec. 3.3 in Rosen, solve the following problems: 1, 2, 9, 27.

Course Project

  • General Policy: Every group (around 3 students per group) should deliver a course project. This project constitutes 10 marks out of the 100. Each group can bring their own idea or select from the list of projects that will be released soon. Project defense will be according to the practical exam schedule. Copying, fudging, or any form of illegal reproduction of works or ideas will result in loosing marks not only getting zero.
  • Each group must register their names with the TA, and take an ID number (starting from 1 up to the most recent registered group).
  • Students in a group do not have to be in the same class (section).
  • Some examples of projects

Announcement

  • Moodle portal for announcements, grades, and other postings.
  • In the final exam you can open your book, lecture notes, and your notes.
  • The special lecture on complexity is not included in the final exam. However, all other topics related to complexity, e.g., analysis of binary search, etc., are included.