-
Presentation
Presentation
Analyze the complexity of the main dynamic data structures: arrays, arrays, stacks and queues. Study the main search and sort algorithms. Implement the structures and algorithms in C. This course aims to develop abstraction and problem-solving skills through the specification of algorithms and data structures. The objective is to work in the student's ability to understand a problem, designing the algorithm based solution and to understand the relevant aspects to its translation into a programming language.
-
Class from course
Class from course
-
Degree | Semesters | ECTS
Degree | Semesters | ECTS
Bachelor | Semestral | 6
-
Year | Nature | Language
Year | Nature | Language
1 | Mandatory | Português
-
Code
Code
ULP452-18752
-
Prerequisites and corequisites
Prerequisites and corequisites
Not applicable
-
Professional Internship
Professional Internship
Não
-
Syllabus
Syllabus
1. Concepts of Algorithms and Data Structures Algorithm and problem modeling Representation and algorithmic notation Data Types and Structures Analysis of the efficiency of algorithms 2. Dynamic data structures Vectors and Matrices Stacks and Rows 3. Ordering and Research Sorting and Search Algorithms Search: sequential, binary, hashing Comparison of algorithms 4. Recursion Basic concepts Factorial Function, Fibonacci Classic problems of recursive functions 5. Implementation in C Algorithm and Programming Programming languages Algorithm Implementation Introduction to C programming
-
Objectives
Objectives
Knowing how to define an algorithm; Being able to analyze the complexity and efficiency of the most relevant algorithms; Being able to implement the most relevant data structures, namely arrays, matrices, stacks and queues; Use algorithmic techniques such as search, sorting; Understand and implement recursive programming techniques; Learn to identify the problems of imperative and procedural programming and outline the fundamental principles of software engineering.
-
Teaching methodologies and assessment
Teaching methodologies and assessment
Use of integrated programming environments (IDE) in order to implement the algorithms and problems (exercises) analysed in the classroom.
-
References
References
Vasconcelos, J.B. Python: Algoritmia e Programação Web , Editora FCA Informática, Grupo Lidel, 2015. Vol. 1. 328 p. ISBN: 978-972-722-813-3. Cormen,T.; Leiserson, C.; Rivest, R.; Stein,C.; Introduction to Algorithms .The MIT Press. 3rd Ed. 2009. ISBN 0262033844. Vasconcelos, J.B.; Carvalho, J.V.; Algoritmia e Estruturas de Dados . Centro Atlântico. 1ª Ed. 2005. ISBN 9896150125.
-
Office Hours
Office Hours
-
Mobility
Mobility
No