2010-02-20 14 views
52

Potete consigliarmi un libro o (meglio!) Un sito con molti problemi rigidi e sulle strutture dati?Nozioni di base sugli algoritmi di apprendimento e strutture dati

Sto già rispondendo alle domande del progetto Eulero, ma queste domande riguardano algoritmi interessanti, ma non comuni. Ho usato a malapena anche un semplice albero. Forse c'è un sito con esercizi come: hey, devi calcolare questo: .... Fallo usando un albero. Ora fallo usando una cerniera. Carica la tua soluzione C (Haskell, Lisp, anche Pascal o Fortress go). Oh, la tua soluzione è così lenta!

L'autoeducazione è molto difficile quando si cerca di imparare molto , cose fondamentali. Come posso aiutarmi con loro senza frequentare corsi o altro?

+0

ho trovato wikipedia per essere realmente abbastanza buono in questo senso. Non proprio con esercizi, ma con esempi e pseudocodici. – falstro

+0

Penso che sia come imparare la lingua [umana] usando un dizionario. Ma wikipedia mi aiuta molto, ovviamente! –

+2

un'altra risorsa wiki: http://www.algorithmist.com/index.php/Main_Page –

risposta

22

Introduction to Algorithms, Third Edition, by Cormen, Leiserson, Rivest and Stein è una buona introduzione agli algoritmi e alle strutture dati. Ha molti esercizi alla fine di ogni capitolo. molti di questi sono semplici, ma ce ne sono alcuni più difficili.

+0

oh, grazie! Ho anche trovato questo corso in iTunes U :) –

+1

Il classico! Anche i libri di Knuth sono buoni, ma io tendo a trovare CLRS meno dettagliato e più approfondito in alcuni punti. –

+1

il linguaggio di programmazione che stanno usando nell'edizione 3 del libro CLRS. grazie in anticipo – obo

0

Un buon libro di testo con esercizi alla fine sembra il modo migliore per andare.

+0

puoi nominarne una? :) –

+1

Ho usato CLRS e il "Manuale di progettazione dell'algoritmo" di skiena. – Pranav

18

Lezioni video di Programma nazionale per l'apprendimento avanzato della tecnologia (NPTel) allo NPTEL Youtube channel. Questi sono stati condotti da sette IIT e IISc Bangalore dell'India e finanziati dal MHRD, Govt of India.

Molte altre engineering lectures.

+0

Oh grande grazie !!! Ci sono esercizi per queste lezioni? –

+0

Questo è davvero un grande canale. Grazie per la condivisione. – VVV

+0

Preferisco usare ClipMine per ottenere conferenze video con tag. https://www.clip.mn/search/?q=%23nptelhrd+algorithms&search_type=clipmine –

9

Questo ha da duplicare.

Suggerirei il sito di corsi aperti MIT here. Ci sono corsi di algoritmi nella sezione "Ingegneria elettrica e informatica" in qualche modo in fondo alla pagina.

6.006 - Introduction to Algorithms 
6.046J - Introduction to Algorithms (SMA 5503) 

Consiglio quest'ultimo. I materiali sono sul sito. I video sono probabilmente meglio accessibili da YouTube here - cerca "algoritmi mit". Il textbook è ben rispettato. La terza edizione è appena uscita, la seconda edizione corrisponde al corso. La prima edizione è stata inclusa anche come parte di Dr Dobbs Algorithms and Data Structures CD ROM.

Niklaus Wirth ha un libro Algoritmi e strutture dati disponibile per il download dal suo personal site. Ho la versione di stampa Modula 2, e anche se non è un sostituto di Cormen (o aho hopcroft ullman, ecc.) È un bel libro da avere.

3

Oltre al già citato Cormen, Leiserson e Rivest, c'è anche un nuovissimo libro di Peter Brass, "Advanced Data Structures". Ha un codice di esempio relativamente brutto in C, e l'autore è un po 'fanatico delle prestazioni (ad esempio, non usa la ricorsione), ma il contenuto teorico di quel libro è brillante e unico, difficilmente si interseca con Cormen. Mi aspetto che diventi un classico.

+0

grazie! molto interessante –

0

addizionale veramente buono libro di testo Introduzione agli algoritmi, terza edizione, dal Cormen, Leiserson, Rivest e Stein, vi consiglio vivamente di guardare la linea disponibili video di lezioni tenute da Leiserson al MIT.Se avete il libro e le lezioni, è come se stessi studiando al MIT ;-)

http://videolectures.net/mit6046jf05_introduction_algorithms/

14

Impressionante eBook gratuito - «Data Structures and Algorithms». Contiene l'implementazione degli algoritmi comuni in pseudocodice e in una forma esplicita. Inoltre, schemi e grafica abbastanza belli e comprensibili.

Anche Jon Skeet mentioned that nel suo blog. :-)

Inoltre, questo è un libro di meno di 100 pagine (come forse sapete, molti programmatori don't read some books).

+0

Non penso che questo libro abbia superato la prima edizione - ci sono alcuni errori (es. http://stackoverflow.com/questions/11379467/how-does-this-bst-node-deletion-algorithm-work) ma è breve e gratuito. – Ben

1

Se si desidera un'alternativa illuminante per algoritmi di apprendimento, è sempre possibile provare: Rabhi F., Lapalme G. Algorithms.. a functional programming approach.

Gli autori sfidano più tradizionali metodi di algoritmi di insegnamento da utilizzando una funzionale programmazione contesto, con Haskell come lingua implementazione. Ciò porta a programmi più piccoli, più chiari e più eleganti che consentono al programmatore di comprendere più rapidamente l'algoritmo e di utilizzare tale comprensione per esplorare soluzioni alternative . Ponendo l'accento sulla lo sviluppo del programma, piuttosto che le proprietà matematiche di algoritmi, il libro utilizza una serie di esempi di programmazione pratici per sviluppare nel lettore di problem-solving competenze che possono essere facilmente trasferiti ad altri paradigms.to lingua altri paradigmi linguistici.

Per quanto riguarda un sito con (duro) esercizi che puoi sempre provare a risolvere, ti consiglio: spoj.

2

http://www.youtube.com/watch?v=QMV45tHCYNI

CS 61B: strutture dati - autunno 2006

Istruttore: Jonathan Shewchuk

fondamentali strutture dati dinamiche, comprese le liste lineari, code, alberi e altre strutture collegate; stringhe di matrici e tabelle di hash. Gestione dello storage Principi elementari di ingegneria del software. Tipi di dati astratti. Algoritmi per l'ordinamento e la ricerca. Introduzione al linguaggio di programmazione Java.

Inoltre si può leggere questo libro per Algoritmi ..

http://www.amazon.com/Data-Structures-Algorithms-Made-Easy/dp/1466304162

Problemi correlati