OleguerCanal / Algorithmics

Re-implementation and notes of most famous data structures, algorithms and memory management in c++: Sorting, Graph, Search, Metaheuristics...

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Algorithmics

Slowly moving (and improving) all content to this website

Data structures and common algorithms playground. As well as some theory notes. Only dependencies are STD library and MPI for parallel implementations. As always more an exercise for me to think their implementation rather than anything useful.

NOTE: Some theoretical content and ideas are from The Cherno YouTube channel. Likewise, other ideas are from this book.

More algorithm implementations on my LeetCode

Theory

Lists

Arrays

Tree Traversal

Recursive

Iterative

Graph Search

Uninformed:

  • BFS (Breath First Search)
  • DFS (Depth First Search)

Informed:

Without heuristic:

  • Dijkstra (Expand lowest acquisition_cost node)

Heuristic available:

  • Greedy (Expand lowest heuristic node)
  • A* (Expand lowest heuristic + acquisition_cost node)

Metaheuristics

  • Genetic algorithm
  • Simulated Annealing
  • Ant Colony
  • Tabu Search

Data Structures

To test an algorithm

If serial algorithm: ./run_serial.sh <path_to_cpp_file>

If parallel algorithm: ./run_parallel.sh <path_to_cpp_file> <processors_to_use>

About

Re-implementation and notes of most famous data structures, algorithms and memory management in c++: Sorting, Graph, Search, Metaheuristics...


Languages

Language:C++ 65.7%Language:HTML 17.9%Language:CSS 8.3%Language:Ruby 6.7%Language:Shell 1.4%