Title: Diapositiva 1
1A G E N D A
- Diccionario ADT
- Representación Arreglos No Ordenados
- Operaciones Membership, insert y delete
- Representación Arreglos Ordenados
- Operaciones Membership, insert y delete
- Representación Lista Ligada No Ordenada
- Representación Lista Ligada Ordenada
2Diccionario ADT
- Este Tipo de Dato Abstracto (ADT) opera sobre
conjuntos. - Las operaciones a realizar son insert(x),
deleted(x) y membership(x) - Recordemos que para conjuntos no se permiten
elementos repetidos, por lo tanto no se podrá
realizar insert(x) cuando x este en el conjunto.
3Representación Arreglos No Ordenados
- Representar el conjunto de enteros en un arreglo
secuencial no ordenado de tamaño N. - La cantidad de elementos que se encuentran en el
arreglo estará representada por n. - En todo momento 0 n N
N
4Operación membership(x)
membership(x) Hacer una búsqueda secuencial
y regresar true o false dependiendo si
esta o no x en el arreglo.
Tiempo de Complejidad ?(1) y ?(n)
5Operación insert(x)
insert(x) Si membership(x) false
entonces Si n N entonces
exit / No hay espacio disponible /
sino insertar x en la
posición n en el arreglo
incrementar n en uno
Tiempo de Complejidad ?(1) y ?(n)
6Operación delete(x)
delete(x) Si membership(x) false entonces
return sino hacer una
búsqueda secuencial hasta encontrar x
mover todos los elementos que se encuentran
después de x una posición a
la izquierda decrementar el
valor de n en 1
Tiempo de Complejidad ?(n) y ?(n)
7Representación Arreglos Ordenados
- Representar el conjunto de enteros en un arreglo
secuencial ordenado de tamaño N. - La cantidad de elementos que se encuentran en el
arreglo estará representada por n. - En todo momento 0 n N
N
8Operación membership(x)
membership(x) Hacer una búsqueda binaria y
regresar true o false dependiendo si
esta o no x en el arreglo.
Tiempo de Complejidad ?(1) y ?(log n)
9Operación insert(x)
insert(x) Si membership(x) true entonces
return Si n N entonces
exit / No hay espacio disponible /
sino hacer una búsqueda
binaria y ( encontrar el primer
elemento mayor que x ) o ( la posición
después del último
elemento en la lista menores que x )
mover todos los elementos de esta
posición hacia el final de
la lista en una posición
insertar x en la posición vacía
incrementar n en uno
Tiempo de Complejidad ?(1) y ?(n)
10Operación delete(x)
delete(x) Si membership(x) false entonces
return sino hacer una
búsqueda binaria hasta encontrar x
mover todos los elementos que se encuentran
después de x una posición a
la izquierda decrementar el
valor de n en 1
Tiempo de Complejidad ?(log n) y ?(n)
11Representación Lista Ligadas No Ordenadas
- Representar el conjunto de enteros en una lista
ligada no ordenada. - El puntero first es null (lista vacia) o bien un
puntero al primer objeto en la lista. - Ejemplo
first
Tiempo de Complejidad membership(x) ?(1) y
?(n) insert(x) ?(1) y ?(n)
delete(x) ?(1) y ?(n)
12Representación Lista Ligadas Ordenadas
- Representar el conjunto de enteros en una lista
ligada ordenada. - El puntero first es null (lista vacia) o bien un
puntero al primer objeto en la lista. - Ejemplo
first
Tiempo de Complejidad membership(x) ?(1) y
?(n) insert(x) ?(1) y ?(n)
delete(x) ?(1) y ?(n)
13Tiempos de Complejidad