Code |
9102
|
Year |
2
|
Semester |
S2
|
ECTS Credits |
6
|
Workload |
PL(30H)/T(30H)
|
Scientific area |
Informatics
|
Entry requirements |
Knowledge about C programming language.
|
Mode of delivery |
Direct
|
Work placements |
Not applicable
|
Learning outcomes |
This curricular unit has as objectives: - to acquire knowledge about algorithms, in particular recursive, sorting and searching algorithms, and hash tables; - evaluation of the complexity of algorithms; - to acquire knowledge about data strutures with sequential acess (linked lists, stacks, queues and jumps lists) and non-sequential acess (binary trees).
At the end of this curricular unit the student should be able - to solve problems using C and he/she should understand the concepts studied; - to developed skills on using algorithms, particularly in problems involving recursion, sorting and/or searching. - to assess the efficiency of the algorithms by analyzing the technical complexity, in order to select the most efficient algorithms to solve any given problem. - to idealize, schematize and implement data structures and their algorithms in order to solve problems.
|
Syllabus |
PART A - ALGORITHMS 1. Dynamic allocation of resources 2. Binary files 3. Recursive algorithms 4. Analysis of the complexity of Algorithms 5. Sorting algorithms: iteratives (selection sort and Bubble sort) and recursives (Quick sort and Merge sort) 6. Searching algorithms: iteratives (exhaustive search, sequential search and binary search) and recursive (binary search) 7. Hash tables PART B - DATA STRUCTURES 1. Abstract Data types 2. Sequential data structures: linked lists 3. Non-sequential data structures: binary trees and ordered binary trees
|
Main Bibliography |
Main: - "Estruturas de Dados e Algoritmos em C", Tecnologias de Informação, António Manuel Adrego da Rocha, FCA - Editora Informática, 2008 - "Linguagem C", Luís Damas, FCA - Editora de Informática, 1999 Complementary: - "Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms", By Robert Sedgewick, Addison-Wesley Professional; 3rd Edition, 2001 - "Elementos de Programação com C", 3ª Edição Actualizada e Aumentada, Pedro Guerreiro, FCA - Editora Informática, 2006
|
Language |
Portuguese. Tutorial support is available in English.
|