#informatyka #programowanie #programista15k #naukaprogramowania Studiuje obecnie #matematyka na specjalizacji teoretycznej. W przyszłym semestrze (o ile dotrwam XD) mogę sobie wybrać przedmioty które będe realizował. Jakie gałęzie matematyki polecacie w stronę informatyki teoretycznej?
Nie chodzi mi o zagadnienia typu działanie procesora, systemy embedded, programowanie, a bardziej chodzi mi o rzeczy pokroju: -optymalnego działanie na tablicach i strukturach danych -zamiana funkcji rekurencyjnych na iteracyjne -sprawdzenie czy mój sposób rozwiązania problemu był optymalny -wyprowadzanie wzorów, i sprawdzanie dla jakich danych algorytm/równanie się wysypie
Odpowiadając na potencjalne pytanie czemu nie studiuję informatyki. Wychodzę z założenia że klepania kodu może się nauczyć każdy we własnym domu (z resztą sam napisałem pare gównokodów w różnych językach, jak np. apke pogodową w c# z xamarinem, proste silniki gier 2d w c++, pobieranie maili z gmaila pythonem czy symulacje w golangu), natomiast na uniwerku mogę się dowiedzieć jak optymalnie używać zaawansowanego kalkulatora z którego teraz piszę, oraz dlaczego coś zaprojektowano tak, a nie inaczej.
optymalnego działanie na tablicach i strukturach danych
@RedveKoronny: algorytmy i struktury danych. Tylko, że teoria działa dobrze na teoretycznym komputerze. Złożoność obliczeniowa jest ważna ale dużo też zależy od tego jak procesory działają. Np. heap sort w teorii jest super algorytmem z dobrą złożonością ale używa się go bardzo rzadko, bo inne algorytmy działają lepiej w prawdziwych warunkach
zamiana funkcji rekurencyjnych na iteracyjne
algorytmy i struktury danych. Zamiana rekurencji na wersję
@Saly: popraw mnie jeśli się myle, ale raczej więcej mogę zyskać pisząc optymalne algorytmy niż stracić? Oczywiście, jeśli wiem że coś w praktyce działa gorzej, to nie będe tego używał, ale jeśli mogę równania rekurencyjne sprowadzić do pojedyńczej instrukcji, lub wiedzieć że w pewnych warunkach wykonywanie algorytmu jest bezcelowe (ponieważ wiem że nie uzyskam satysfakcjonującego mnie wyniku) to dlaczego by tego nie robić?
popraw mnie jeśli się myle, ale raczej więcej mogę zyskać pisząc optymalne algorytmy niż stracić?
@RedveKoronny: generalnie tak. Wyjątkiem jest napisanie zbyt skomplikowanego algorytmu, gdy nie jest to potrzebne bo. np input zawsze będzie tak mały, że nie ważne jak bardzo optymalny jest kod, bo ważniejsza jest czytelność. Innym problemem może być ślepe podążanie za teorią co może sprawić, że prostrzy i teoretycznie gorszy algorytm zachowuje się lepiej w praktyce
tego za bardzo nie da się zrobić, przynajmniej dla ogólnego przypadku. Trzeba znaleść dowód np. jest dowód na to, że sortowanie poprzez porównywanie obu liczb to w najlepszym przypadku O(log(n) * n). Tak czy owak przedmiot to: algorytmy i struktury danych
chodzi mi właśnie o takie specyficzne wypadki. Jeżeli wiem że dany problem można rozwiązać w powiedzmy w log(n) kroków, a mi wychodzi złożoność wykładnicza
@RedveKoronny: 1. algorytmy i struktury danych jak to wyzej kolega napisal. 2. dyskretna matma 3. algebra wszelkiego rodzaju 4. prawdopodobienstwo wszelkiego rodzaju
@RedveKoronny: generalnie to też zależy jaki wysoko mierzysz, bardziej złożone i trudniejsze algorytmiczne rzeczy są zazwyczaj rzadziej spotykane w ofertach pracy.
Ale osobiście pozdrawiam wszystkich fanów książki Matematyka Konkretna bo z niej nauczyłem się najwięcej :) potrzebnej algorytmikom matematyki.
Druga sprawa to czy chcesz iść w sztuczną inteligencję (nie tylko sieci neuronowe). Jeżeli tak to analiza matematyczna i metody numeryczne są też bardzo potrzebne.
Reszta to cykanie zadanek algorytmicznych typu SPOJ
@RedveKoronny: Jak chcesz robić coś serio ambitnego, to z matematycznym backgroundem możesz iść w ppb, analizę i statystykę, żeby robić np. jako quantitative trader (pisanie algorytmów handlujących na giełdzie).
Gadałam sobie z typem i spoko rozmowa, coś się zeszło na pieski bo on wielki miłośnik. Mówię więc, że kocham psiury nad życie ale moja granica to pies w łóżku, bo lubię mieć czystą pościel. I gość mnie usunął xDDDDD sytuacja na rynku knurów tragiczna #tinder #psy
Studiuje obecnie #matematyka na specjalizacji teoretycznej.
W przyszłym semestrze (o ile dotrwam XD) mogę sobie wybrać przedmioty które będe realizował.
Jakie gałęzie matematyki polecacie w stronę informatyki teoretycznej?
Nie chodzi mi o zagadnienia typu działanie procesora, systemy embedded, programowanie, a bardziej chodzi mi o rzeczy pokroju:
-optymalnego działanie na tablicach i strukturach danych
-zamiana funkcji rekurencyjnych na iteracyjne
-sprawdzenie czy mój sposób rozwiązania problemu był optymalny
-wyprowadzanie wzorów, i sprawdzanie dla jakich danych algorytm/równanie się wysypie
Odpowiadając na potencjalne pytanie czemu nie studiuję informatyki. Wychodzę z założenia że klepania kodu może się nauczyć każdy we własnym domu (z resztą sam napisałem pare gównokodów w różnych językach, jak np. apke pogodową w c# z xamarinem, proste silniki gier 2d w c++, pobieranie maili z gmaila pythonem czy symulacje w golangu), natomiast na uniwerku mogę się dowiedzieć jak optymalnie używać zaawansowanego kalkulatora z którego teraz piszę, oraz dlaczego coś zaprojektowano tak, a nie inaczej.
@RedveKoronny: algorytmy i struktury danych. Tylko, że teoria działa dobrze na teoretycznym komputerze. Złożoność obliczeniowa jest ważna ale dużo też zależy od tego jak procesory działają. Np. heap sort w teorii jest super algorytmem z dobrą złożonością ale używa się go bardzo rzadko, bo inne algorytmy działają lepiej w prawdziwych warunkach
algorytmy i struktury danych. Zamiana rekurencji na wersję
@RedveKoronny: generalnie tak. Wyjątkiem jest napisanie zbyt skomplikowanego algorytmu, gdy nie jest to potrzebne bo. np input zawsze będzie tak mały, że nie ważne jak bardzo optymalny jest kod, bo ważniejsza jest czytelność. Innym problemem może być ślepe podążanie za teorią co może sprawić, że prostrzy i teoretycznie gorszy algorytm zachowuje się lepiej w praktyce
Algorytmów
chodzi mi właśnie o takie specyficzne wypadki. Jeżeli wiem że dany problem można rozwiązać w powiedzmy w log(n) kroków, a mi wychodzi złożoność wykładnicza
1. algorytmy i struktury danych jak to wyzej kolega napisal.
2. dyskretna matma
3. algebra wszelkiego rodzaju
4. prawdopodobienstwo wszelkiego rodzaju
Ale osobiście pozdrawiam wszystkich fanów książki Matematyka Konkretna bo z niej nauczyłem się najwięcej :) potrzebnej algorytmikom matematyki.
Druga sprawa to czy chcesz iść w sztuczną inteligencję (nie tylko sieci neuronowe). Jeżeli tak to analiza matematyczna i metody numeryczne są też bardzo potrzebne.
Reszta to cykanie zadanek algorytmicznych typu SPOJ
Komentarz usunięty przez autora