Wymagana umiejętność matematyczna do książki Wprowadzenie do algorytmów (CLRS) [zamknięte]

30

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.

Anonimowy
źródło
1
Oto świetny zasób, aby odświeżyć swoje umiejętności, jeśli zechcesz. khanacademy.org
Alan B. Dee

Odpowiedzi:

9

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:

Ale czym właściwie jest konkretna matematyka? Jest to połączenie ciągłej i dyskretnej matematyki. Mówiąc konkretniej, jest to kontrolowane manipulowanie formułami matematycznymi, przy użyciu zbioru technik rozwiązywania problemów.

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.

Mctylr
źródło
6

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.

Bill VB
źródło
1

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

Doug Stanley
źródło
Chcę również dowiedzieć się o analizie algorytmów. Proszę o sugestie. :)
Anonimowy
@Anonim W tym przypadku myślę, że nie ma innego wyjścia, jak ugryźć kulę. Zacząłem uczyć się dyskretnej matematyki, ale wkrótce zostałem przytłoczony i odszedłem, wypróbowałem łatwy sposób, pisząc „popularne” książki o strukturach danych i algorytmach, ale okazało się, że brakowało prawdziwej oferty. Teraz zbieram się na odwagę, by zacząć od nowa.
ankush981