Nauka struktur danych i algorytmów

Nauka struktur danych i algorytmów
KK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Jestem programistycznym samoukiem, coś tam grzebie prawie od roku, całkiem przyjemnie mi się robi zadania algorytmiczne typu leetcode. Aczkolwiek zetknąłem się z ścianą - dotychczas robiłem te zadania na logikę, nie mając teorii za sobą i teraz spotykam problemy które w constraints mają określone złożoności czasowe oraz pamięciowe i wymuszają aby użyć danego algorytmu albo techniki (ostatnio się dowiedziałem o operacjach in-place zamiast tworzenia dodatkowych struktur) o których nie mam pojęcia i jest to blokada, bo inaczej rozwiązanie nie przechodzi. Stąd moje pytanie - skąd czerpać wiedze na ten temat nie studiując informatyki? Czy polecacie jakieś kursy lub książki dla żółtodzioba?

Przy okazji zapytam czy macie jakieś porady jak optymalnie podchodzić do nauki tych tematów - na czym się skupiać, czego unikać, co dla was było pomocne lub game changerem?

obscurity
  • Rejestracja: dni
  • Ostatnio: dni
2

Jak wykupisz premium na leetcode to masz krok po kroku wytłumaczone podejście, algorytmy i sposób rozwiązania.
Bez premium wystarczy że wkleisz treść zadania do jakiegoś AI i też ci wytłumaczy jakie umiejętności testuje zadanie i jaka wiedza jest wymagana.
Możesz też zerknąć na wysłane rozwiązania, nauczyć się z nich, poczytać na wiki o użytych algorytmach itp. Nie kopiuj rozwiązania tylko spróbuj rozwiązać samemu z nową wiedzą za kilka dni

Kuba Kub napisał(a):

ostatnio się dowiedziałem o operacjach in-place zamiast tworzenia dodatkowych struktur

czy tego typu rzeczy trzeba się dowiadywać? To chyba na chłopski rozum można ogarnąć tego typu rzeczy? Może zacznij od zagłębienia się w to jak przechowywane są dane w pamięci i ogarnięcie podstaw struktur danych.

Leetcode to takie matematyczno programistyczne łamigłówki, z pracą programisty nie mają zbyt dużo wspólnego. Chociaż może ci się to przydać na interview do GAYMAN to nie spędzałbym nad tym całego czasu. Kiedyś jak rynek był spokojniejszy i jeszcze nie było AI które potrafi rozwiązać każde zadanie z listy i zaproponować optymalne rozwiązanie to lubiałem sobie czasem siąść wieczorem z piwem i rozwiązać jakieś żeby poduczyć się na zapas, teraz widzę to raczej jako marnowanie czasu.

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8528
1

np. jest taki kanał na Youtube Computerphile, gdzie ciekawie takie rzeczy tłumaczą, chociaż niektóre z nich mogą być na wyższym poziomie zaawansowania

Ale jak wpiszesz np. programming data structures albo programming algorithms to znajdzie ci różne inne kanały.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.