This project seeks to describe in depth the bases of the physical implementation of quantum computers and how this shapes the implementation of the different algorithms of quantum programming. This will be exemplified in the investigation of search algorithms, factorization and Fourier transformation. At this point it should be clarified that despite the advances that have occurred during four decades of quantum computing, there is still no large-scale physical implementation, so the algorithms can only be evaluated using a simulator. However, this still allows them to be studied theoretically, particularly in terms of regarding its computational complexity.