Questo sito utilizza cookie tecnici e di terze parti. Se vuoi saperne di più o negare il consenso consulta l'informativa sulla privacy. Proseguendo la navigazione o cliccando su "Chiudi" acconsenti all'uso dei cookie. Chiudi
vai al contenuto vai al menu principale vai alla sezione Accessibilità vai alla mappa del sito
Login | Italiano  English
 
Home page

Algorithms and Data Structures

Degree course Information and Communication Technologies (ICT) Engineering
Curriculum Curriculum unico
Learnings Orientamento unico
Academic Year 2016/2017
ECTS 6
Scientific Disciplinary Sector ING-INF/05
Year Second year
Time unit First semester
Class hours 48
Educational activity Formative educational activities

Single group

Professor FRANCESCO ANTONIO BUCCAFURRI
Objectives Understanding the concept of abstract data type as a way to represent real-life information. Knowledge of the main algorithms, with particular emphasis on graph algorithms (and applications to computer networks). Kowledge of the main techniques of programming and analysis of the complexity of algorithms. Ability to apply theoretical concepts in solving computational problems and appropriate use cases. Acquisition of a good level of autonomy in learning the techniques of algorithm design and implementation according to the object-oriented paradigm (referring to Java). Ability to communicate with technical competence with other partners in a team of large-scale implementation. Ability to learn new programming techniques and data structures as well as different languages following the object-oriented paradigm.
Programme Introduction
Problems and Algorithms
Computability and Church-Turing conjecture
Computational Complexity of problems and algorithms (notations O, Omega, Theta)

Abtract Data Type and Data Structures
Array, Matrices, Linked Lists, Ordered linear structures, Queues, Stacks, Heap, Binary Trees, Binary Search Tree, n-ary Trees, Priority Queues, Associative Arrays, Dictionaries Hash Tables, Sets, Graphs.

Basic Algorithms, Programming Techniques and Graph Algorithms
Basic Graph Algorithms (Reachability, Connected Components, Spanning Tree), Search and Sort Techniques, Divide et Impera (with example like: Binary Search, Merge Sort, Bubble Sort, Factorial, Fibonacci series, etc.), Recursive equations describing the cost of Divide et Impera techniques.
Greedy Techniques (Knapsack 0-1 and real number Knapsack, Dijkstra Algorithm, Prim Algorithms, Implementation through array and indexed heap)
Examples of Application to Computer Networks.

OO Programing in Java
OO di Java. Implementation of Data Structures and Algorithms
Books • Camil Demetrescu, Umberto Ferraro Petrillo, Irene Finocchi, Giuseppe F. Italiano,
Progetto di algoritmi e strutture dati in Java, McGraw-Hill.
• Cormen-Leiserson-Rivest: Introduzione agli algoritmi e strutture dati 2a ediz.,
McGrawHill.
• Ausiello, et al., Teoria e Progetto di Algoritmi Fondamentali, Franco Angeli.
• A.A., Bertossi, Strutture, Algoritmi, Complessita', ECIG, Universita' di Pisa.
• Cay Horstmann, Concetti di informatica e fondamenti di Java, Apogeo.
• Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano, Algoritmi e strutture dati
2/ed, McGraw-Hill.
Traditional teaching method Yes
Distance teaching method No
Mandatory attendance No
Written examination evaluation Yes
Oral examination evaluation Yes
Aptitude test evaluation No
Project evaluation No
Internship evaluation No
Evaluation in itinere No
Practice Test No

Further information

No document in this course
No news posted
No class timetable posted
Via dell'Università, 25 (già Salita Melissari) - 89124 Reggio Calabria - CF 80006510806 - Fax 0965 332201 - URP:Indirizzo di posta elettronica dell'ufficio relazioni con il pubblico- PEC:Indirizzo di posta elettronica certificata dell'amministrazione
Feed RSS Facebook Twitter YouTube Instagram

PRIVACY - NOTE LEGALI - ELENCO SITI TEMATICI