Data Structures & Algorithms

Please never ever ask for an increase in your grades. Never.
But you are always welcome to ask for explanations. Always.

Syllabus

CodeBlocks Compiler - simply unpack it and run CodeBlocks.exe

OnLine Compiler

Lesson 1

  1. Complexity of algorithms: time & space (pdf)
  2. Principles of Recursion. Recursive programs (pdf)

Lesson 2

  1. Exponentiation (pdf)
  2. Fibonacci (pdf)
  3. GCD & LCM (pdf)
  4. Prime numbers (pdf)

Lesson 3

  1. Recursive Functions (pdf)

Lesson 4

  • Dynamic Programming linear (pdf)
  • Dynamic Programming square (pdf)
  • Problem 798: Platforms (java)
  • Lesson 5

  • Stack (pdf)
  • Queue, Deque (pdf)
  • Problem 6122: Simple stack (java)
  • Lesson 6

  • Linked List (pdf)
  • Linked List implementation (java)
  • Problem 9898: LinkedList Sum (java)
  • Problem 10044: LinkedList Merge (java)
  • Lesson 7

  • Binary Trees (pdf)
  • Problem 10059: Tree InOrder Traversal (java)
  • Problem 10063: Tree Find (java)
  • Lesson 8

  • Sorting (pdf)
  • Problem 972: Sorting Time (java)
  • Lesson 9

  • Graphs representation (pdf)
  • Problem 3981: From adjacency matrix to adjacency list (java)
  • Lesson 10,11

  • Depth First Searh (pdf)
  • Lesson 12

  • Depth First Searh on Grids (pdf)
  • Lesson 13

  • Breadth First Searh (pdf)
  • Lesson 14

  • Dijkstra algorithm (pdf)