Sumário do livro
Eis o sumário do livro Algoritmos em Linguagem C:
-
Capítulo 1 Documentação e invariantes
- 1.1 Exemplo de documentação
- 1.2 Invariantes
-
Capítulo 2 Recursão
- 2.1 Algoritmos recursivos
- 2.2 Um exemplo: o problema do máximo
- 2.3 Outra solução recursiva do problema
-
Capítulo 3 Vetores
- 3.1 Busca
- 3.2 Busca recursiva
- 3.3 Remoção
- 3.4 Inserção
- 3.5 Busca seguida de remoção
-
Capítulo 4 Listas encadeadas
- 4.1 Definição
- 4.2 Listas com cabeça e sem cabeça
- 4.3 Busca em lista encadeada
- 4.4 Remoção de uma célula
- 4.5 Inserção de nova célula
- 4.6 Busca seguida de remoção ou inserção
- 4.7 Manipulação de listas
- 4.8 Outros tipos de listas encadeadas
-
Capítulo 5 Filas
- 5.1 Implementação em vetor
- 5.2 Aplicação: distâncias em uma rede
- 5.3 Implementação circular
- 5.4 Implementação em lista encadeada
-
Capítulo 6 Pilhas
- 6.1 Implementação em vetor
- 6.2 Aplicação: parênteses e colchetes
- 6.3 Aplicação: notação posfixa
- 6.4 Implementação em lista encadeada
- 6.5 A pilha de execução de um programa
-
Capítulo 7 Busca em vetor ordenado
- 7.1 O problema
- 7.2 Busca seqüencial
- 7.3 Busca binária
- 7.4 Prova da correção do algoritmo
- 7.5 Desempenho do algoritmo
- 7.6 Variantes do código
- 7.7 Versão recursiva da busca binária
- 7.8 Variações sobre o tema
-
Capítulo 8 Ordenação: algoritmos elementares
- 8.1 O problema da ordenação
- 8.2 Algoritmo de inserção
- 8.3 Algoritmo de seleção
- 8.4 Ordenação de strings e listas
- 8.5 Ordenação estável
-
Capítulo 9 Ordenação: algoritmo Mergesort
- 9.1 Intercalação de vetores ordenados
- 9.2 O algoritmo Mergesort
- 9.3 Desempenho do algoritmo
- 9.4 Versão iterativa
-
Capítulo 10 Ordenação: algoritmo Heapsort
- 10.1 Heap
- 10.2 Inserção em um heap
- 10.3 Um algoritmo auxiliar
- 10.4 O algoritmo Heapsort
- 10.5 Desempenho do algoritmo
-
Capítulo 11 Ordenação: algoritmo Quicksort
- 11.1 O problema da separação
- 11.2 Algoritmo da separação
- 11.3 Algoritmo Quicksort básico
- 11.4 Desempenho do algoritmo
- 11.5 Altura da pilha de execução do Quicksort
-
Capítulo 12 Algoritmos de enumeração
- 12.1 Enumeração de subseqüências
- 12.2 Subseqüências em ordem lexicográfica
- 12.3 Versão recursiva do algoritmo
- 12.4 Subseqüências em ordem lexicográfica especial
-
Capítulo 13 Busca de palavras em um texto
- 13.1 O problema da busca
- 13.2 Algoritmo trivial
- 13.3 Primeiro algoritmo de Boyer--Moore
- 13.4 Segundo algoritmo de Boyer--Moore
- 13.5 Terceiro algoritmo de Boyer--Moore
-
Capítulo 14 Árvores binárias
- 14.1 Definição
- 14.2 Varredura esquerda-raiz-direita
- 14.3 Altura
- 14.4 Nós com campo pai
- 14.5 Nó seguinte
-
Capítulo 15 Árvores binárias de busca
- 15.1 Definição
- 15.2 Busca
- 15.3 Inserção
- 15.4 Remoção
- 15.5 Desempenho dos algoritmos
-
Apêndice A Leiaute
- A.1 Um bom leiaute
- A.2 Mau exemplo
- A.3 Sugestões
- A.4 Código enfeitado
-
Apêndice B Caracteres
- B.1 Representação gráfica dos caracteres
- B.2 Constantes e brancos
- B.3 Operações aritméticas
-
Apêndice C Números naturais e números inteiros
- C.1 Representação de números naturais
- C.2 Representação de números inteiros
- C.3 Aritmética int
- C.4 Representação por seqüências de caracteres
-
Apêndice D Endereços e ponteiros
- D.1 Endereços
- D.2 Ponteiros
- D.3 Uma aplicação
- D.4 Vetores e endereços
-
Apêndice E Registros e structs
- E.1 Definição e manipulação de structs
- E.2 Ponteiros para structs
-
Apêndice F Alocação dinâmica de memória
- F.1 Função malloc
- F.2 A memória é finita
- F.3 Função free
- F.4 Vetores e matrizes
-
Apêndice G Strings
- G.1 Strings constantes
- G.2 A biblioteca string
- G.3 Ordem lexicográfica e a função strcmp
-
Apêndice H Entrada e saída
- H.1 Tela e teclado: printf e scanf
- H.2 Arquivos
- H.3 As funções putc e getc
- H.4 Argumentos na linha de comando
-
Apêndice I Números aleatórios
- I.1 A função rand
- I.2 Inteiros aleatórios
- I.3 Sementes
-
Apêndice J Miscelânea
- J.1 Valor de uma expressão
- J.2 Valor de uma expressão booleana
- J.3 Tipos de dados e typedef
- J.4 Include e define
- J.5 Precedência entre operadores em C
-
Apêndice K Arquivos-interface de bibliotecas C
- K.1 Amostra do arquivo stdlib.h
- K.2 Amostra do arquivo stdio.h
- K.3 Amostra do arquivo math.h
- K.4 Amostra do arquivo string.h
- K.5 Amostra do arquivo limits.h
- K.6 Amostra do arquivo time.h
-
Apêndice L Soluções de alguns exercícios
-
Bibliografia
-
Termos técnicos em inglês
-
Índice remissivo