Abilità matematiche prerequisite per il libro Introduzione agli algoritmi (CLRS) [chiuso]

27

Ho già conoscenza degli algoritmi di base. Ora ho intenzione di studiare altri algoritmi avanzati e decido di andare con Introduzione agli algoritmi .

Non sono sicuro, ho bisogno di aggiornare le mie abilità matematiche prima di leggere questo libro o no? (Ho dimenticato quasi la matematica che imparo al liceo e al college) Se questo libro richiede una strong conoscenza matematica, ti preghiamo di suggerire argomenti che ne traggano vantaggio.

Voglio conoscere l'implementazione, la progettazione e l'analisi degli algoritmi.

    
posta Anonymous 18.07.2011 - 17:51
fonte

4 risposte

23

Il corso MIT che utilizza il libro CLR ha un corso prerequisito specifico. Il libro di testo utilizzato da quel corso prerequisito è disponibile gratuitamente.

Ecco qui:

link

Il corso dei prerequisiti del corso prerequisito è il calcolo a variabile singola.

    
risposta data 18.07.2011 - 18:27
fonte
9

Come @ user16764 allude a in riferimento al offerte del corso MIT particolare (6.042) , una versione di ciò che viene normalmente chiamato discrete mathematics , combinato con il calcolo del livello del primo anno (università) sono i requisiti principali per comprendere molti algoritmi (di base) e la loro analisi.

Gli algoritmi specializzati o avanzati possono richiedere un background matematico aggiuntivo o avanzato, ad esempio in statistica / probabilità (programmazione scientifica e finanziaria), algebra astratta e teoria dei numeri (ad esempio per la crittografia).

Da studente il mio corso di discrete mathematics aveva il libro di testo Matematica discreta con applicazioni di Susanna Epp, e un altro libro che ho trovato nella mia libreria era Matematica discreta di Kenneth Ross e Charles Wright. Una buona copia di una di queste qualità è probabilmente un punto di partenza ragionevole (con o senza la combinazione con il MIT Open Course Ware, a seconda del tuo stile di apprendimento). Per l'auto-apprendimento, spesso trovo che avere due fonti a cui fare riferimento può aiutare a chiarire i punti che ho difficoltà a capire.

Un'alternativa che ho visto suggerito è Concrete Mathematics , Seconda edizione di Ronald L. Graham, Donald E. Knuth e Oren Patashnik. Al momento non riesco a trovare la mia copia e non l'ho elaborata diligentemente, quindi non posso formulare una raccomandazione a favore o contro di essa.

Dalla prefazione:

But what exactly is Concrete Mathematics? It is a blend of continuous and discrete mathematics. More concretely, it is the controlled manipulation of mathematical formulas, using a collection of techniques for solving problems.

Prenderò nota dei commenti scottanti di Bill the Lizard in questo post di blog " I programmatori di libri non leggono veramente ". Personalmente ancora trovo gli Algoritmi di Robert Sedgewick (ora 4a ed. .) meno intimidatorio e più accessibile.

Riguardo alla parte continua (cioè Real ) della matematica, Calculus di Stewart sembra essere un tomo usato frequentemente per insegnare agli studenti l'illuminazione che viene dalla differenziazione e integrazione.

    
risposta data 20.07.2011 - 02:14
fonte
6

Non è tanto la matematica di per sé, quanto il comfort e la fluidità con il formalismo matematico. Impara la terminologia degli insiemi di base e il formalismo corrispondente.

L'analisi degli algoritmi, specialmente nel contesto della teoria della complessità in cui si studia il problema computazionale sottostante (se si sta tentando di fare qualcosa di più sostanziale della notazione "Big-Oh"), richiede un investimento significativo nel tempo nella teoria dei grafi e nell'algebra astratta, il tutto in aggiunta a un'enorme dose di intelligenza innata.

    
risposta data 18.07.2011 - 20:35
fonte
1

Credo che sei a posto, a meno che tu non sia preoccupato per l'analisi degli algoritmi, non solo per la loro implementazione. Il corso di solito è di tipo UD e di matematica o CS nella maggior parte dei programmi scolastici.

Solo capire come implementare gli algoritmi in quel libro non dovrebbe essere un problema

    
risposta data 18.07.2011 - 17:57
fonte

Leggi altre domande sui tag