IPLUSO 13558
Algorithms and Data Structures
Computer Engineering and Applications
-
ApresentaçãoPresentationThe paradigm shift in the concept of computing went from solving problems via programming in automatic calculation machines to manipulating information obtained via remote machines. Therefore, the focus moved from the program to the organization of information and as such to the methods of storing this information. Changing this paradigm will lead to an emphasis on optimizing data organization in terms of ease of access and management. The study of data structures that are more complex than simple native structures is a first step in acquiring skills in information organization for a possible understanding of information manipulation applications from the applications' point of view.
-
ProgramaProgrammeCP1: Complexity, classes, typical functions and algorithm analisys; CP2 : Complexity and recursivity; CP3 : Sorting and selection algorithms; CP4 : Sorting algorithms: Insertion Sort, Selection Sort, Merge Sort and Quicksort; CP5: Compare the complexity of sorting algorithms ( Quicksort programming ); CP6 : Abstract data types: Stack and Queue; CP7: Circular arrays, simple lists and linked lists; CP8: Implementing Queue and List ; CP9: Using Dictionaries and Sets; CP10: Binary Trees; CP11 : Progrmming binary trees; CP12: Basic notions of graphs.
-
ObjectivosObjectivesLO1: Recognize the paradigm shift in terms of programming. LO2: Understand the differences between native variables and complex variables. LA3: Know and use complex variables such as stacks, queues, trees, and graphs. LO4: Understand the most significant search and sorting algorithms LO5: Understand tree and graph search algorithms. LO6: Understand the concept of complexity.
-
BibliografiaBibliographyCormen, Thomas H. - Algorithms Unlocked . Cambridge, Massachusetts : MIT Press, 2013. Tamassia, Roberto, Goldwasser, Michael H., Goodrich, Michael T. - Data Structures and Algorithms in Python. First Edition. USA: Wiley, 2013
-
MetodologiaMethodologyUse of exercise-based learning methodology through which students are encouraged to autonomously develop solutions for problems that are posed to them, and that address most of the topics taught.
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureMandatory
-
EstágioInternshipNão