Prefácio
Sobre os autores
Agradecimentos
Guia ITA
I Introdução
1
Preliminares
1.1
Motivação
1.2
Definições
1.2.1
Computação
1.2.2
Computador digital
1.2.3
Dado digital
1.2.4
Algoritmo
1.2.5
Programa de computador
1.2.6
Programação e linguagem de programação
1.2.7
Compilador
2
Sistemas de numeração
2.1
Conversão de base
2.2
Aritmética binária
3
Lógica digital
4
Representação de dados digitais
4.1
Tipos de informação
5
Algoritmos
II Programação
6
Introdução à programação
6.1
Linguagem de alto nível
6.2
Primeiro programa de alto nível
6.3
Sobre C++
6.3.1
Sintaxe e semântica
7
Controle de fluxo
7.1
Comandos condicionais
7.2
Comandos de seleção
7.3
Comandos de repetição
7.4
Interrupções
7.5
Tratamento de erros e exceções
8
Entrada e saída
9
Sub-rotinas e recursão
9.1
Recursão
9.1.1
Busca binária
10
Tipos avançados
11
Memória e ponteiros
12
Complexidade computacional
12.1
Importância da análise de complexidade
III Estruturas de dados
13
Tipos abstratos de dados
14
Sequências
14.1
Listas
14.1.1
Modelo abstrato e operações em listas
14.1.2
Implementações de listas
14.1.3
Contíguo dinâmico
14.2
Iterador
14.3
Colônia
15
Adaptadores
16
Árvores
16.1
Árvores binárias
17
Estruturas associativas
17.1
Árvores Binárias de Busca
IV Algoritmos
18
Particionamento
19
Ordenação
19.1
Bubble sort
19.2
Shaker sort
19.3
Selection sort
19.4
Insertion sort
19.5
Shell sort
19.6
Quick sort
19.7
Merge sort
20
Busca
21
Operações de conjuntos em listas ordenadas
22
Operações de heap
23
Operações numéricas
Computando
3
Lógica digital
Operadores lógicos, circuitos lógicos.