2010-06-09 12 views
41

w miejscu pracy, praca, którą wykonuję, prawie nie jest trudna do zrobienia i myślę, że mogę stracić umiejętności, aby spojrzeć na zupełnie nowy problem i pomyśleć o różnych pomysłach, aby go rozwiązać.jak rozpocząć korzystanie z TopCoder, aby zaktualizować/rozwinąć umiejętności algorytmu?

Znajomy zasugerował mi TopCoder.com, ale patrząc na przytłaczającą liczbę problemów, nie mogę zdecydować, jak zacząć?

to, czego chcę, to wyostrzyć moje techniki (nie określony język lub ramy).

Odpowiedz

17

Jedynym sposobem, aby zacząć byłoby odebrać problemy. Podział I to trudniejszy podział, więc pewnie przekonasz się, że średnie i trudne problemy z podziałem I będą dość interesujące i wymagające (chyba, że ​​jesteś sprytny).

Jeśli zaznaczysz kalendarz wydarzeń, zobaczysz W Twojej strefie czasowej nadchodzi runda algorytmiczna. Konkursy mają dodatkową zaletę, polegającą na zmuszaniu cię do czytania i analizowania kodów innych ludzi w fazie wyzwań, więc nawet jeśli po prostu będziesz ćwiczyć bez zegara, możesz uznać je za interesujące.

+6

jak należy radzić sobie z frustracją, kiedy zaczynają obwiniać siebie za nie jest wystarczająco inteligentny, aby zobaczyć rozwiązanie trudnych problemów? (jest praktyką klucz do wglądu i inteligencji lub jego talentu, który niektórzy mają, a niektórzy nie "to, o co pytam, to może być rozwijane, uważam się za przeciętnego w zakresie umiejętności matematycznych (może mniej)") –

+12

To całkowicie praktyka i można go całkowicie rozwinąć. Istnieją zarówno ogólne (sposoby ataku i wyjaśnienia problemów, w przypadku których nie jest jasne, jak rozpocząć), jak i szczegółowe (podstawowe algorytmy, takie jak dynamiczne programowanie, BFS i DFS, przepływ na wykresach), których nauczysz się, które zmieniają te problemy z trudny do zrozumienia. TC ma dużą sekcję samouczków, napisaną przez czołowych programistów, która prawie na pewno pomoże: http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index Jeśli jest to dla ciebie ważna umiejętność, po prostu pracuj dalej to i będziecie postępować. – mquander

+2

Dziękuję bardzo za poświęcony czas i wspaniałą radę :). Bardzo doceniam. –

3

Spróbuj odrobinę. http://projecteuler.net Problemy z trudnościami mogą być liczone według liczby osób, które rozwiązały problem.

Wolę tę stronę, bo to język niezmienna i problemy są naprawdę wyzwaniem

12

Konkursy algorytmów TopCoder są sposobem na zwiększenie szybkości kodowania. Rozwiązanie jednego z problemów na arenie treningowej jest trudne, o ile nie znasz już różnych algorytmów.

Problemy z Project Euler mają tę samą wadę. Musisz już znać algorytmy, aby rozwiązać problemy w rozsądnym czasie.

Proponuję wybrać projekt, który Cię interesuje i realizować go, jak masz czas. Na przykład obecnie uczę się, jak pracować z kaflami open street map na platformie klienta Rich klienta Eclipse.

+2

Oczywiście strategie rozwiązywania problemów są różne, a "dużo" jest subiektywne, ale chciałbym przedstawić tutaj przeciwny pogląd - Zrobiłem sporo problemów związanych z projektem Eulera i rzadko wymagają one dużo wcześniejszej wiedzy algorytmicznej . Łatwiejsza połowa problemów w TopCoder również zakłada dość małą wiedzę na temat wcześniejszej wiedzy. – mquander

Powiązane problemy