Błagam, by różnić się tym, co mówi większość odpowiedzi. Chociaż nie spodziewałbym się, że programista na dowolnym poziomie będzie w stanie sam wymyślić algorytm Dijkstry, zdecydowanie oczekiwałbym, że wymyśli jakiś sposób (skuteczny lub nie) rozwiązania problemu.
Na przykład powiedziałeś jako komentarz boczny, że sam możesz wymyślić sortowanie bąbelkowe. Wiem, że to najtrudniejszy z algorytmów sortowania, ale znalazłeś sposób na rozwiązanie problemu i właśnie tego oczekuję od programistów: znaleźć sposób na rozwiązanie problemów.
Oczywiście, sprawdzanie i znajdowanie rozwiązań wykonanych przez innych również działa, ale skrajność tego punktu jest facetem, który nie myśli o sobie i którego programy są kompendium wyszukiwań w Google.
Wydaje mi się, że brzmię ostrzej, niż chciałbym, ale mam na myśli: spodziewałbym się, że programista będzie wystarczająco kreatywny, aby wymyślić rozwiązanie problemu, nawet jeśli rozwiązanie jest błędne lub nieuporządkowane.
Wracając do sprawy, nie sądzę, że powinieneś wymyślić algorytm Dijkstry, ale jeśli masz możliwość napisania algorytmu, wypróbowania kilku możliwości i znalezienia najkrótszej ścieżki bez kończenia się na nieskończonej pętli, to masz moją aprobatę.
(BTW moja aprobata liczy się w tym samym porządku ważności co kupon na bezpłatną myjnię samochodową).