Których algorytmów się uczyć?

0

Cześć

Rozpocząłem studia informatyczne i prowadząca wspominała coś o algorytmice. Nie miałem z tym wcześniej styczności (jestem po liceum :/ i nie miałem informatyki rozszerzonej). W pierwszym semestrze mamy uczyć się podstaw programowania przy użyciu języka C.

W drugim semestrze będzie przedmiot "Algorytmy i struktury danych" i tam będzie to uczone w bardziej zaawansowanym stopniu, teraz chciałbym zdobyć "Big picture".

Chciałbym zweryfikować znaleziska, powinienem zacząć od złożoności obliczeniowej algorytmów?

Następnie chciałbym przerobić jakieś podstawowe algorytmy i spróbować je zaimplementować w języku C, które powinienem przerobić? Mam tutaj np. taką listę. Przerobić któreś konkretnie czy może wszystkie? A może jest ich więcej (tych najważniejszych)?

Pozdrawiam serdecznie!

0

Myślę, że jak kupisz dobrą książkę o algorytmach i strukturach danych, to cię przeciągnie po obszarach, które będziesz musiał znać.

0

Cześć, dzięki za odpowiedź. Właśnie na początek bardziej bym się skłaniał ku jakimś artykułom, bo chcę poznać absolutne podstawy, wiem, że są książki typu Cormen lub Sedgewick i są nawet w kartach przedmiotów, ale nawet zasugerowano nam, by nie skupiać się zbyt mocno na zaawansowanych zagadnieniach. Teraz chcę przerobić coś w stylu tego artykułu, który podlinkowałem, problem po prostu w tym, że nie wiem, które z nich są podstawowe.

1

@ark10 moim zdaniem na początek warto spróbować rozwiazać jakieś proste problemy algorytmiczne na jakimś SPOJu a nie skupiać się na analizie istniejących złożonych problemów.

0

Okej, dzięki za poradę, w takim razie zmierzę się z zadaniami ze SPOJa.

Pozdrawiam

3

Książki z podstawami:
Niklaus Wirth - "Algorytmy struktury danych = programy" - tu masz podstawowe algorytmy.
Banachowski L, Diks K, Ritter W - "Algorytmy i struktury danych" - tu masz jak obliczać złożoności.

3

Poczytaj o Big O. Tablice, tablice z haszowaniem, listy, kolejka, drzewa, grafy, rekursja, sortowania, bfs, dfs. Zaopatrz sie w te ksiazke tak ma obrazki. A po Spoj -> top coder? :P

2

a później na competitive

0

Na jakiej uczelni jesteś?

1
ark10 napisał(a):

...prowadząca wspominała coś o algorytmice. Nie miałem z tym wcześniej styczności...

...teraz chciałbym zdobyć "Big picture".

To może na początek coś z YouTube?
np:

1

Tych z "wazniaka" i strony liceum w Tarnowie. xD Najwieksze publicznie dostępne kompedium o algorytmach i strukturach danych, którego dorobiły sie polskie internety.
Dalej już samodzielnie będziesz wiedzieć czego się uczyć. Z dużą dozą prawdopodobieństwa będą to tym czy innym sposobem algorytmy i struktury danych powiązane z tematyką grafów.

0

Jako start do nauki algorytmów polecam książkę, która została już wcześniej wymieniona - Algorytmy ilustrowany przewodnik. Czyta się ją szybko i dzięki obrazkom jest bardzo zrozumiała.

1

U mnie najlepiej sprawdza się rozwiązywanie zadań ze stron typu codeforces itp.
Jeśli zaczynasz to wybierasz najprostsze problemy i próbujesz rozwiązać zadanie. Próbujesz rozwiązać to w jakikolwiek znany Ci sposób -> nawet jeśli jest O(n!)
Potem sprawdzasz wskazówki -> jeśli podają nazwę algorytmu/sposób na rozwiązanie to czytasz o tym, starasz się zrozumieć i potem przepisujesz swoje rozwiązanie.
Na samym końcu możesz porównać z najlepszymi rozwiązaniami w danym języku.

I pamiętaj, JAKOŚĆ nie ILOŚĆ.

1 użytkowników online, w tym zalogowanych: 0, gości: 1