Mam już wiedzę na temat podstawowych algorytmów. Teraz planuję studiować więcej zaawansowanych algorytmów i decyduję się na wprowadzenie do algorytmów .
Nie jestem pewien, czy muszę odświeżyć umiejętności matematyczne przed przeczytaniem tej książki, czy nie? (Zapominam prawie matematykę, której uczę się w szkole średniej i na studiach). Jeśli ta książka potrzebuje silnej wiedzy matematycznej, proszę zaproponować przedmioty, które przyniosą korzyści.
Chcę się dowiedzieć o implementacji, projektowaniu i analizie algorytmów.
algorithms
math
skills
Anonimowy
źródło
źródło
Odpowiedzi:
Kurs MIT korzystający z książki CLR ma określony warunek wstępny. Podręcznik używany podczas tego wstępnego kursu jest dostępny za darmo.
Oto on:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/
Warunkiem wstępnym kursu jest rachunek z jedną zmienną.
źródło
Jak wspomina @ user16764 w odniesieniu do konkretnych ofert kursów MIT (6.042) , wersja tego, co zwykle nazywa się matematyką dyskretną , w połączeniu z rachunkiem pierwszego roku (uniwersyteckiego) są podstawowymi wymaganiami do zrozumienia wielu (podstawowych) algorytmów i ich analiza.
Specjalistyczne lub zaawansowane algorytmy mogą wymagać dodatkowego lub zaawansowanego zaplecza matematycznego, takiego jak statystyka / prawdopodobieństwo (programowanie naukowe i finansowe), algebra abstrakcyjna i teoria liczb (tj. Do kryptografii).
Jako student moja dyskretna matematyka kurs miał podręcznik Discrete Mathematics with Applications autorstwa Susanna Epp, a innym podręcznikiem, który znalazłem w mojej bibliotece był Discrete Mathematics autorstwa Kennetha Rossa i Charlesa Wrighta. Kopia jednego z nich o przyzwoitej jakości jest prawdopodobnie rozsądnym miejscem do rozpoczęcia (z lub bez połączenia z MIT Open Course Ware, w zależności od stylu uczenia się). W przypadku samokształcenia często znajduję dwa źródła, które mogą pomóc w wyjaśnieniu problemów, które trudno mi zrozumieć.
Sugerowaną przeze mnie alternatywą jest matematyka , drugie wydanie Ronalda L. Grahama, Donalda E. Knutha i Orena Patashnika. W tej chwili nie mogę znaleźć mojej kopii i nie pracowałem nad nią rzetelnie, więc nie mogę wydać zalecenia za nią lub przeciw.
Ze wstępu:
Zwrócę uwagę na komentarze curmudgeona Billa Jaszczurki w tym wpisie na blogu „ Książki, których programiści naprawdę nie czytają ”. Osobiście wciąż znajduję Algorytmy Roberta Sedgewicka (obecnie 4. edycja) są mniej zastraszające i bardziej przystępne.
W odniesieniu do ciągłej (tj. Liczb rzeczywistych ) części matematyki, rachunek różniczkowy autorstwa Stewarta wydaje się być często wykorzystywaną książką do prowadzenia wykładów dla studentów na temat oświecenia pochodzącego z różnicowania i integracji.
źródło
Nie jest to tak naprawdę matematyka sama w sobie, ale wygoda i płynność w matematycznym formalizmie. Naucz się podstawowej terminologii zestawu i odpowiedniego formalizmu.
Analiza algorytmów, szczególnie w kontekście teorii złożoności, w której studiujesz podstawowy problem obliczeniowy (jeśli próbujesz zrobić coś bardziej istotnego niż notacja „Big-Oh”), wymaga znacznej inwestycji czasu w teorię grafów i abstrakcyjna algebra, a wszystko to oprócz ogromnej dawki wrodzonej sprytności.
źródło
Uważam, że warto iść, chyba że martwisz się „analizą” algorytmów, a nie tylko ich implementacją. To jest oczywiście nasz kurs i matematyka UD lub kurs CS w większości programów studiów.
Samo zrozumienie, jak zaimplementować algorytmy w tej książce nie powinno stanowić problemu
źródło