Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
1 result

algo-bsc

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Romain Vuillemot authored
    416f720a
    History

    UE5 Fundamentals of Algorithms

    Instructor: Romain Vuillemot

    Course Description

    • Basis of algorithms (sorting, search) and data structure (arrays, lists)
    • Justification of the choice of data structures
    • Calculate the complexity of an algorithm
    • Optimize algorithms
    • Writing programs using algorithms

    Outline

    Lecture 1 - Data structures and complexity | notebook | exercices

    📖 Python for Everybody chapter 9 (dictionnaries), chapter 10 (tuples)

    Lecture 2 - Recursion | notebook | exercices

    📖 Think Python chapter 5 (Conditionals and recursion) and Real Python recursion.

    Lecture 3 - Lists, search, sort | notebook | exercices

    📖 Think Python chapter 11 (lists), chapter 12 (tuples), Python for Everybody chapter 8 (lists) and Real Python lists and sorts.

    Lecture 4 - Programming strategies: divide and conquer | notebook | exercices

    📖 Divide & conquer

    Lecture 5 - Programming strategies: greedy algorithms

    📖 Greedy algorithms

    Lecture 6 - Programming strategies: dynamic programming

    📖 Dynamic programing

    Lecture 7 - Stacks and queues

    chapter 1.2.1 (Queue/Stacks), Open Data Structures


    📝 Assignment 1 - Analyzing a dataset


    Lecture 8 - Binary trees

    📖 Problem Solving with Algorithms chapter 6 (trees and tree algorithms)

    Lecture 9 - Binary trees traversals

    📖 Problem Solving with Algorithms chapter 6.7 (trees traversal)

    Lecture 10 - Trees

    Lecture 11 - Trees algorithms

    Lecture 12 - Graphs

    Lecture 13 - Graphs spanning trees

    Lecture 14 - Graphs matrices

    Lecture 15 - Graphs shortest paths

    Books and ressources

    Other ressources: