##### _____________________________________________________________________________________

1.    Algorithms Analysis: the efficiency of an algorithm.

a.      Algorithm basic  notions.

b.      Complexity Measurement: temporal and spatial costs.

c.      Case Analysis: best, worst and average cases.

d.      Asymptotic Notation.

e.      Analysis of control structures.

2.    Algorithms Design:

a.      Recursion vs. Iteration.

b.      When to  use the recursion.

c.      Simple examples of recursion.

e.      Examples: factorial, Fibonacci

3.    Linear Abstract Data Types: Lists

a.      Logical description of list ADT.

b.      List Types: sorted, generic, stacks, queues, deques, and cyclic lists.

c.      Different representations of lists ADT:

ii.     Static/dynamic representation

d.      Implementation through the use of vectors and pointers.

e.      Operations on lists (creation, search, insertion, etc.).

f.       Examples of lists applications.

4.    Hierarchic Abstract Data types: Trees

a.      Logical description of the tree structure. Graphic representation.

b.      Types of trees: general trees, binary trees.