Przygotowanie się na wyzwania typu [zamknięte]


15

Zaledwie kilka dni temu odkryłem Codility i próbowałem ich wyzwań. I muszę powiedzieć. Przekazano mi tyłek na talerzu. Nie jestem pewien, na czym polegał problem, ale zlizę swoje rany i poczekam, aż wyjdzie rozwiązanie, i porównuję je z moimi. Tymczasem chcę przygotować się do następnego wyzwania, więc czytam ich poprzednie posty na blogu i widzę, jak rozwiązać ich poprzednie problemy. Jest wiele nowych rzeczy, o których nie słyszałem (drzewa kartezjańskie, różne algorytmy sortowania itp.)

Jak więc przygotować się na takie wyzwania (zwłaszcza złożoność czasu i przestrzeni O (x)). Co powinienem przeczytać, aby przygotować się do takiego zadania?


Ja studiuje Haskell ostatnio częściowo zmusić mózg do wykrzywiać (to będzie zmusić tego) specjalnie do pomocy stać się bardziej zwinny w wymyślaniu rozwiązań. To powiedziawszy, czytam również Podręcznik projektowania algorytmów (istnieje bezpłatny plik pdf w Internecie) oraz kopię garażu The Art of Computer Programming Vol 1 Fundamental Algorytmy Knutha (która jest również poważnym źródłem bólu mózgu) w tym samym celu .
Jimmy Hoffa

Odpowiedzi:


3

jak przygotować się na takie wyzwania (zwłaszcza złożoność czasu i przestrzeni O (x)). Co powinienem przeczytać, aby przygotować się do takiego zadania?

Przez coraz przygotowany oczywiście! Jest to kwestia praktyki i przygotowania się do poruszania się w obszarach, które wydawały się krótkie. Dzięki Bogu, całkiem dobre zasoby do pokrycia, gdy braki informacji pojawią się w Internecie, a Google jest twoim przyjacielem.

Jeśli chodzi o referencje, doradziłbym kilku stronom internetowym, które mają pytania programisty. Na podstawie tego rodzaju pytań możesz określić swoje niedociągnięcia i studiować je.

Zasoby do obejrzenia:


7

Jedyne, co możesz zrobić, aby przygotować się na tego rodzaju testy, to ćwiczyć. Ćwicz dużo . Istnieje wiele dobrych zasobów pomocy programistów, takich jak topcoder, codegolf, maniacy dla maniaków, Programowanie Praxies, CodeKata, Project Euler itp.

Jeśli masz problemy ze strukturami danych, lepiej wyczyść algorytm i pojęcia dotyczące struktury danych. Najlepszym miejscem do tego jest wikipedia, ale możesz także poszukać kursów danych algo na nptel, coursera itp.


Szukałem więcej zasobów, takich jak książki, ale niektóre z twoich linków były nowe i zawierały wiele informacji.
Daniel Fath

1
@DanielFath: Czytanie o tym pomaga, ale rozwiązywanie problemów to sztuka, którą trzeba ćwiczyć, jeśli chcesz być w tym dobry. W świecie oprogramowania do pisania istnieje wielokrotnie zaskakująca liczba problemów. Doświadczenie w ich wcześniejszym rozwiązaniu daje możliwość wykrycia nowych odmian i szybkiego zastosowania dobrego rozwiązania.
Blrfl,

W dużej mierze zgadzam się z praktyką, po prostu wyrażam pragnienie posiadania bardziej konkretnych zasobów, aby rozważyć rozwiązanie pytania. Głosowałem za odpowiedziami (do cholery, wszystkie głosowałem).
Daniel Fath

4

Półoficjalne posty na blogu dotyczące rekrutacji Google polecają tę książkę: Podręcznik projektowania algorytmów .

Jest bardzo obszerny i dobrze napisany, z częścią „szybkiego odniesienia”, która może bardzo pomóc w twojej sytuacji, gdy tylko zaznajomisz się ze wspólnymi algorytmami i strukturami danych.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.