From problems to programs, Data Structures and Abstract Data types.
Data types List, Implementation of lists, stacks Queues, Mappings, Stacks and recursive procedures. Basic terminology, ADT Tree, / Implementation of trees, Binary trees.
ntroduction to sets an ADT with union intersection and difference, A Bit-vector implantation sets, A linked list implementation sets, The dictionary, simple dictionary implementation, the Hash table data structures, Estimating the efficiency of functions, Implementation of the mapping ADT, Priority Queues, Implementation of priority queues.
Basic Definitions, Representation for directed graphs, the single source short path problems, Traversals of Directed Graphs, Directed A cyclic graphs, strong components.
The internal sorting model, simple sorting schemes, Quick sort Heapsort, Binsorting.
Efficiency of algorithms, analysis of receive programs solving Recurrence Equations, A general solution for a large class of Recurrences.
Divide and conquer algorithms, Dynamic programming, Greedy Algorithms, Back tracking, local search algorithms.
A model of external computation, External sorting, sorting information in files, external search Trees.