Contents (hide)

Welcome to Data Structures homepage

This is a united course page for CS, ISE and Ahva

The Goal

The goals of this course are to learn a variety of useful data structures and to use them properly when designing efficient algorithms. During this process we will define (asymptotic) runtime and space efficiency of algorithms and their data structures. We will learn how to design algorithms and data structures to efficiently solve problems.


For any problem that doesn't have to do with the material of the course, send your emails with to a course email ( Examples for this are Miluim/hospitalization. In your emails please state your full name, ID number and the department you belong to (CS,SE,ISE or Ahva).
For questions regarding the course material or homework assignments, use the Forum. You are welcome to come to office hours, we'll be glad to have you.


See Course info


We encourage you to try several textbooks and see which fits you best. Here are few suggestions:
  • Introduction to Algorithms, Cormen, Leiserson, Rivest and Stein (2nd edition, 2001). This is the main textbook. There is also a Hebrew edition.
  • Algorithm design : foundations, analysis, and Internet examples, Michael T. Goodrich, Roberto Tamassia.
  • Data structures and algorithms in Java, Michael T. Goodrich, Roberto Tamassia.
  • Data structures and algorithms, Alfred V. Aho, John E. Hopcroft. Jeffrey D. Ullman.
  • Data structures & their algorithms, Harry R. Lewis, Larry Denenberg.
  • Algorithms in C++, Robert Sedgewick.

Course Requirements

Midterm Exams

There will be 1 obligatory midterm exam (on 3.5.2013). The weight of the midterm exam is 16%.

Homework Assignments

The weight of the homework assignments is 14%. Read the instructions and the grading policy: Home Work Policy

Final Exam

In order to pass the course, you must pass the final exam (with grade of at least 56). The weight of the final exam is 70%.