Fundamentos de Python: estruturas de dados - Trad. 2º edição norte-americana

Page 9

Fundamentos de Python: estruturas de dados Removendo do final . . . . . . . . . . . . . . . . . . . . . . . . . . Inserindo em qualquer posição . . . . . . . . . . . . . . . . . . . . Removendo em qualquer posição . . . . . . . . . . . . . . . . . . . Dilema da complexidade: tempo, espaço e estruturas unicamente ligadas . Variações em uma ligação . . . . . . . . . . . . . . . . . . . . . . . . Uma estrutura ligada circular com um nó inicial fictício . . . . . . . . . Estruturas duplamente ligadas. . . . . . . . . . . . . . . . . . . . .

viii

CAPÍTULO 5

. . . . . . .

Interfaces, implementações e polimorfismo . . . . . . . . . . 125 Desenvolvendo uma interface . . . . . . . . . . . . . . . . . . . . . . . Projetando a interface da sacola. . . . . . . . . . . . . . . . . . . . . Especificando argumentos e valores de retorno . . . . . . . . . . . . . Construtores e classes de implementação . . . . . . . . . . . . . . . . . Precondições, pós-condições, exceções e documentação . . . . . . . . Codificando uma interface no Python . . . . . . . . . . . . . . . . . . Desenvolvendo uma implementação baseada em array . . . . . . . . . . . Escolher e inicializar as estruturas de dados . . . . . . . . . . . . . . . Concluir os métodos fáceis primeiro . . . . . . . . . . . . . . . . . . Concluir o iterador . . . . . . . . . . . . . . . . . . . . . . . . . . . Concluir os métodos que usam o iterador . . . . . . . . . . . . . . . . . . . . . . O operador in e o método __contains__ Concluir o método remove . . . . . . . . . . . . . . . . . . . . . . . Desenvolvendo uma implementação baseada em ligações . . . . . . . . . Inicializar as estruturas de dados . . . . . . . . . . . . . . . . . . . . Concluir o iterador . . . . . . . . . . . . . . . . . . . . . . . . . . . Concluir os métodos clear e add . . . . . . . . . . . . . . . . . . . Concluir o método remove . . . . . . . . . . . . . . . . . . . . . . . Desempenho do tempo de execução das duas implementações de sacolas . Testando as implementações de duas sacolas . . . . . . . . . . . . . . . Diagramando o recurso de sacolas com UML . . . . . . . . . . . . . . .

CAPÍTULO 6

113 114 115 116 117 118 119

126 127 128 129 130 131 133 133 134 135 136 137

137 138 139 139 140 140 141 142 143

Herança e classes abstratas . . . . . . . . . . . . . . . . . . 149 Usando herança para personalizar uma classe existente . . . . . . . . . . 150 Subclasse de uma classe existente . . . . . . . . . . . . . . . . . . . 151 Revisão do método __init__ . . . . . . . . . . . . . . . . . . . . . . . . 151 Adicionando um novo método __contains__ . . . . . . . . . . . . . . . 152 Modificando o método add existente . . . . . . . . . . . . . . . . . . 153 Modificando o método __add__existente . . . . . . . . . . . . . . . . 154 Desempenho em tempo de execução de ArraySortedBag . . . . . . . . 154 Uma nota sobre hierarquias de classes no Python . . . . . . . . . . . . 155 Usando classes abstratas para eliminar código redundante . . . . . . . . . 156 Projetando uma classe AbstractBag . . . . . . . . . . . . . . . . . . 156 Refazendo o método __init__ em AbstractBag . . . . . . . . . . . . 157

Fundamentos de Python_estruturas de dados_miolo.indb 8

22/02/2022 10:36:57


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
Fundamentos de Python: estruturas de dados - Trad. 2º edição norte-americana by Cengage Brasil - Issuu