Skip to page content

Courses

  • Data Sructures (10117)
  • תקציר הקורס:

    Abstract:

    Issues of the course:

    Recursion. Recursion as an interdisciplinary thinking paradigm. Analysis of Algorithms and Mathematical Foundations: Growth of f?unctions and Asymptotic notations, Summations, Recurrences: The Substitution, Iteration and Master Methods. Searching for a term in a sorted and an unsorted list, minimum, maximum, merging sorted series, analyzing the complexity of their run times.

     Abstract Data Types, the Concept of Implementation, Data Types in C. Lists: Linked Lists, the Linked List as a Data Structure, Circular and Double Linked Lists. Stacks, Queues, Infix, Postfix, Prefix and Evaluating Expressions.

    Trees: Binary Trees and Traversals, Binary Search Trees and Josephus problem, General Trees, Balanced Trees.

    Heaps and Heapsort, analysis of Heapsort . Sorting and Searching:, Quicksort,

     analysis of Quicksort, Sorting in Linear Time : Bucket sort, Radix sort, Counting sort . Median and Order Statistics, Select algorithm and their applications. Sequential/ Binary/ Tree Searching. Hash Tables.
  • Design & Analysis of Algorithms (10120)
  • תקציר הקורס:

    Abstract:

    Introduction to Linear Programming, Simplex Method, Primal Problem and Dual Problem. Transportation Problem, Transportation Simplex Method, Assignment Problem – Hungarian Algorithm. Dynamic Programming.

     Graph Algorithms: different methods of representing graphs, finding transitive closure: Matrix Multiplication and Warshall's Algorithm, Euler and Hamiltonian Path. BFS and DFS Algorithms ,Topological Sort, Strongly Connected Components, Hyper Graph, Bridges and Biconnected components, Pert. Trees and Greedy Algorithms: Huffman codes. Shortest Paths: from single source and between all pairs of vertices – Dijkstra / Bellman Ford / Floyd Warshall algorithms. Single-source Shortest Paths in DAG (Directed Acyclic Graph).

    Minimal Spanning Trees, Kruskal and Prim algorithms. Euler and Hamiltonian Path.