ESTRUCTURA DE DATOS
Algoritmos, abstraccién y objetosContenido
43.4. Procedimiento Dispose .
4.3.5. Constante nil
43.6. Naturaleza dindmica de los punteros
4.3.7. Comparacién de punteros
4.3.8. Paso de punteros como parimetros.
4.4. El tipo genérico puntero (Pointer).
4.5. La asignacién de memoria en Turbo Borland Pascal
4.5.1. El monticulo (heap) y los punteros.
4.5.2. Métodos de asignacién y liberacién de memoria...
453. Newy Dispose
45.4, Marky Release
4.55. GetMemy Freeven
4.5.6. MemAvail y Maxavai.
Resumen ..
Ejercicios
Problemas .
Capitulo 5. {Listas enlazadas
: el TAD lista enlazada ..
5.1. Especificacién formal del tipo abstracto de datos lista
5.2. _Implementacién del TAD lista con estructuras estétieas nue
5.3. Implementacién del TAD lista mediante variables dinamicas.....
5.4. Iniciar una lista enlazada
5.5. Bisqueda en listas enlazadas....
5.6. Operaciones de direccién: siguiente, anterior, ditimo...
5.7. Insercién de un elemento en una lista
5.8, Supresién de un elemento de una lista...
5.9. Recorrido de una lista
5.10. Lista ordenada
5.10.1. Implementacién de una lista ordenada
5.10.2. Buisqueda en lista ordenada
Resumen,
Ejercicios ..
Problemas..
Capitulo 6. \ Listas doblemente enlazadas.
6.1.
6.2.
63.
6.4,
Especificacion de lista doblemente enlazada..
Implementacién de una lista doblemente enlazada mediante va-
riables dindmicas ...... oe
6.2.1. Creacién de nodos en Ia lista
6.2.2. Eliminacién de nodo 7
Una aplicacién resuelta con listas doblemente enlazadas
Implementacién de una lista circular mediante variables dinémicas....
xi
137
138
138.
139
141
142
142
143
145
145
146
146
a7
148
149
152
153
153
156
159
162
162
163,
164
166
168
168
168,
170
175
176
17
179
179
180
Ig
184
186
195xii Estructura de datos
6.5. Implementacién de una lista circular mediante variables dinémicas... 196
6.6. Implementacién de listas circulares con doble enlace... 200
Resumen ... 203
Ejercicios 204
Problemas... 204
Capitulo 7. (Pitas: el TAD Pia. eee
7.1. Especificacién formal del tipo abstracto de datos la. 207
7.2. Implementacién del TAD Pila con arrays... 208
73. Implementacién del TAD Pia mediante variables dinimicas.... 211
7.4, Evaluacién de expresiones aritméticas mediante pilas 215
7.4.1. Notaciones Prefija (Polaca) y Postfija (Polaca inversa)... 215
7.4.2. Algoritmo para evaluaciones de una expresidn aritmética ... 216
7.5. Aplicacién prictica de la evaluacién de una expresién aritmética 218
75.1. Unidad Pilaop.. 218
75.2. Unidad ExpPost (transformacién a postija) 220
7.5.3. Evaluacion de la expresién en postfija 222
Resumen : 224
Ejercicios.. 225
Problema. 225
Capitulo 8 (Colas y colas de prioridades: el TAD cola 27
8.1. Especificacién formal del tipo abstracto de datos cola 228
8.2. Implementacién del TAD cola con arrays lincales.. 29
8.3. Implementacién del TAD cola con arrays circulares . 231
8.4. Implementacién del TAD cola con listas enlazadas .cvecscuronn 235
8.5. Implementacién del TAD cola con listas circulares 237
8.6. Bicolas.. 239
8.7. Colas de prioridades . 244
8.8. Implementacién de colas de prioridades. 245
8.8.1. Implementacién mediante una tinica lista 24s
8.8.2. Implementacién mediante una lista de » colas 246
8.9. Implementacién de un problema con colas de prioridades........ 247
Resumen 256
Ejercicios 257
Problemas 258
PARTE III, ESTRUCTURAS DE DATOS AVANZADAS
Capitul(9) Recursividad: algoritmos recursivos 263
9.1. Recursividad ..... 263
9.2. Cuando no utilizar la recursividad . 264
9.2.1. Eliminacién de la recursividad 266