Algorithm Engineering and Data Structures

Mis à jour le

Responsable(s) : M. Stefano SECCI

Code Cnam : USEEU5

Envie d'en savoir plus sur cette formation ?

Afin d’obtenir les tarifs, le calendrier de la formation, en distanciel, en présentiel, le lieu de la formation et un contact, remplissez les critères suivants :

Afficher le centre adapté à mes besoins

Afin d’obtenir les tarifs, le calendrier de la formation et le lieu de la formation, remplissez les critères suivants :

  • Durée : 50 heures (+/- 10%)
  • Alternance
  • 6 crédits

Présentation

Public, conditions d'accès et prérequis

Prérequis

Basic algorithms and data structures, Programming, Basic algebra and probability.

Objectifs

The goal of the course is to teach students how to design and analyze advanced algorithms and data structures for the efficient solution of combinatorial problems involving high volumes of basic data types, such as integers, strings, trees, and graphs. 

Compétences et débouchés

Informations pratiques

Contact

Programme

Contenu

The design and analysis of advanced algorithms and data structures will involve basic data types (such as integers, strings, trees, and graphs) and several models of computation - such as RAM, 2-level memory, cache-oblivious, streaming - in order to take into account the architectural features and the memory hierarchy of modern PCs and the availability of Big Data upon which those algorithms could work on. Engineering considerations spurring from the implementation of the proposed algorithms and from experiments published in the literature will be also discussed.

 

Topics:

  • Sorting and Permuting atomic items in a disk-based setting: Multi-way mergesort, multi-way quicksort
  • Sorting strings: Multi-key quicksort, LSD-radix sort, MSD-radix sort
  • Randomised sampling in a streaming scenario
  • Hashing: universal, perfect, minimal ordered and perfect, Bloom filters
  • Randomized data structures: Treaps and skip lists
  • String data structures: Tries, Ternary search trees, Patricia Tries, Suffix arrays and suffix trees
  • Prefix- and substring-based searches over textual collections
  • Data compression: Integer codes, Elias-Fano coding, Canonical Huffman coding, Arithmetic coding, Lempel-Ziv parsing (gzip), Burrows-Wheeler Transform (bzip)

Modalités d'évaluation

Written exam