Esta obra tem como objetivo fornecer uma competência sólida no desenvolvimento de programas de média e elevada complexidade e um conhecimento profundo sobre estruturas de dados avançadas e algoritmos complexos, usando a linguagem de programação C e aplicando o paradigma da programação modular. Assim, utiliza uma metodologia que dá particular ênfase à decomposição funcional das soluções, através da implementação de tipos de dados abstratos. Inclui exemplos, exercícios, programas e leituras recomendadas, com vista a facilitar a aprendizagem dos alunos.
Para atingir este objetivo, o livro está organizado em cinco grandes temas:
· Estudo do paradigma da programação modular na linguagem C, apresentando os aspetos fundamentais para implementar tipos de dados abstratos aplicando a metodologia de programação defensiva;
· Estudo das principais estruturas de dados dinâmicas;
· Estudo das principais classes de algoritmos;
· Estudo da implementação dos diferentes tipos de memórias;
· Estudo do tipo de dados abstrato grafo/dígrafo e seus algoritmos mais importantes.
Nesta nova edição foram acrescentadas secções sobre Árvore Rubinegra, Árvore Autoequilibrada, Caminhos e circuitos hamiltonianos, Circuitos e caminhos eulerianos.
Este livro é dirigido aos estudantes de disciplinas de programação, que frequentam licenciaturas que exijam conceitos sólidos de programação, um conhecimento profundo sobre algoritmos e estruturas de dados avançadas e implementação de tipos de dados abstratos na linguagem C, assim como a programadores.
Este livro disponibiliza ainda a correspondência dos principais termos técnicos para o português do Brasil.
Principais temas abordados no livro:
· Recursividade;
· Programação Modular;
· Listas;
· Árvores;
· Pesquisa, Seleção e Ordenação;
· Memórias;
· Filas e Pilhas;
· Memórias Associativas;
· Filas com Prioridade;
· Grafos;
· Outros Tópicos de Programação.
António Adrego da Rocha
Professor Auxiliar no Departamento de Eletrónica, Telecomunicações e Informática da Universidade de Aveiro. A sua atividade de investigação tem sido dedicada à simulação e análise de algoritmos em linguagem C, na modelação e simulação em VHDL de arquiteturas de máquinas de estados finitas hierárquicas e na sua síntese em C++. No decurso da sua atividade pedagógica tem lecionado Programação em Pascal, Sistemas Operativos, Sistemas Digitais, Programação em VHDL, Programação em linguagem C, Programação em linguagem Java, Algoritmos e Estruturas de Dados Avançadas e Programação em Assembly. Autor dos livros Análise da Complexidade de Algoritmos, Estruturas de Dados e Algoritmos em Java, Introdução à Programação em Java, Introdução à Programação usando C e Programação Avançada usando C, todos publicados pela FCA.