What is the most appropriate ML algorithm for creating recommendations
You can use Collaborative Filtering, and specifically its memory based approach.
The problem that you have discussed in the question should probably be solved using User-Item collaborative filtering which will calculate similarity between users and then recommend the item. The similarity can be be calculated using cosine similarity or Pearson's similarity formulae. 
The best thing about this approach is that no training is required here but if you wish to have very large data, this approach's performance decreases.