Sumário Procure o mínimo . . . . . . . . . . . . . . . . . . . . . . . . Pesquisa sequencial de uma lista . . . . . . . . . . . . . . . . Desempenho no melhor caso, pior caso e caso médio . . . . . . Pesquisa binária em uma lista ordenada . . . . . . . . . . . . . Comparando itens de dados. . . . . . . . . . . . . . . . . . . Algoritmos de ordenação básicos . . . . . . . . . . . . . . . . . Ordenação por seleção . . . . . . . . . . . . . . . . . . . . . Ordenação por bolha . . . . . . . . . . . . . . . . . . . . . . Ordenação por inserção. . . . . . . . . . . . . . . . . . . . . Desempenhos no melhor caso, pior caso e caso médio revisitado Ordenação mais rápida . . . . . . . . . . . . . . . . . . . . . Visão geral do quicksort . . . . . . . . . . . . . . . . . . . . Ordenação por mesclagem . . . . . . . . . . . . . . . . . . . Um algoritmo exponencial: Fibonacci recursivo . . . . . . . . . . . Convertendo Fibonacci em um algoritmo linear. . . . . . . . . .
CAPÍTULO 4
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
60 60 61 61 63 64 65 66 67 69 70 71 74 78 79
vii
Arrays e estruturas ligadas . . . . . . . . . . . . . . . . . . .89 A estrutura de dados array . . . . . . . . . . . . . . . . . . . Acesso aleatório e memória contígua . . . . . . . . . . . . . Memória estática e memória dinâmica . . . . . . . . . . . . . Tamanho físico e tamanho lógico . . . . . . . . . . . . . . . Operações em array . . . . . . . . . . . . . . . . . . . . . . Aumentando o tamanho de um array. . . . . . . . . . . . . . Diminuindo o tamanho de um array . . . . . . . . . . . . . . Inserindo um item em um array que cresce . . . . . . . . . . Removendo um item de um array . . . . . . . . . . . . . . . Dilema da complexidade: tempo, espaço e arrays . . . . . . . Arrays bidimensionais (grades). . . . . . . . . . . . . . . . . . Processando uma grade . . . . . . . . . . . . . . . . . . . Criando e inicializando uma grade . . . . . . . . . . . . . . . Definindo uma classe de grade . . . . . . . . . . . . . . . . Grades irregulares e arrays multidimensionais . . . . . . . . . Estruturas ligadas . . . . . . . . . . . . . . . . . . . . . . . . Estruturas unicamente ligadas e estruturas duplamente ligadas . Memória não contígua e nós . . . . . . . . . . . . . . . . . Definindo uma classe de nó individualmente ligado . . . . . . . Usando a classe de nó individualmente ligado . . . . . . . . . Operações em estruturas unicamente ligadas . . . . . . . . . . Percurso . . . . . . . . . . . . . . . . . . . . . . . . . . . Pesquisando . . . . . . . . . . . . . . . . . . . . . . . . . Substituição . . . . . . . . . . . . . . . . . . . . . . . . . Inserindo no início . . . . . . . . . . . . . . . . . . . . . . Inserindo no final . . . . . . . . . . . . . . . . . . . . . . . Removendo do início . . . . . . . . . . . . . . . . . . . . .
Fundamentos de Python_estruturas de dados_miolo.indb 7
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. 90 . 92 . 93 . 94 . 95 . 95 . 96 . 96 . 97 . 98 . 99 100 100 101 102 103 103 104 106 106 108 108 108 110 110 111 112
22/02/2022 10:36:57