Witam, jestem bardzo początkujący i zastanawia mnie w jakim stopniu wykorzystuje się algorytmikę w praktyce, w konkretnych projektach.
Czy zagadnienia z wszelkich olimpiad to nauka dla nauka czy faktycznie znajdują swoje zastosowania projektach?
pozdrawiam ;)
Algorytmika, a komercyjne projekty
- Rejestracja: dni
- Ostatnio: dni
- Postów: 18
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
W 99,5% nie.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Kraków
- Postów: 19
Gdy przeczytałem Twój wątek od razu pomyślałem o: http://xion.org.pl/2013/12/16/algorithms-dont-end-here/ Poza tym algorytmika ułatwia zrozumienie jak coś działa np. wyszukiwanie w bazie.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 220
I często niestety trzeba coś z algorytmiki ogarniać, żeby móc już zacząć tworzyć te komercyjne projekty. Na rozmowach kwalifikacyjnych dość często padają pytania z tym związane, zwłaszcza jak szuka sią pierwszej pracy.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Łódź
- Postów: 1403
Nie znam zadań z olimpiad, ale algorytmikę wykorzystuję na co dzień w projektach, pewnie dlatego, że część projektów to rzeczy bliskie sprzętowi, gdzie często nie ma gotowych bibliotek, ale to insza inszość.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 18
czyli nie szczędzić czasu na nauke algorytmiki, choćby dla samego treningu
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Space: the final frontier
- Postów: 26433
Nie no po pierwsze to zależy co chcesz potem w żyicu robić a po drugie rozgraniczmy co tutaj kto rozumiem przez algorytmikę. Bo dla jednych algorytmika to oznacza na przykład rozkmianie sub-wykładniczych algorytmów dla problemó NP zupełnych i pisanie adaptacyjnych solverów dla ILP, a dla innych "algorytmika" to znajomość sortowania bąbelkowego i rozumienie jak działa lista jednokierunkowa.
O ile ta pierwsza opcja przyda się niewielkiemu odsetkowi programistów, o tyle bez tej drugiej może być ciężko każdemu. I nawet nie chodzi o to żebyś umiał z pamięci zaklepać 3 wersje quicksorta albo drzewo Trie, tylko o to żeby wiedzieć że coś takiego jest i czym się charakteryzuje. W 95% przypadków użyjesz gotowej implementacji z biblioteki, ale musisz wiedzieć czego szukasz i rozumieć czego użyć w danej sytuacji.
Bo potem jest jak z ludźmi co parsują DOMem kilkunasto-megabajtowe XMLe i nie rozumieją czemu dostają OutOfMemory i dlaczego powinni użyć SAX albo StAX. No bo przecież parser XML to parser XML, nie? I analogicznie "sortowanie to sortowanie", "lista to lista", "mapa to mapa", a to nie do końca tak ;)