Skip to content

Latest commit

 

History

History
28 lines (17 loc) · 1.52 KB

File metadata and controls

28 lines (17 loc) · 1.52 KB

Algorithms-and-Data-Structures-II

Set of group and individual works in my course on Algorithms and Data Structures II at the University of Buenos Aires.

Program

  1. Abstract types of data and problems

    1. Abstract data types: Linked list; Stack; Queue; Array; Binary tree; Set; Map.

    2. Specification: description of problems using abstract types; modularization.

    3. Recursion: axiomatization of functions through recursion; structural induction.

  2. Design, data structures and algorithms

    1. Design: concepts; modules; relationship implemented; representation invariant and abstraction function; commutative diagrams.

    2. Algorithm complexity: Asymptotic analysis of the worst case and average case. Notation O (). Upper and lower dimensions.

    3. Data Structures: simple representations for sequences, stacks and queues; simple representations for maps / sets: sequences, arrays, pointers, binary trees and binary search trees; more elaborate representations: balanced trees, AVL trees, open hashing, closed hashing, and tries; priority queues: heaps. Search and sort in secondary memory. Other data structures for dictionaries.

    4. Sorting algorithms: Basic methods: insertion, selection. Elaborate methods: quicksort, mergesort, heapsort. Sorting algorithms for particular inputs.

  3. Algorithmic Techniques

    1. Divide & Conquer.
    2. Generalization of functions.
    3. Elimination of Recursion: folding / unfolding; parameter immersion.
    4. Application of algorithms and data structures to other problems.