Data Structures (89-120)


       Home | Lecture Notes | Exercises | Grades | Exams


10/07: On Sunday, July 13th we will have a final recitation before the exam. Please submit your questions until Sunday, 11:00 - by mail, in order to help us to perpare to this recitation

25/06: The links to the websites from previous years are opened! You can find there some more exercises, and previous exams.
It is highly recommended to solve them before the exams. Please look at 2010, 2011, 2012, 2013. Good luck!!

01/05 (all groups): We postpone the submission of the exercise. Please submit until Thursday, 08/05 (23:00). Happy independence day!

03/04 (group 06): This week there will be recitation as usual, Tuseday 18:00. Nethanel will be giving the recitation instead of Gilad

24/03 Due to your exam in discrete math and our willing to help, we decided to postpone the submission of exercise 2. Please submit it until Tuseday next week (1/04)

Good luck!!

General Information

Semester B

Lecturer: Prof. Amihood Amir
Group 01: Monday, 12:00-14:00, Building: 404, 101
Group 02: Wednesday, 10:00-12:00, Building: 102, 001
Group 03: Wednesday, 14:00-16:00, Building: 102, 001

Teaching Assistant: Gilad Asharov
Group 04: Tuesday, 10:00-12:00, Building: 105, 061
Group 05: Tuesday, 14:00-16:00, Building: 105,106 604, 101 (new location!!)
Group 06: Tuesday, 18:00-20:00, Building: 105, 061 507, 103 (new location!)

Teaching Assitant: Nethanel Gelernter
Group 07: Thursday, 10:00-12:00 Building: 507, 006

Lecture Notes

Recitation 1+2 (asymptotic notation)
Recitation 3 (linear data-structures)
Recitation 4 (recursions)
Recitation 5 (skip list)
Recitation 6+7 (BFS, DFS, topological sort)
Recitation 6+7 (exercises)
Recitation 8 (updated! trees)
Recitation 9 (trees-AVL)
Recitation 10 (amortized analysis)
Recitation 11 (hashes - notes from the previous year. You can find additional notes in Nethanel's site)
Recitation 12 (sorting. notes in Nethanel's site)
Recitation 13 (select algorithm - see book)


Exercise 1 (sol)
Exercise 2 (sol)
Exercise 3 implementation (programming)
Exercise 4 (sol)
Exercise 5 (sol)
Exercise 6 (implementation - hashing)

Exercises Not For Submission

Exercise 3 - Recursions (sol)
Exercise 7 (sol)


final grades
(if some grade is missing, or something went wrong - contact us asap!)
The grades were calculated as follows:
For half of the studentes exercise 1 was marked, for the other half exercise 2 was marked. Therefore, each student has a grade in only one of these two exercises.
The "theoretical average" is the average of exercises 1,2,4 and 5, where only 3 exercises were actually marked for each student (and thus, this is an average of 3 grades).
In addition, there is an average for the programming exercises (average of 2 exercises - exercise 3 and exercise 6).
The final grade is caluclated as the average of these two averages. A bonus of 10% was added to the final grade.
For conclusion, the weight of each theoretical exercise is 16.66% of the final grade, and each programming exercises is 25% of the final grade.


You can find previous exams here.