Jak stać się lepszym w algorytmach JavaScript

Jak nauczyć się algorytmów zapisu

Algorytmy zapisu mogą być przytłaczające, nawet dla najbardziej doświadczonego programisty. Wielu z nich zapamiętuje różne podejścia do konkretnego problemu. Co jednak, jeśli zamiast tego spojrzymy na diagram z przewodnikiem pokazujący, jak spojrzeć na problem, abyśmy mogli go naprawić?

W tym artykule analizujemy algorytmy: czym one są, do czego są wykorzystywane zasoby i jak rozpocząć naukę pisania algorytmów.

Co to jest algorytm?

Algorytm to zestaw instrukcji. Jeśli porównasz algorytm z przepisem, możesz zobaczyć, jak wygląda algorytm:


Przepis na burgera

Czas przygotowania: 10 minut

Wkład:

Składniki [] - lista artykułów zawierająca nazwę artykułu oraz ilość niezbędne

Np: [{nazwa: „wołowina, 85/15”, ilość: „2 funty” }, {nazwa : "amerykański ser, ilość:" 8 plasterków "} itp.]

Wskazówki [] - lista ciągów opisujących kroki do zakończenia i zaprezentowania hamburgerów głodnym

Przykład: [„Wyrzuć mięso i podziel je na 8 różnych sekcji –„ Zwiń sekcje w kulkę –„ Spłaszcz każdą kulkę w kształt dysku. Wszystkie dyski powinny mieć ten sam rozmiar „itd.]

Wydajność: 8 porcji


An Algorytm napisany w kodzie zakłada, że znasz przynajmniej jeden język programowania i jego popularne metody, strukturę danych i sposób jego użycia. Koncepcja jest podobna do tego, w jaki sposób przepis zakłada, że znasz pewne metody gotowania i jak korzystać z akcesoriów kuchennych.

Algorytm ma dane wejściowe i wyjściowe. Wynik (rozwiązanie dużego problemu) pochodzi z rozwiązania małych problemów po drodze.

Do czego służy algorytm?

Algorytmy są używane wszędzie, ponieważ rozwiązują problemy. tworzenie komputerów i stron internetowych są one używane podczas pisania kodu, który mówi komputerowi, aby coś zrobił.

Gdybyśmy mieli na przykład listę nazw, możemy użyć algorytmu sortowania, takiego jak sortuj bąbelkowe do sortuj nazwiska według imienia lub nazwiska. Możemy również użyć algorytmu wyszukiwania binarnego, aby wyszukać nazwisko na tej samej liście. To tylko kilka standardowych algorytmów, z których możesz skorzystać.

Pamiętaj, że nauka pisania algorytmów nigdy nie jest tak naprawdę ukończona po ukończeniu kursu – po prostu stajesz się lepszy. Zobaczymy, jak przybliżyć Cię do pisania algorytmów w następnej sekcji.

Jak nauczyć się pisać algorytm: krok po kroku

Oto zalecane szczegółowe wskazówki dotyczące nauki pisania algorytmów.

1. Dowiedz się język programowania
Java, JavaScript i Python to wszystkie popularne języki „Ęã” ãużywany do pisania algorytmów komputerowych. Wybierz język i naucz się go od podszewki.

Uwzględnij te pojęcia, aby zrozumieć wybrany język:

2. Struktury danych

Musisz dobrze znać struktury danych, aby zwiększyć wydajność algorytmów . Upewnij się, że wiesz, do czego służy każda struktura danych i jak działa.

3. Algorytmy pisania: proces rozwiązywania problemów

Poznałeś podstawowy język programowania i wystarczającą liczbę struktur danych, aby zacząć. Gratulacje ! Zacznij.

Zacznij od małych rzeczy. Ważne jest, aby zrozumieć cztery koncepcje zawarte w traktacie George`a Pòlyi o rozwiązywaniu problemów (patrz Zasoby . Tutaj również dodano kilka kroków w celu analizy ogólnego podejścia:

George Pòlya`s przewodnik rozwiązywania problemów

  1. Zrozumienie problemu
  2. Czego szukasz?
  3. Weź problem i wyjaśnij go własnymi słowami – spróbuj wyjaśnić komuś, że nie są one dobre technicznie.
  4. Wprowadź problematyczne słowa kluczowe, które pomogą Ci zbudować podstawowy plan – bez kodu. Tylko kroki potrzebne do uzyskania odpowiedzi.
  5. Powtórz ten plan, aby utworzyć rozwiązanie kodu.
    1. Jeśli nie możesz znaleźć rozwiązania, wróć do kroku n. upewnij się, że rozumiesz problem. Czy zwracasz prawidłowe dane wyjściowe? jest coś, co mogłeś przegapić w monicie kodowania?
  6. Jaka jest ocena Big O Twojego rozwiązania? Jest coś, co możesz zrobić, aby rozwiązanie stało się bardziej wydajnym algorytmem w odniesieniu do złożoności przestrzennej lub złożoność czasowa ?

4. Rozpocznij mały

Zaczyna się od podstawowego algorytmu wyszukiwania, który iteruje przez ciąg lub tablicę, aby znaleźć wpis. Jeśli wpis nie zostanie znaleziony, zwraca false. Jeśli zostanie znaleziony, zwraca prawdę.

Opracuj ten algorytm dla początkujących i użyj innych struktur danych, aby zobaczyć, jak inni mogą potrzebować innego procesu. Spróbuj posortować wpisy, aby użyć bardziej wydajnych algorytmów wyszukiwania.

Użyj witryn do ćwiczenia algorytmów, takich jak te wymienione w sekcji zasobów, aby poprawić swoje umiejętności.

5. Przełącz się na trudniejsze algorytmy

strong>

Po kilku iteracjach możesz przełączyć się na trudniejsze algorytmy. W tym momencie powinieneś być w stanie odtworzyć niektóre algorytmy sortowania, w tym sortowanie bąbelkowe i sortowanie przez scalanie. Badania binarne powinny być również częścią Twojego codziennego doświadczenia w programowaniu.

Korzystaj z witryn, aby ćwiczyć algorytmy, aby doskonalić swoje umiejętności. Sprawdź się z nieco trudniejszymi oznaczonymi problemami, aby zobaczyć, jak sobie radzisz.

Najlepsze kursy i szkolenia z algorytmów

Każdy uczy się trochę inaczej. Oto niektóre z najlepszych dostępnych kursów i szkoleń dotyczących algorytmiki. Niektóre są płatne, ale są też darmowe. Ta lista nie jest uporządkowana w określonej kolejności.

Kursy algorytmów online

Oto niektóre z najlepszych kursów dotyczących algorytmów dostępnych online:

Specjalizacja w algorytmach, Uniwersytet Stanforda

  • Coursera
  • 4 kursy:
    • Podział, aby rządzić, sortować i wyszukiwać oraz algorytmy losowe
    • Wyszukiwanie graficzne, krótsze ścieżki i struktury danych
    • Algorytm zachłanny, drzewa minimalnego pokrycia i planowanie dynamiczne
    • Ponowne przeglądanie krótszych tras, problemy NP-Complete i co zrobić z ich tematem
  • 4 miesiące
  • Warunki wstępne: Kurs jest niezależny od języka, ale zakłada, że znasz przynajmniej jeden język programowania, podstawowe dane i wystarczająco dużo matematyki, aby wiedzieć, jakie są dowody.
  • Certyfikat: 49 USD / miesiąc do ukończenia; Audyt: BEZPŁATNY

Profesor Tim Roughgarden z Uniwersytetu Stanforda prowadzi kursy podyplomowe w zakresie algorytmów na Coursera. Kursy te obejmują prawie wszystko, czego potrzebujesz, aby dobrze zrozumieć algorytmy, abyś mógł dobrze radzić sobie podczas wywiadów technicznych.

Algorytmy, IIT Bombay

  • edX
  • 6 tygodni, 6-8 godzin / tydzień
  • Warunki wstępne: Podstawowe zrozumienie struktur danych
  • Zweryfikowany certyfikat: 149 USD; Bez certyfikatu: BEZPŁATNIE

Ten kurs jest częścią programu IIT Bombay Fundamentals of Computer Science XSeries. Omówione tutaj tematy obejmują sortowanie i wyszukiwanie, algorytmy liczbowe, algorytmy łańcuchowe, algorytmy geometryczne i algorytmy graficzne.

Bezpłatne kursy na temat algorytmów

Wprowadzenie do algorytmów

  • Udacity
  • Kalifornia. 4 miesiące, samouczek
  • Wymagania: przynajmniej jeden język programowania; Kurs wykorzystuje Pythona w przykładach
  • BEZPŁATNY

Jest to darmowy kurs na temat algorytmów autorstwa Michaela Littmana z Udacity. Użyj sześciu stopni fenomenu Kevina Bacona, aby pokazać, jak działają algorytmy. Pomyśl o sześciu stopniach oddzielenia – mówi się, że wszystkie są od siebie oddalone o sześć lub mniej więzi społecznych. Użyj tej samej koncepcji, ale z filmami i aktorami Kevina Bacona.

FreeCodeCamp, podstawowy skrypt algorytmu

  • FreeCodeCamp
  • Samodzielna nauka
  • Warunek wstępny: podstawowa znajomość JavaScript i danych
  • BEZPŁATNE

Ta seria ćwiczeń FreeCodeCamp pomoże Ci odnieść sukces, rozwiązując małe problemy, zanim przejdziesz do tych trudnych. Ćwiczenia we własnym tempie wykorzystują platformę edukacyjną FreeCodeCamp do testowania kodu.

A wizualne wprowadzenie do algorytmów

  • Edukacyjne
  • Samodzielna nauka, głównie na podstawie tekstu i przykładów
  • Wymagania: JavaScript, Python, C ++ lub Java
  • BEZPŁATNIE

W tym bezpłatnym kursie wykorzystano pomoce wizualne i wideo do zilustrowania działania algorytmów. Zintegrowane środowiska kodu sprawiają, że wrażenia użytkownika są całkiem dobre. Uwzględniono potencjalne rozwiązania.

Książki o algorytmach

Istnieje kilka książek, które pomogą Ci stać się lepszym pisarzem algorytmów. Wiele z nich jest dostępnych w lokalnej księgarni i na Amazon.

`Algorytmy Grokking`

` Ilustrowany przewodnik dla programistów i ciekawskich `

Autor: Aditya Bhargava

Algorytmy Grokkinga to jedna z najlepszych książek o algorytmach drukowanych. Stworzony przez artystę, który został programistą, Bhargava stosuje ilustrowane podejście, aby pomóc Ci intuicyjnie zrozumieć lub wykorzystać algorytmy. Ćwiczenia na końcu każdego rozdziału pomagają utrwalić treść książki.

„Algorytmy w pigułce , 2. ed. `

` Praktyczny przewodnik `

Autor George T. Heineman, Gary cal, Stanley Selkow

 Algorytmy w skrócie okładce

Ta książka opiera się na podejściu do projektowania dowiedz się, kiedy wdrażać wydobywane algorytmy. Nauczysz się kodować rozwiązania, a następnie ulepszać je za pomocą zaawansowanych struktur danych. Rozwiązania są w Ruby, Java, C++ i C, ale można je łatwo przetłumaczyć na ulubione języki.

`Algorytmy, wyd. `

Autor: Robert Sedgwick i Kevin Wayne

 Algorytmy pokrywa czwarta edycja

Czwarta edycja algorytmów Sedgewicka i Wayne`a to fantastyczne wprowadzenie do świata algorytmów. Autorzy przeglądają ponad 50 najważniejszych algorytmów, aby Cię zauważyć. Nauczyciele Princeton opracowali online kurs , który dobrze uzupełnia ten tekst.

Zasób

Jak stać się lepszym w algorytmach JavaScript JavaScript: Questions

Shop

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method