Video: Dynamic Programming (Bulgarian)

Lecture about dynamic programming. The video is recorded in 2015 in Bulgarian.

Topics covered:

  • Minimum and Maximum
  • Divide and Conquer
  • Dynamic Programming Concepts
  • Fibonacci Numbers
  • Subset Sum Problem
  • Longest Increasing Subsequence
  • Longest Common Subsequence
  • Other Dynamic Programming Usages

Read More


Video: Graphs and Graph Algorithms (Bulgarian)

Lecture about graphs and graph algorithms. The video is recorded in 2014 in Bulgarian.

Topics covered:

  • Graph Definitions and Terminology
  • Representing Graphs
  • Graph Traversal Algorithms
  • Connectivity
  • Dijkstra’s Algorithm
  • Topological sorting
  • Prim and Kruskal

Read More


Video: Combinatorics (Bulgarian)

Lecture about combinatorial algorithms. The video is recorded in 2012 in Bulgarian.

Topics covered:

  • Definitions in Combinatorics
  • Permutations
  • Combinations
    • Pascal’s Triangle
  • Binary Vectors

Read More


Video: Sorting and Searching Algorithms (Bulgarian)

Lecture about sorting and searching algorithms. The video is recorded in 2013 in Bulgarian.

Topics covered:

  • Sorting
    • Sorting and classification
  • Review of the most popular sorting algorithms
    • Quick sort
    • Merge sort
    • Bubble sort
    • Bucket sort
  • Searching
    • Linear search
    • Binary search
    • Interpolation search
  • Shuffling

Read More


Video: Recursion (Bulgarian)

Lecture about recursion and recursive algorithms. The video is recorded in 2013 in Bulgarian.

Topics covered:

  • What is Recursion?
  • Calculating Factorial Recursively
  • Generating All 0/1 Vectors Recursively
  • Finding All Paths in a Labyrinth Recursively
  • Recursion or Iteration?
    • Harmful Recursion
    • Optimizing Bad Recursion

Read More