Z jakich stron polecacie się uczyć algorytmiki?
ja polecam książki. W książce jest to bardziej szczegółowo omówione.
Sztandarowa pozycja: Cormen - Wprowadzenie do algorytmów
Jeśli chodzi o takie klasyczne algorytmy to jw Cormen, jeśli chodzi o poćwiczenie algorytmicznego myślenia to polecam zadania ze SPOJa ;)
może coś na początek tutaj: http://www.algorytm.org/
Podstawy podstaw: Algorytmy (Sysło, Pascal), dalej (trudniejsze pozycje) algorytmy i struktury danych (Banachowski, Pascal), Wprowadzenie do algorytmów (Cormen, Pseudokod, podobny do Pascala, trochę z C), Kombinatoryka dla programistów (Lipski, Pascal/C++, jest to książka rozszerzająca zagadnienia jednego działu), Rzecz o istocie informatyki algorytmika (Harel, Pseudokod, po Polsku)
Matematyka przydatna w algorytmice: Matematyka konkretna (Graham).
Do ćwiczenia oprócz Spoja jeszcze main (zawiera zadania zarówno łatwe, jak i te z konkursów informatycznych). W nawiasach podani autorzy, oraz języki programowania, jakich znajomość się przydaje przy czytaniu.
Lipskiego bym jednak pod uwagę nie brał, chyba ze ktoś jest masochistą albo wielkim fanem matematyki dyskretnej. A Harel to chyba raczej jako literaturę popularnonaukową a nie podręcznik algorytmiki.
Lipskiego bym jednak pod uwagę nie brał, chyba ze ktoś jest masochistą albo wielkim fanem matematyki dyskretnej.
A trudna taka ta książka, bo jej w ręku nie miałem (i z wymienionych matematyka konkretnej też nie), ale ludzie ją polecają, więc zamierzam niedługo kupić, więc czy ona jest naprawdę taka trudna? I czy dobry z matematyki (lecz nie najlepszy) uczeń 2 liceum ma szansę zrozumieć jej treść (oczywiście czytając od początku)? Chciałbym się jak najlepiej przygotować do olimpiady, a tam jest sporo zadań z teorii grafów, więc by mi się przydała (bo jeśli nie z tej książki się tego nauczyć to z której), tylko czy ją zrozumiem. Oczywiście na razie z tego co widzę wystarczyło by mi przeczytać 3 rozdziały, tylko właśnie czy mam szansę im podołać?
Żeby zrozumieć Lipskiego wypada najpierw dobrze rozumieć matematykę dyskretną. Jeżeli nie jesteś pewny to przejdź sie do biblioteki to może będziesz mógł wypożyczyć, ewentualnie przejrzyj książke w księgarni.
@JumpSmerf tylko sie będziesz niepotrzebnie frustrował próbując ogarnąć o co w ogóle chodzi :P a mam wątpiwości czy na OI ci się to faktycznie przyda.
Do OI? Po finale tegorocznej mam zamiar opublikować swoje materiały, które stworzyłem w ramach nauki, więc jak coś to możesz się zgłosić via mail.
Z pozycji, które istnieją: Cormen, "The Algorithm Design Manual" Steven S. Skiena, może Ci się przydać też "Algorytmika praktyczna w konkursach informatycznych" Stańczyka. Wykłady z http://was.zaa.mimuw.edu.pl/ też są niezastąpione :)
W książce Stańczyka algorytmy są w C++, w wykładach z algorytmiki (przynajmniej z tych co widziałem) też, a ja zamierzam pisać programy w pascalu (zresztą w najlepszych książkach algorytmicznych kod jest albo w pascalu, alby w czymś bardzo zbliżonym), więc zbytnio mi się to nie przyda (mógłbym się nauczyć C/C++ do tej pory, ale po co jak mogę ten czas poświęcić na naukę algorytmów - tamtych języków nauczę się pewnie dopiero na wakacjach przed pierwszym rokiem studiów).
Pozycje anglojęzyczne odpadają - nie jestem na takim poziomie, żeby czytać książki po angielsku (mimo iż to bardzo dobra forma nauki, ale jednak przeczytanie strony po Polsku zajmuje o wiele mniej czasu niż po angielsku).
Poza tym jeśli tu mają być wszystkie materiały, to ogrom informacji można znaleźć na http://wazniak.mimuw.edu.pl/index.php?title=Strona_g%C5%82%C3%B3wna łącznie z ćwiczeniami.
Pisanie na OI w Pascalu to BARDZO zły pomysł. Będziesz musiał podstawowe struktury danych klepać samemu, co najczęściej zabiera trochę czasu, a wierz mi, na OI go nie ma.
To zobaczę jeszcze jak już będę umiał rozwiązać niektóre zadania, to najwyżej jeśliby się udało przejść dalej to zmieniłbym język (co by nie mówić w I etapie jest sporo czasu).
Zapomniałbym chyba o najważniejszym, Niebieskie Książeczki. Cała masa świetnych tricków jest w nich zawarta. Czasem nawet i całe algorytmy (turbo-matching). ;)
Wiem o tym oczywiście. :)
Mam je już wszystkie, które były dostępne (niby było dostępnych 10, a przyszło mi 9, ale i tak mniejsza z tym) od ok. 2 tygodni w wersji książkowej.
Ja mam pytanie, czy ktoś jest mi w stanie dać namiary na księgarnie internetową, z książką "Wprowadzenie do algorytmów" Cormena ???
@Editioner wątpliwe bo już od jakiegoś czasu jej nie drukują. Musisz szukać na aukcjach.
Ja mam pytanie, czy ktoś jest mi w stanie dać namiary na księgarnie internetową, z książką "Wprowadzenie do algorytmów" Cormena ???
Nawet jeżeli jest ci potrzebna "na wczoraj" to nie kupuj na razie, a wypożyczaj z biblioteki.
Na aukcjach na allegro cena jest kosmiczna, a na jesień ma się pojawić nowe wydanie od PWN (z o wiele niższą ceną) - ja czekam na nowe wydanie, a na razie mam z biblioteki, po prostu inaczej się kompletnie nie opłaca.
Właśnie znalazłem tę książkę w bibliotece i tylko jest jeden problem/pytanie. To jest wydanie 4 - rok bodajże 2001 jak nie wcześniej, czy to nie powoduje, że taka książka jest w pewnej mierze nieaktualna ?
Książka o algorytmach przeterminowana? Raczej nie wyobrażam sobie czegoś takiego.
No to w takim razie, czym się w tym przypadku różni wydanie 4 od 8? Wiem, że może podchodzę do tego paranoicznie, ale nauka algorytmów jest dla mnie bardzo ważna ;)
Editioner napisał napisał(a)
Właśnie znalazłem tę książkę w bibliotece i tylko jest jeden problem/pytanie. To jest wydanie 4 - rok bodajże 2001 jak nie wcześniej, czy to nie powoduje, że taka książka jest w pewnej mierze nieaktualna ?(...)
No to w takim razie, czym się w tym przypadku różni wydanie 4 od 8? Wiem, że może podchodzę do tego paranoicznie, ale nauka algorytmów jest dla mnie bardzo ważna
Różnice między wydaniami (Angielskimi - Polskich było więcej, ale pewnie dlatego, bo były poprawiane literówki itp.):
- między I, a II dodany rozdział "Analiza probabilistyczna i algorytmy randomizowane", pewnie też poprawione literówki itp. (sam korzystam z wydania I);
- między II, a III (które to w Polsce ma wyjść w tym roku) dodano 20 nowych algorytmów i 100 nowych zadań (z tego co zrozumiałem - na youtubie jest filmik jak jeden z autorów mówi o różnicach).
Algorytmy nie zostały zmienione, bo to nie jest jakaś technologia, która się zmienia. Co najwyżej czasami są wymyślane jakieś nowe, ale takie są najczęściej opisywane w literaturze specjalistycznej - zajmującej się tylko danym tematem (mimo to oczywiście jeżeli chce się wiedzieć czy jakieś nowe algorytmy powstały w ostatnim czasie to trzeba sięgnąć po anglojęzyczne strony internetowe). Jak sama nazwa mówi to jest "tylko" (lub aż ;) ) wprowadzenie do algorytmów. Nie da się nawet na ponad 1100 stronicowej książce opisać opisać dokładnie każdego działu algorytmów i jeszcze matematyki którą się wykorzystuje do projektowania i analizy algorytmów.
Jeżeli nauka algorytmów jest dla ciebie taka ważna to po przeczytaniu Cormena proponuję literaturę specjalistyczną (teoria grafów, geometria obliczeniowa) tu masz literaturę algorytmiczną: http://oi.edu.pl/php/show.php?ac=p173000&module=show&file=oi18/literat
Po przeczytaniu Cormena, Banachowskiego, Knutha, którejś książki o Teorii grafów, geometrii obliczeniowej i matematyce dyskretnej (i naturalnie zrozumieniu ich, oraz robieniu zadań w nich zawartych) możesz zajmować wysokie miejsca w konkursach algorytmiczno-programistycznych. :)
Aha, no to w sumie OK, uspokoiłeś mnie tym... na razie skorzystam z tego "czwartego" wydania, a na jasień, jak było tu już mówione kupię sobie nowe wydanie ;) Wielkie dzięki ;)
Za spis innych literatur algorytmicznych też dzięki ;) Wszystko się na 100% przyda ;)
Nawet jeśli powstają nowe algorytmy, to te 'stare' nadal obowiązują, więc tak czy siak są do zapoznania się ;)
A ja w temacie zapytam czy ktoś ma na swoim komputerze kopie pdf'a "Algorytmika Praktyczna w konkursach Informatycznych" Piotr Stanczyk? Szukałem na necie i chyba wykasowali to , bo nigdzie nie mogę znaleźć... j
A ja w temacie zapytam czy ktoś ma na swoim komputerze kopie pdf'a "Algorytmika Praktyczna w konkursach Informatycznych" Piotr Stanczyk? Szukałem na necie i chyba wykasowali to , bo nigdzie nie mogę znaleźć... j
To chyba mamy inne Google:
http://bit.ly/smnQ3m
--edit--
OK, może zbyt złośliwie.
Pierwszy wynik w Google: http://users.v-lo.krakow.pl/~climek/ebooki/stanczyk.pdf
Trzeci wynik w Google: http://www.torrentcrazy.com/torrent/3765823/algorytmika-praktyczna-w-konkursach-informatycznych-piotr-sta-czyk.pdf
etc.