Moje ulubione darmowe kursy do dogłębnej nauki struktur danych i algorytmów

by javinpaul

Struktury danych i algorytmy to jedne z najistotniejszych tematów dla programistów, zarówno do zdobycia pracy, jak i do dobrego radzenia sobie w pracy. Dobra znajomość struktur danych i algorytmów jest podstawą pisania dobrego kodu.

Jeśli znasz podstawowe struktury danych, np. tablicę, łańcuch, listę połączoną, drzewo, mapę, oraz zaawansowane struktury danych, takie jak tryby i drzewa samozrównoważone, np. drzewa AVL, itd, będziesz wiedział, kiedy użyć jakiej struktury danych i obliczyć koszt procesora i pamięci twojego kodu.

Nawet jeśli nie musisz pisać własnej tablicy, listy połączonej lub hashtable, biorąc pod uwagę, że każdy główny programistyczny SDK dostarcza je, np. JDK lub biblioteka C++ STL, będziesz musiał je zrozumieć, aby móc ich użyć we właściwym miejscu.

Użycie właściwej struktury danych może drastycznie poprawić wydajność algorytmu.

W zasadzie wszyscy powinniśmy uczyć się struktur danych i algorytmów w naszych szkołach i na uczelniach, ale rzadko kiedy jest to poruszane. Większość programistów, w tym ja, zapoznaje się tylko ze strukturami danych na naszych kursach informatyki, ale tak naprawdę nie poznaliśmy ich znaczenia w świecie rzeczywistym i dlatego nie rozumiemy ich lepiej.

Dla nas są to tylko algorytmy i struktury danych np. jakaś koncepcja, a nie narzędzie, którego można użyć do pisania dobrych programów. Nie wiedzieliśmy, że Facebook będzie ich używał do przechowywania naszych danych lub że Google będzie ich używał do przechowywania stron internetowych i łączenia z zapytaniami wyszukiwania.

Anyway, nigdy nie jest za późno.

Jeśli uważasz, że Twoja wiedza na temat struktur danych nie jest na najwyższym poziomie lub chcesz poprawić swoją wiedzę na temat struktur danych, to trafiłeś we właściwe miejsce.

Wcześniej podzieliłem się kilkoma darmowymi książkami do nauki struktur danych i algorytmów, a w tym artykule dowiesz się o niektórych z najlepszych kursów dotyczących struktur danych i algorytmów, które są dostępne za darmo online.

Free Courses to Learn Data Structures and Algorithms

Oto moja lista niektórych z najlepszych kursów do nauki struktur danych i algorytmów, które są również darmowe. Wielu programistów uważa, że darmowe zasoby nie są dobre, co nie jest prawdą.

Mimo, że czasami nie dorównują jakością i zasięgiem płatnym zasobom, są w rzeczywistości najlepszymi zasobami na początek.

Możesz użyć tych kursów do zapoznania się z podstawowymi strukturami danych i nauczyć się kilku podstaw.

Niektóre z nich są szczególnie dobre z punktu widzenia wywiadu, więc możesz ich użyć obok jakiejkolwiek książki, której używasz, aby przygotować się do rozmowy o pracę z programistą.

Kurs #1: Data Structure Concepts in C

Jest to kolejny darmowy, internetowy kurs szkoleniowy dotyczący algorytmów i struktur danych, którego celem jest nauczenie podstawowych struktur danych w programowaniu komputerowym.

Struktury danych nauczane w tym kursie obejmują stos, kolejkę i listę połączoną przy użyciu języka programowania C.

Głównym celem tego kursu jest sprawienie, aby studenci i inżynierowie oprogramowania wizualizowali, jak działają różne struktury danych.

Koncepcje struktur danych w C

Nie jest to wyczerpujący kurs, ale dowiesz się o stosie, kolejce i liście połączonej.

W skrócie, jest to świetny kurs dla programistów początkujących w strukturach danych oraz tych, którzy dopiero poznają język programowania i chcą poznać podstawy działania struktur danych.

Kurs #2: Algorytmy Część 1 – Coursera

Jest to pierwsza część dwuczęściowej serii kursów obejmujących algorytmy i struktury danych na Courerze autorstwa Roberta Sedgewicka.

W tej części poznasz podstawowe struktury danych, takie jak listy połączone, stosy, kolejki, drzewa binarne i tablice hash, oraz algorytmy wyszukiwania i sortowania, takie jak wyszukiwanie binarne, quicksort, mergesort, insertion sort itp.

Algorytmy Część 1

Poznasz także podstawowe struktury danych i algorytmy używane w codziennych zastosowaniach oraz zrozumiesz kompromisy związane z wyborem każdej struktury danych wraz z algorytmami przeszukiwania, pobierania i aktualizacji.

Wszystkie funkcje tego kursu są dostępne za darmo, ale nie oferuje on certyfikatu po jego ukończeniu.

Kurs #3: Algorytmy – Część 2

Jest to druga część dwuczęściowej serii darmowych kursów online Coursera obejmujących struktury danych i algorytmy autorstwa Roberta Sedgewicka i Kevina Wayne’a, obaj są profesorami informatyki.

Robert Sedgewick jest również autorem książki Algorithms 4th Edition, jednej z najpopularniejszych książek na temat algorytmów dla programistów Java.

W tej części poznasz algorytmy przetwarzania grafów i ciągów znaków.

Poznasz również niektóre zaawansowane struktury danych i algorytmy wykorzystywane w tworzeniu aplikacji.

Mówiąc o dowodzie społecznym, zarówno Algorithms Part 1 jak i Algorithms Part 2 są bardzo polecanymi kursami i mają imponujące recenzje i oceny.

Algorithms – Part 2

Kurs #4. Struktury danych w Javie

To jest wprowadzający kurs online na temat struktur danych, algorytmów i analiz złożoności. Nauczy cię projektowania, implementacji i analizy podstawowych struktur danych przy użyciu języka Java.

Najlepszą częścią tego kursu jest liczba praktycznych przykładów i to, że skupia się on na intuicji, a nie na formułach i dowodach matematycznych.

Struktura danych w Javie

Kurs stanowi dobre wprowadzenie do „analizy złożoności”, która umożliwia wykrycie słabo (i świetnie) działającego programu, nawet bez potrzeby wykonywania go.

To wszystko o niektórych darmowych kursach struktury danych i algorytmów dostępnych online. Możesz użyć tych kursów do nauki struktur danych i algorytmów w swoim własnym tempie.

Nie wszystkie mogą być kompleksowe, ale zapewniają dobre wprowadzenie. Gdy przejdziesz przez te kursy, możesz wybrać dobrą książkę, taką jak Wprowadzenie do algorytmów, aby dalej uzupełniać swoją wiedzę.

Kurs #5. Easy to Advanced Data Structures

Uaktualnienie: ten kurs nie jest już darmowy, ale jest to świetny kurs i może być tego wart dla Ciebie. Ta struktura danych i kursy algorytmów z Udemy jest dla wszystkich tych ludzi, którzy chcą nauczyć się struktur danych od absolutnego poziomu podstawowego do zaawansowanego.

Ten kurs nie oczekuje od ciebie żadnej wcześniejszej wiedzy na temat struktur danych, ale podstawowa wcześniejsza znajomość Javy jest pomocna.

Autor @William Fiset jest inżynierem oprogramowania w Google i byłym finalistą światowego ACM-ICPC i ma doskonałe umiejętności programowania i rozwiązywania problemów.

Mówiąc o dowodzie społecznym, kurs ma ponad 25K studentów i średnio 4,1 oceny z 683 ocen, co jest imponujące.

W skrócie, jest to kompletny przewodnik do nauki wszystkiego, co trzeba wiedzieć o strukturach danych.

Easy to Advanced Data Structures

Jest to również idealny kurs dla studentów informatyki i pracujących specjalistów oprogramowania, którzy chcą nauczyć się struktur danych i algorytmów z perspektywy wywiadu.

Więc, jeśli szukasz pracy w firmach opartych na produktach, takich jak Amazon, Google, Microsoft lub Facebook, możesz użyć tego kursu, aby rozpocząć swoje przygotowania.

Dalsza nauka

  • Struktury danych i algorytmy: Deep Dive Using Java
  • Data Structure and Algorithms – Part 1 and 2
  • 10 Books to Prepare Technical Programming/Coding Job Interviews
  • 10 Algorithm Books Every Programmer Should Read
  • Top 5 Data Structure and Algorithm Books for Java Developers
  • From 0 to 1: Data Structures & Algorithms in Java
  • Data Structure and Algorithms Analysis – Job Interview

Closing Notes

Thanks. Zrobiłeś to do końca artykułu. Powodzenia w swojej podróży programowania! To na pewno nie będzie łatwe, ale stosując się do tych kursów, jesteś o krok bliżej do opanowania struktury danych i algorytmów niż inni.

Jeśli podoba Ci się ten artykuł, to proszę podzielić się z przyjaciółmi i kolegami, i nie zapomnij śledzić javinpaul na Twitterze!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.