PDA

View Full Version : materiale didattico&non Algoritmi&Strutture Dati


DioBrando
20-01-2005, 21:43
Salve a tutti :)


Oltre a " Introduction to Algorithms" di Thomas Cormen ( che stò utilizzando) e "Algorithms and Data Structures" di Niklaus Wirth, avete altri testi da consigliare in proposito?

O anche del materiale online, italiano o inglese non fà una gran differenza...perchè con il primo testo n mi stò trovando particolarmente bene e il 2° beh ha cmq 20 anni, per quanto sia un classicone :p


Insomma se avete suggerimenti, sputate pure il rospo...

Thx a tutti ;)

fabianoda
21-01-2005, 10:16
Strano che non ti trovi bene con il Cormen... è probabilmente il miglior testo didattico.

Non capisco cmq a che livello ti serva il tutto: trovarti male cosa vuol dire per te? Poche informazioni o poco comprensibile?

Se è poco comprensibile basta che cerchi dispense dei vari argomenti, se hai poche informazioni (tipo devi fare una tesi) usa "Knuth - The art of computer programming". Considera xò che questo testo è molto difficile e ti serve solo per cose avanzate (inoltre è su più volumi - ti conviene prenderlo in prestito)

DioBrando
21-01-2005, 16:44
Originariamente inviato da fabianoda
Strano che non ti trovi bene con il Cormen... è probabilmente il miglior testo didattico.

che ti devo dire, n mi ci trovo...

E n credo cmq di essere l'unico.
Ho sfogliato vari feedbacks e uno di questi mi ha colpito perchè mi sn riconosciuto in parte delle argomentazioni espresse.

Te lo posto:

"In my 20 years in the computer industry I have seen a lot of textbooks.
This text is by far the worst book I have ever seen on any subject.

1) The psuedo code is worthless unless you are very familiar with the dead language APL. Why not use a language that some of the readers might have actually seen before?

2) The explanations seem intentionally convoluted. The author is more interested in trying to show how smart he is instead of helping the reader to understand the material. He skips numerous mathematical steps in almost every example. Giving the impression of finding the results by magic. The reader should not be forced to figure out the procedure by trial and error.

3) There are no answers to any of the exercises. The arrogance this displays is truly astounding. Does the author truly believe that the problems are so trivial that the answers are self-evident? If they were trivial then there would be no need for a text at all, we could just absorb the knowledge from the ether as the author seem to think we can.

4) The author never shows the reader how to put any of the algorithms to any practical use.

Here's the test for a good book. Can a person of reasonable intelligence, given this book, and enough time, learn the material unassisted? If the answer is no, then the author failed to do his job."



Non capisco cmq a che livello ti serva il tutto: trovarti male cosa vuol dire per te? Poche informazioni o poco comprensibile?


La risposta alla tua domanda stà nella parte di testo sottolineato; a volte sembra perdersi in ghirigori come un oratore innamorato della sua voce, perdendo di vista IMHO il punto centrale e cioè il funzionamento, lo scopo e se nel contesto, la complessitàò dell'algoritmo.

Non mi servono 1200 pagine di testo, ne preferisco 100 che chiariscano quei concetti base in modo da poterli assimilare e adattare per tutte le volte che mi troverò davanti a problemi che ne richiedano l'utilizzo.
Non sò se sn stato chiaro :)


Se è poco comprensibile basta che cerchi dispense dei vari argomenti,

ecco, è quello che ho provato a fare ma non ho alba francamente...ho cercato vario materiale, corrispondente a + università, ma se tu o qlc1 riuscisse a indirizzarmi + precisamente ( chessò "guarda il materiale del prof Rossi perchè è chiaro nelle sue esemplificazioni) sarebbe molto ma molto meglio :)


se hai poche informazioni (tipo devi fare una tesi) usa "Knuth - The art of computer programming". Considera xò che questo testo è molto difficile e ti serve solo per cose avanzate (inoltre è su più volumi - ti conviene prenderlo in prestito)

Ho dato un'occhiata ma ora come ora utilizzerei sicuramente il primo volume e forse qlc dei due restanti, ma n molto...
Mi servirebbe materiale + "povero" di info ma chiaro e n soggetto ad interpretazioni.

Il problema, almeno dal mio pdv, è che se tra dispense fornite, lezioni frontali ( e quindi relativi appunti) e testo di riferimento, vi sn 3 modi su 3 per esprimere gli stessi concetti e quindi 3 diverse stesure di uno stesso algoritmo, di certo non mi facilita la comprensione.




cmq intanto ti ringrazio dell'interessamento :)

fabianoda
22-01-2005, 07:31
Se mi dici più o meno quali sono gli argomenti ti posso dare una mano cercando nelle dispense che ho o nei libri.

Basta che mi fai un piccolo elenco (le dispense di solito sono tematiche - se vuoi dammi un link al programma del corso)

NA01
22-01-2005, 09:11
ah, oltre al materiale che ti ho mandato e ai "classici" avevo letto anche "algoritmi in c" di robert sedgewick.
ha un inizio terrificante, veramente da mettere l'autore sul rogo. poi si riprende abbastanza.

ciao

DioBrando
22-01-2005, 11:31
Originariamente inviato da NA01
ah, oltre al materiale che ti ho mandato e ai "classici" avevo letto anche "algoritmi in c" di robert sedgewick.
ha un inizio terrificante, veramente da mettere l'autore sul rogo. poi si riprende abbastanza.

ciao

proverò a dare un occhio thx, anche se preferirei focalizzarmi sul Java ( che è il mio linguaggio, volente o nolente)...

DioBrando
22-01-2005, 11:37
Originariamente inviato da fabianoda
Se mi dici più o meno quali sono gli argomenti ti posso dare una mano cercando nelle dispense che ho o nei libri.

Basta che mi fai un piccolo elenco (le dispense di solito sono tematiche - se vuoi dammi un link al programma del corso)

Ecco qui:

1. Introduzione e nozioni preliminari

Introduzione. Elementi di logica e teoria degli insiemi. Alberi e grafi. Matematica discreta e analisi asintotica. Modelli di calcolo per la determinazione della complessità degli algoritmi. Problemi ricorsivi e aspetti algoritmici.

2. Algoritmi di ricerca e ordinamento

Algoritmi primitivi di ordinamento e ricerca: selection-sort, insertion-sort, bubble-sort, heap-sort. Algoritmi ricorsivi: quick-sort, merge-sort. Analisi della complessità e limiti inferiori. Algoritmi lineari non basati sul confronto: counting-sort, radix-sort, bucket-sort. Determinazione dell'elemento medio.

3. Strutture dati

Strutture dati primitive: liste, pile, code, heap. Algoritmi e strutture dati per la gestione e manipolazione di insiemi: tabelle hash, alberi di ricerca, bilanciamento, red-black alberi e B-alberi. Algoritmi e strutture dati per il problema Union-Find. Cenni alle strutture dati self-adjusting.

4. Algoritmi sui grafi

Tecniche di rappresentazione di grafi orientati e e non orientati. Algoritmi di visita in ampiezza e profondità. Algoritmi di visita su alberi. Calcolo delle componenti fortemente connesse. Algoritmi per la determinazione di topological-sort, minimum spanning tree (Prim e Kruskal), cammino minimo da una sorgente (Dijkstra, Bellmann-Ford) cammini minimi da sorgenti multiple (Floyd-Warshall, Johnson).


Un pò stringato ma è questo :)

NA01
22-01-2005, 12:30
Originariamente inviato da DioBrando
proverò a dare un occhio thx, anche se preferirei focalizzarmi sul Java ( che è il mio linguaggio, volente o nolente)...
allora "algoritmi in java" stesso autore :D
se nonlo trovi sul sito puoi prendere il codice degli esempi in tutti i linguaggi che vuoi

ciao!

DioBrando
22-01-2005, 14:12
Originariamente inviato da NA01
allora "algoritmi in java" stesso autore :D
se nonlo trovi sul sito puoi prendere il codice degli esempi in tutti i linguaggi che vuoi

ciao!

proviamo :)


anche se dubito arriveremo ad applicarli a un qualsivoglia linguaggio.


:muro: