Eu discordo para o que a maioria das respostas diz. Enquanto eu não esperaria que um programador de qualquer nível pudesse aparecer sozinho no algoritmo de Dijkstra, eu definitivamente esperaria que ele inventasse alguma maneira (eficiente ou não) para resolver o problema.
Por exemplo, você disse, como comentário lateral, que conseguiu criar bolhas por conta própria. Eu sei que é o mais fétido dos algoritmos de classificação, mas você encontrou uma maneira de resolver um problema, e é isso que eu espero que os programadores sejam capazes de: encontrar uma maneira de resolver problemas.
É claro que investigar e encontrar soluções feitas por outras pessoas também funciona, mas o extremo desse ponto é um cara que não pensa em si mesmo e cujos programas são um compêndio de pesquisas no Google.
Eu acho que estou soando mais duro do que realmente quero, mas meu ponto é: eu esperaria que um programador fosse criativo o suficiente para chegar a uma solução para um problema, mesmo que a solução seja boba ou confusa. / p>
Então, voltando ao seu caso, eu não acho que você deveria ter que inventar o algoritmo de Dijkstra, mas se você tem a habilidade de escrever um algoritmo para experimentar várias possibilidades e encontrar o caminho mais curto sem terminar em um loop infinito, então você tem a minha aprovação.
(BTW minha aprovação conta na mesma ordem de importância que um cupom de lavagem de carros grátis.)