Wpis z mikrobloga

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
  • Odpowiedz
@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ć?
  • Odpowiedz
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
  • Odpowiedz
@Saly:

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ść
  • Odpowiedz
@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
  • Odpowiedz