> ...and Shor's Algorithm
Better start with Simon's algorithm (solving Simon's problem) [0]; it already contains a lot of ideas that you need to understand Shor's algorithm, while not having a lot of technicalities. Then progress to Shor's algorithm, and then to Kitaev's algorithm [1] (link from [2]). The latter solves the Abelian stabilizer problem - this problem contains the more abstract mathematical essence of a lot of quantum algorithms.
[0] https://en.wikipedia.org/wiki/Simon%27s_problem
[1] https://arxiv.org/abs/quant-ph/9511026
[2] https://en.wikipedia.org/wiki/Hidden_subgroup_problem#Instan...