Sumário Modificando as subclasses de AbstractBag . . . . . . . . Generalizando o método __add__ em AbstractBag . . . . . Uma classe abstrata para todas as coleções . . . . . . . . . Integrando AbstractCollection à hierarquia da coleção Usando dois Iteradores no método __eq__ . . . . . . . . Uma estrutura de coleções de qualidade profissional . . . . .
CAPÍTULO 7
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
158 159 160 160
. . . . . . . . 161
ix
. . . . . . . 162
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
168 169 169 169 170 174 174 175 176 178 180 183 183 185 185 187 190 191
Filas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Visão geral das filas . . . . . . . . . . . . . . . . . . . A interface da fila e seu uso . . . . . . . . . . . . . . . . Duas aplicações de filas . . . . . . . . . . . . . . . . . . Simulações . . . . . . . . . . . . . . . . . . . . . . Agendamento de CPU Round-Robin . . . . . . . . . . . Implementações de filas . . . . . . . . . . . . . . . . . Uma implementação ligada das filas . . . . . . . . . . . Uma implementação de array . . . . . . . . . . . . . . Análise de tempo e espaço para as duas implementações Filas com prioridades . . . . . . . . . . . . . . . . . . .
CAPÍTULO 9
. . . .
Pilhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Visão geral das pilhas . . . . . . . . . . . . . . . . . Usando uma pilha . . . . . . . . . . . . . . . . . . . A interface da pilha . . . . . . . . . . . . . . . . . Instanciando uma pilha . . . . . . . . . . . . . . . Exemplo de aplicação: correspondendo parênteses . Três aplicações das pilhas . . . . . . . . . . . . . . . Avaliando expressões aritméticas . . . . . . . . . . Avaliando expressões pós-fixas . . . . . . . . . . . Convertendo infixo em pós-fixo . . . . . . . . . . . Retrocedendo . . . . . . . . . . . . . . . . . . . Gestão de memória . . . . . . . . . . . . . . . . . Implementações de pilhas . . . . . . . . . . . . . . . Teste . . . . . . . . . . . . . . . . . . . . . . . . Adicionando pilhas à hierarquia da coleção . . . . . Implementação de array . . . . . . . . . . . . . . Implementação ligada . . . . . . . . . . . . . . . O papel da classe Abstract Stack . . . . . . . . . . Análise de tempo e espaço das duas implementações
CAPÍTULO 8
. . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
204 205 208 208 210 211 211 213 215 223
Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Visão geral das listas . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Usando listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Fundamentos de Python_estruturas de dados_miolo.indb 9
22/02/2022 10:36:57