Skip to content
All courses
0571-1818

Data structures

Also listed as: מבני נתונים

The single highest-leverage elective for crossing from mechanical engineering into software. Arrays through graphs, with complexity analysis that makes your simulation code defensible.

Semester
Not fixed
Weekly hours
4h
Counts as
Faculty electives
Interest areas
Mechatronics and robotics

Comes after

  • Introduction to programming

Opens up

What it covers

Topics

  • Arrays, lists, stacks and queues
  • Trees and balanced trees
  • Hash tables
  • Graphs and graph traversal
  • Algorithm complexity and asymptotic notation
  • Sorting and searching
  • Recursion and recursive problem decomposition

Results worth carrying out

  • Asymptotic bound

    f(n)=O(g(n))    c,n0:f(n)cg(n)    nn0f(n) = O(g(n)) \iff \exists\, c, n_0 : f(n) \le c\,g(n) \;\; \forall n \ge n_0
  • Comparison sort lower bound

    T(n)=Ω(nlogn)T(n) = \Omega(n \log n)

We also write the summaries.

This map tells you what a course contains. The summaries, the tutoring and the people who already took it are the part you get by joining.

The topic outlines are not official syllabi. The university publishes a catalogue blurb per course, not lecture-by-lecture material, so each outline describes what a course of that name, at those hours, with those prerequisites teaches at engineering schools generally, cross-checked against the standard textbook for the subject. Treat it as an informed map, not as a transcript of the lectures.