You need to activate javascript for this site.
1. Home
2. Courses
3. Mathematics and Applications
4. Algorithms and Data Structures

# Algorithms and Data Structures

 Code 14799 Year 3 Semester S2 ECTS Credits 6 Workload PL(30H)/T(30H) Scientific area Informatics Entry requirements Notion of block. Iterative and Conditional Blocks. Notions of structured programming. C Language. Mode of delivery Face-to-face Work placements (Not applicable) Learning outcomes The main goals of this course are related with the students’ understanding of complex and advanced data structures and algorithms and their use for solving classical and new computational problems.Students should understand:- Advanced Data Structures such as balanced and unbalanced trees, directed and undirected graphs, sparse and dense graph representations, string processing.- How to select the most appropriate data structures, given a practical problem.- How to select the most appropriate algorithms for a given set of data structures.- Mathematical techniques to analyse the spatial and algorithms’ temporal complexity.Upon the conclusion of the course, students shall be able to:- Explain the requirements of efficiency and performance for algorithms and data structures.- Analyse the computational (spatial, temporal) complexity of programs.- Implement programs using the algorithms and data structures studied. Syllabus INTRODUCTION C languageALGORITHMS Recursive algorithms Computational complexitySEQUENTIAL DATA STRUCTURES Linked lists (single) Stacks Queues Amortized AnalysisNON-SEQUENTIAL DATA STRUCTURES - TREE Binary tree Search binary tree Balanced search binary tree Advanced balanced search binary tree HeapNON-SEQUENTIAL DATA STRUCTURES - GRAPHS Undirected and directed graphs Sparse and dense graphs Graph Search Algorithms Graph problemsSTRINGS String Sets Searching and sorting Exact sub string matching Suffix trees, tries and arrays Main Bibliography "Competitive Programmer’s Handbook"; Antti Laaksonen; Draft July 3, 2018 "Algorithms", 4th Edition, 2011; Robert Sedgewick and Kevin Wayne; Addison Wesley, ISBN-13: 978-0321573513"Introduction to Algorithms", 3rd Edition, 2009; Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein; MIT Press, ISBN-13: 978-0262033848"Estruturas de Dados e Algoritmos em C", 2008; António Manuel Adrego da Rocha; FCA-Editora de Informática. Coleção: Tecnologias de Informação; ISBN: 9789727222957"Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms", 3rd Edition, 2001; By Robert Sedgewick; Addison-Wesley Professional; ISBN: 0201756080"Data Structures and Algorithm Analysis", Edition 3.2 (C++ Version), 2013; Clifford A. Shaffer; Department of Computer Science, Virginia Tech. Teaching Methodologies and Assessment Criteria In order to guarantee that students achieve the main goals expected for this course, classes will be divided into the following types:- 2h/week theoretical classes (T) for showing the main theoretical concepts, methods and algorithms, using the board, oral discussion and data projection as main tools;- 2h/week practical classes (PL), which will serve for applying and testing concepts learned during the theoretical classes, by problem solving and exercise sheets;- 2h/week of tutorial sessionsEvaluation:- The evaluation is carried out by two written tests (7 points each), and 3 practical tests (6 points)- Final exam for admitted students Language Portuguese. Tutorial support is available in English.

### Course

Mathematics and Applications
Last updated on: 2022-06-16

The cookies used in this website do not collect personal information that helps to identify you. By continuing you agree to the cookie policy.