Jest całkowicie możliwe, aby spędzić większość / całą swoją karierę wykonując znaczącą, przydatną pracę, przy minimalnej znajomości algorytmów i struktur danych.
Minimalny poziom wiedzy o algorytmach i datastructures, w celu odnieść sukces, będzie wymagać, aby:
- bądź świadomy większości z nich (w tym od czasu do czasu czytając nowe, gdy tylko wyjdą)
- wiedzieć, gdzie znaleźć dobre, sprawdzone, działające wdrożenia
- być w stanie porównać algorytmy i ich przydatność
- być w stanie poprawnie skopiować jeden z przykładu typu open source do określonego środowiska, z niewielką poprawką
Nie ma * maksimum * . Jeśli chcesz, możesz przenieść swoje studia na stopień doktora i dalej. Jego przydatność jest bezpośrednio związana z rodzajem pracy, którą jesteś zainteresowany, oraz z którą pracą uważasz za najbardziej interesującą i satysfakcjonującą.
To powiedziawszy, jako szorstka (ale nie absolutna) wytyczna, im bardziej niski poziom, więcej zasobów i mniej zautomatyzowany będzie język, struktura i aplikacja, nad którymi pracujesz, tym wyższy wymagany poziom umiejętności, jeśli chodzi algorytmów i struktur danych. Na przykład, implementacja algorytmu Ukkonen w asemblerze prawdopodobnie, ale niekoniecznie, będzie oznaczać, że będziesz potrzebować zrozumienia na poziomie mistrzowskim algorytmu i struktur danych.
W konkretnej sytuacji, począwszy od środowiska programistycznego Java, aż po pracę nad IO, przy czym wszystkie inne rzeczy są jednakowe, spodziewaj się nieco większego zapotrzebowania na ogólne rozumienie algorytmów i struktur danych. Będziesz chciał mieć możliwość wydajnego działania na urządzeniu z mniejszą ilością dostępnych zasobów. Ponadto spodziewaj się, że dodasz kilka nowych kategorii do swojego arsenału - przede wszystkim będziesz chciał dowiedzieć się więcej o zarządzaniu pamięcią.