Eu acredito que é muito importante conseguir visualizar o funcionamento dos algoritmos para entender bem o funcionamento deles.

Na época que eu fiz a faculdade, não tinha muitos recursos digitais pra isso, então, basicamente, eu pegava uma folha de papel e desenhava o passo a passo de como o algoritmo se comportaria com uma array aleatório...era trabalhoso, mas funcionava.

Hoje em dia, tem alguns sites que mostram isso já, e fazem comparação de eficiência também:

estava pensando que talvez eu devesse olhar mais o código em si; a imagem do funcionamento eu consigo criar, porém quando transcrevo em código nem sempre sai como o imaginado e acaba que fico muito dependende de um código que outra pessoa está fazendo.

obrigado pelos links, irei checar todos

Entendi. Também é importante entender que a prática é fundamental, só por ler um artigo e entender o conceito sobre ele não implica que automáticamente você será capaz de fazer um algoritmo perfeito, você precisa praticar também. Não se aprende a tocar violão só lendo partitura, você precisa praticar os acordes também, na programação é a mesma coisa. Além disso, algumas coisas possuem pré-requisitos. Se você quer fazer um algoritmo bem feito, não basta conhecer a linguagem, você precisa conhecer design patterns e um monte de outras coisas para tomar as decisões corretas e escrever um bom código.