English
Algorithms and Data structures
This exam deals with:
- The development and analysis of algorithms that solve common problems, such as the research and the sorting of elements;
- Data structures, such as stacks, queues, lists and others, that support algorithms during execution;
- Computational complexity of an algorithm, in terms of time and space;
- Intrinsic complexity of problems, this disregards the complexity of the algorithms that solve them;
Articles
From Wikipedia:
- Best, worst and average case: https://en.wikipedia.org/wiki/Best,_worst_and_average_case;
- Master theorem: https://en.wikipedia.org/wiki/Master_theorem_(analysis_of_algorithms);
- Tree: https://en.wikipedia.org/wiki/Tree_(graph_theory);
- M-ary tree: https://en.wikipedia.org/wiki/M-ary_tree;
- Multigraph: https://en.wikipedia.org/wiki/Multigraph;
- Models of computation: https://en.wikipedia.org/wiki/Model_of_computation;
- Analysis of algorithms: https://en.wikipedia.org/wiki/Analysis_of_algorithms;
Dissertation on sorting algorithms in terms of computational analysis:
https://betterexplained.com/articles/sorting-algorithms/;Dissertation on Computational analysis:
https://cs.stackexchange.com/questions/192/how-to-come-up-with-the-runtime-of-algorithms;Dissertation on Computational analysis (Italian):
https://italiancoders.it/complessita-computazionale-parte-1/#tempo-ammortizzato;Complexity classes of an algorithm (Italian):
https://nocodenoparty.forumcommunity.net/?t=58018548;Implementation of queues and stacks using arrays (Italian):
http://www.science.unitn.it/~brunato/labpro1/strutture.html (Archived);Implementation of a queue using arrays:
http://www.cs.bu.edu/teaching/c/queue/array/types.html (Archived);Page of an old “Algorithms and data structure” course by prof. prof. Roberto Aringhieri (Italian):
http://www.dacrema.com/Informatica/perc_algo.htm (Archived);Difference between logarithmic and uniform cost criteria:
https://stackoverflow.com/questions/2883639/difference-between-logarithmic-and-uniform-cost-criteria;Some basic terms from Graph theory:
http://www.people.vcu.edu/~gasmerom/MAT131/graphs.html (Archived);
Videos
Free “Algorithms and Data Structures” course from nptelhrd:
https://www.youtube.com/watch?v=zWg7U0OEAoE&list=PLBF3763AF2E1C572F;Playlists by mycodeschool:
- All of them: https://www.youtube.com/user/mycodeschool/playlists;
- On “Time Complexity Analysis”: https://www.youtube.com/playlist?list=PL2_aWCzGMAwI9HK8YPVBjElbLbI3ufctn;
- Mergesort Analysis: https://www.youtube.com/watch?v=0nlPxaC2lTw;
Dissertation on “Best, Average and Worst Case Analysis” by saurabhschool:
https://www.youtube.com/watch?v=A_Y4bMFp3bo;Quicksort Analysis by Abdul Bari:
https://www.youtube.com/watch?v=-qOVVRIZzao;Mergesort Analysis by Kumaran Gunasekaran:
https://www.youtube.com/watch?v=t8gMKvpRtmQ;Exercise on complexity computation of an algorithm by randerson112358:
https://www.youtube.com/watch?v=AL7yO-I5kFU;
Italiano
Algoritmi e Strutture Dati
In questo esame vengono trattati:
- Lo sviluppo e l’analisi di algoritmi che risolvono problemi comuni, come la ricerca e l’ordinamento di elementi;
- Le strutture dati, come pile, code, liste, ed altre, che sono di supporto agli algoritmi;
- Complessità computazionale di un algoritmo, in termini di tempo e spazio;
- Complessità intrinseca dei problemi, che prescindono dalla complessità degli algoritmi che li risolvono;
Articoli
Da Wikipedia:
- Caso migliore, peggiore e medio: https://en.wikipedia.org/wiki/Best,_worst_and_average_case;
- Teorema master: https://en.wikipedia.org/wiki/Master_theorem_(analysis_of_algorithms);
- Alberi: https://en.wikipedia.org/wiki/Tree_(graph_theory);
- Albero M-ario: https://en.wikipedia.org/wiki/M-ary_tree;
- Multigrafo: https://en.wikipedia.org/wiki/Multigraph;
- Modelli di calcolo: https://en.wikipedia.org/wiki/Model_of_computation;
- Analisi di algoritmi: https://en.wikipedia.org/wiki/Analysis_of_algorithms;
Dissertazione sugli algoritmi d’ordinamento in termini di analisi computazionale:
https://betterexplained.com/articles/sorting-algorithms/;Dissertazione sull’analisi computazionale:
https://cs.stackexchange.com/questions/192/how-to-come-up-with-the-runtime-of-algorithms;Dissertazione sull’analisi computazionale (italiano):
https://italiancoders.it/complessita-computazionale-parte-1/#tempo-ammortizzato;Le classi di complessità di un algoritmo (italiano):
https://nocodenoparty.forumcommunity.net/?t=58018548;Implementazione di code e pile mediante array (italiano):
http://www.science.unitn.it/~brunato/labpro1/strutture.html (Archived);Implementazione di una coda con gli array:
http://www.cs.bu.edu/teaching/c/queue/array/types.html (Archived);Pagina di un vecchio corso di “Algoritmi e Strutture dati” del prof. Roberto Aringhieri (italiano):
http://www.dacrema.com/Informatica/perc_algo.htm (Archived);Differenza tra costo logaritmico e costo uniforme:
https://stackoverflow.com/questions/2883639/difference-between-logarithmic-and-uniform-cost-criteria;Alcuni termini di base della teoria dei grafi:
http://www.people.vcu.edu/~gasmerom/MAT131/graphs.html (Archived);
Video
Corso gratuito di “Algorithms and Data Structures” creato da nptelhrd:
https://www.youtube.com/watch?v=zWg7U0OEAoE&list=PLBF3763AF2E1C572F;Playlist create da mycodeschool:
- Tutte: https://www.youtube.com/user/mycodeschool/playlists;
- Analisi della complessità temporale: https://www.youtube.com/playlist?list=PL2_aWCzGMAwI9HK8YPVBjElbLbI3ufctn;
- Analisi del mergesort: https://www.youtube.com/watch?v=0nlPxaC2lTw;
Analisi del caso migliore, medio e peggiore, creato da saurabhschool:
https://www.youtube.com/watch?v=A_Y4bMFp3bo;Analisi del Quicksort, creato da Abdul Bari:
https://www.youtube.com/watch?v=-qOVVRIZzao;Analisi del Mergesort, creato da Kumaran Gunasekaran:
https://www.youtube.com/watch?v=t8gMKvpRtmQ;Esercizio di calcolo della complessità di un algoritmo, creato da randerson112358:
https://www.youtube.com/watch?v=AL7yO-I5kFU;