Programação em C++ - Algoritmos e Estruturas de Dados
de Pedro Pereira, Manuela Sousa e Pimenta Rodrigues
Sobre o livro
Este livro constitui o segundo duma série de três volumes que trata
pedagogicamente os tópicos referentes ao desenvolvimento de aplicações em
linguagem C++, assumindo que os leitores dominam a linguagem C++ ao nível que
foi abordada no primeiro volume.
Destina-se a ser usado como manual para uma segunda disciplina de
programação, disciplinas de algoritmos e estruturas de dados ou para quem
pretenda aprender a programar como autodidacta. Pode também ser utilizado por
programadores experimentados noutras linguagens, para se familiarizarem com a
linguagem C++, com os componentes da biblioteca standard ANSI/ISO e com o
Paradigma de Programação Genérica em que ela se suporta.
O tratamento do tema cobre a generalidade dos componentes da biblioteca STL (Standard
Template Library).
Principais Tópicos
Optimização de desempenho, idioma handle/body, apontadores inteligentes.
Especialização de templates, traits.
Contentores sequenciais
vector, list, deque, stack, queue, priorty_queue.
ABP, Huffman, B-Tree, Red-Black.
set, multiset, map, multimap, hashSet, hashMultiset, hashMap, hashMultimap.
Iteradores, algoritmos, contentores, objectos função, allocators.
INDICE
1. Complementos sobre classes
Introdução
Sobrecarga (overload) de operadores
Coerção de tipos-classe
Métodos especiais das classes
Sobrecarga do operador Indexação
Sobrecarga do operador desreferência
Sobrecarga do operador chamada a função
Resumo
Exercícios
2. Optimização de desempenho
Introdução
Classe String
Classe Bigint
Classe Fraction
Resumo
Exercícios
3. Templates e derivação
Introdução
Templates de classes e de funções
Derivação de classes e métodos virtuais
Resumo
Exercícios
4. Contentores sequenciais
Introdução
Generalidades
Template de classes allocator
Template de classes Container
Template de classes vector
Template de classes list
Template de classes deque
Ring buffer
Resumo
Exercícios
5. Árvores Binárias
Introdução
Árvore binária de pesquisa (ABP)
Árvores binárias organizadas em heap
Adaptador sequencial priority_queue
Árvores Huffman
Resumo
Exercícios
6. Árvores Balanceadas
Introdução
Estruturas B-Tree - (árvores de Bayer)
Implementação de B-Tree em memória
Árvores red-black
Implementação de B-Tree em stream
Resumo
Exercícios
7. Contentores associativos
Introdução
Contentores associativos standard
Tabelas hash
Compactador de dados com dicionário
Resumo
Exercícios
8. Biblioteca STL
Introdução
Descrição genérica da Biblioteca C++
Iteradores
Utilitários gerais
Objectos função
Allocator standard e auto_ptr
Contentores
Algoritmos
Aplicação da STL
Resumo
Exercícios