PDA

Visualizza la versione completa : Riferimenti ad algoritmi


KrOW
15-02-2009, 16:30
Ciao a tutti ... Spero di aver postato nella sezione giusta ... Essendo io un autodidatta, non ho una gran conoscenza degli algoritmi tipici nel campo della programmazione (esempio bubble sort), quindi vorrei chedervi dei riferimanti (siti, pdf e chi più ne ha più ne metta) riguardo ai più diffusi algoritmi ... Ringrazio anticipatamente ...
PS: possibilmente che spieghino il funzionamento in pseudocodice o in C/C++

YuYevon
15-02-2009, 17:31
Di materiale sul web ce n'è a tonnellate... precisamente cosa ti occorre e a quale livello? Ti interessano solo algoritmi di ordinamento o anche altro? Se anche altro, cosa di preciso? Sei interessato anche ad argomenti come complessità temporali asintotiche, dimostrazioni formali e roba simile?

Dai qualche indicazione in più perché l'argomento è estremamente vasto, come probabilmente già saprai :)



algoritmi tipici nel campo della programmazione


non dice molto questo perché praticamente (quasi) tutti gli algoritmi di cui esiste una letteratura in informatica sono sfruttati anche nelle applicazioni pratiche. Gli informatici difficilmente perdono tempo su cose che non hanno alcuna utilità pratica (almeno per quelli che sono stati i miei studi fino ad adesso).

KrOW
15-02-2009, 18:13
Mi occorre del materiale che copre un pò tutto (algoritmi d' ordinamento, di criptazione, di compressione ecc) ovviamente a livello assolutamente da principiante (sigh) ... complessità temporali asintoniche ?!?! non so nemmeno cosa siano (qualcosa da mangiare??? :D)

Vincenzo1968
15-02-2009, 18:50
La cosa migliore è studiarli sui libri:

Cormen:
http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262032937
http://www.catalogo.mcgraw-hill.it/catLibro.asp?item_id=1920

Sedgewick:
http://www.amazon.com/Algorithms-Parts-1-5-Bundle-Fundamentals/dp/0201756080/ref=sr_1_8?ie=UTF8&s=books&qid=1234719013&sr=1-8
http://www.libreriauniversitaria.it/algoritmi-sedgewick-robert-pearson-education/libro/9788871921518

Knuth:
http://www-cs-faculty.stanford.edu/~knuth/taocp.html

Il Cormen è uno dei migliori testi che mi sia mai capitato di leggere sull'argomento(esempi in pseudocode). Molto buono anche il Sedgewick(esiste, di questo libro, anche la versione per C++ e Java). I tre volumi di "The Art of Computer Programming" di Knuth, costituiscono la bibbia nel campo degli algoritmi).

Io ti consiglio di acquistare il primo(Cormen) e, più in la, anche gli altri due.

Sul web, gratis, trovi i pdf dei vari corsi universitari. Eccone alcuni:

http://people.na.infn.it/~bene/ASD/Benerecetti/ModuloA-2005-2006/

http://home.dei.polimi.it/comai/info3/materiale_scaricabile.htm

http://www.di.unito.it/~damiani/DIDATTICA/aa0405/AlgELab/

http://www.cs.utexas.edu/~lavender/courses/EE360C/

http://oucsace.cs.ohiou.edu/~razvan/courses/cs404/index.html

YuYevon
15-02-2009, 19:46
Originariamente inviato da Vincenzo1968
Il Cormen è uno dei migliori testi che mi sia mai capitato di leggere sull'argomento(esempi in pseudocode).

Quoto in toto, per la precisione il testo si chiama "Introduzione agli algoritmi e strutture dati" (seconda edizione) ma francamente se ti definisci "principiante" non so quanto possa corrispondere ai tuoi bisogni, trattandosi di un capolavoro di svariate centinaia di pagine con innumerevoli discussioni teoriche e dimostrazioni formali per ogni algoritmo, classe di algoritmi o struttura dati trattati oltre che con precisi calcoli matematici per determinare quella che ti dicevo prima, cioè la complessità temporale asintotica degli algoritmi (in maniera estremamente ridotta all'osso: l'ordine di grandezza del tempo impiegato dall'algoritmo per l'intera computazione, espresso in funzione della taglia del suo input).

Vincenzo1968 ti ha già linkato un po' di roba... ti posso aggiungere le slide del mio corso di laurea che trovi qui:

http://cvprlab.uniparthenope.it/staff/salvi/index.php?tab=teaching&temp=teaching_files/asd_09.htm

che sono un po' il riassiunto (piuttosto semplificato anche) del suddetto libro.

KrOW
15-02-2009, 20:21
Prima di aquistare il libro vorrei sapere se riuscirei a capirlo (tenete conto che sono so praticamente nulla a riguardo)

YuYevon
15-02-2009, 20:31
Guarda secondo me è un libro assolutamente complesso, io ho cominciato a studiarci sopra già con qualche conoscenza alle spalle e nonostante questo l'ho trovato (e lo trovo) spesso abbastanza tosto, quindi se addirittura dici di essere completamente nuovo dell'argomento penso proprio che non sia la scelta giusta per "iniziare"... se proprio vuoi farti un'idea, prova a leggere gli appunti online delle varie università, che in genere sono sempre più semplificati. Se già su quelle trovi difficoltà, allora almeno per il momento stai lontano dal Cormen-Leiserson-Rivest-Stein che potrebbe essere pericoloso ^^

KrOW
15-02-2009, 21:06
E con che cosa mi consiglieresti di incominciare ??? (magari qualcosa su internet)

YuYevon
15-02-2009, 21:27
Ti consiglio di provare a leggere le slide di qualche corso universitario, come quelle che ti ha linkato Vincenzo o quelle del mio CDL che ti ho linkato prima... che poi, da quello che ho visto, le slide dei vari corsi di laurea sono più o meno sempre le stesse, copiate e scopiazzate...

Non so quanto possano sembrarti utili e/o di facile comrpensione... il punto è che non riesco a vederle con gli occhi di chi è completamente nuovo all'argomento (visto che io un po' di esperienza già ce l'avevo quando ho cominciato a studiarle)... magari provaci, almeno così potrai stabilire il tuo grado di "affinità" con l'argomento per poi cercare una fonte più semplice o magari più approfondita.

KrOW
15-02-2009, 23:33
E allora ti porgo un' altra domanda . . . Come hai fatto quelle prime esperienze???

Loading