Documente Academic
Documente Profesional
Documente Cultură
Definiciones
Tipos de datos
Cardinalidad
_____________________________________________________________________ 1
Estructuras de datos
Teoría y Aplicación de la Informática I
o Comprenden típicamente:
los números enteros (integer)
los números fraccionarios (real)
los valores lógicos, falso y verdadero (boolean)
caracteres de escritura (char)
El tipo integer
o Operadores normalizados:
+
-
*
div (división entera)
mod (resto de la división entera)
_____________________________________________________________________ 2
Estructuras de datos
Teoría y Aplicación de la Informática I
El tipo real
o Operadores normalizados:
+
-
*
/
El tipo boolean
o Operadores:
∨ u or (unión lógica)
∧ o and (conjunción lógica)
¬ o not (negación lógica)
El tipo char
_____________________________________________________________________ 3
Estructuras de datos
Teoría y Aplicación de la Informática I
_____________________________________________________________________ 4
Estructuras de datos
Teoría y Aplicación de la Informática I
Enumeración
o Ejemplos:
type forma = (rectángulo, cuadrado, elipse, círculo)
card (forma) = 4
var f: forma
f := rectángulo
Subrango
o Ejemplo:
type año = 1900 .. 1999
card (año) = 100
var a: año
r := 1998
_____________________________________________________________________ 5
Estructuras de datos
Teoría y Aplicación de la Informática I
_____________________________________________________________________ 6
Estructuras de datos
Teoría y Aplicación de la Informática I
La Estructura Array
type T = array [ Ti ] of T0
_____________________________________________________________________ 7
Estructuras de datos
Teoría y Aplicación de la Informática I
Ejemplos:
M: array [1..10] of Fila
M: array [1..10] of array [1..5] of real
M: array[1..10, 1..5] of real
Ejemplo:
N: array [1..10, 1..5, 1..2, 1..3] of real
var multi: N;
multi [3, 3, 3, 3] := 3
_____________________________________________________________________ 8
Estructuras de datos
Teoría y Aplicación de la Informática I
La Estructura Registro
type T = record
s1: T1;
s2: T2;
…
sn: Tn
end
_____________________________________________________________________ 9
Estructuras de datos
Teoría y Aplicación de la Informática I
Ejemplos :
type Fecha = record
día : 1..31 ;
mes : 1..12 ;
año :1..2500
end
Ejemplos :
f := Fecha (4, 5, 1978)
p := Persona (‘Carlos’, ‘Acosta’, Fecha(10, 4, 1997),
masculino, soltero)
Ejemplos:
f.dia
p.nombre
p.estadocivil
_____________________________________________________________________ 10
Estructuras de datos
Teoría y Aplicación de la Informática I
Ejemplos:
f.mes := 10
p.nombre := ‘Juan’
p.nacimiento.año := 1991
contador := 0
for i := 1 to N do
if ((personas[i].sexo = femenino) and
(personas [i].estadocivil = soltero)) then
contador := contador + 1
end if
end for
contador := 0
for i := 1 to N do
with persona[i] do
if ((sexo = femenino) and (estadocivil = soltero)) then
contador := contador + 1
end if
end with
end for
_____________________________________________________________________ 11
Estructuras de datos
Teoría y Aplicación de la Informática I
Listas Ordenadas
• Ejemplos:
• Una lista ordenada puede estar vacía, o puede ser escrita como:
(a1, a2, a3, …, an)
donde ai son átomos de un conjunto S
_____________________________________________________________________ 12
Estructuras de datos
Teoría y Aplicación de la Informática I
_____________________________________________________________________ 13
Estructuras de datos
Teoría y Aplicación de la Informática I
procedure P1 (…)
begin
…
end
procedure P2 (…)
begin
…
end
.
.
.
procedure Pn (…)
begin
…
end
begin
código de inicialización
end
• Ejemplo:
procedure REGAR_Y_CRECER ()
begin
altura := altura + 1
end
procedure ABONAR_Y_CRECER ()
begin
altura := altura + 2
end
procedure IMPRIMIR_ALTURA_ÁRBOL ()
begin
print (altura)
end
begin
altura := 2
end
_____________________________________________________________________ 15
Estructuras de datos
Teoría y Aplicación de la Informática I
.
.
.
mi_árbol.IMPRIMIR_ALTURA_ÁRBOL ()
mi_árbol.ABONAR_Y_CRECER ()
mi_árbol.IMPRIMIR_ALTURA_ÁRBOL ()
mi_árbol.REGAR_Y_CRECER ()
mi_árbol.IMPRIMIR_ALTURA_ÁRBOL ()
mi_árbol.ABONAR_Y_CRECER ()
mi_árbol.REGAR_Y_CRECER ()
mi_árbol.IMPRIMIR_ALTURA_ÁRBOL ()
.
.
.
.
.
.
2
4
5
8
.
.
.
_____________________________________________________________________ 16
Estructuras de datos
Teoría y Aplicación de la Informática I
Pilas (Stacks)
E
D
C
B
A
_____________________________________________________________________ 17
Estructuras de datos
Teoría y Aplicación de la Informática I
_____________________________________________________________________ 18
Estructuras de datos
Teoría y Aplicación de la Informática I
_____________________________________________________________________ 19
Estructuras de datos
Teoría y Aplicación de la Informática I
procedure DELETE ()
begin
if top ≤ 0 then
call STACK_EMPTY
else
top := top – 1
end if
end
procedure TOP ()
begin
if TOP = 0 then
return (error)
else
return (s [top])
end if
end
procedure ISEMPTY ()
begin
if top = 0 then
return (true)
else
return (false)
end if
end
begin { inicialización }
top := 0
end
Colas (Queues)
_____________________________________________________________________ 21
Estructuras de datos
Teoría y Aplicación de la Informática I
const N = 1000
var front, rear: integer
var Q: array [1..N] of integer
front := 0
rear := 0
_____________________________________________________________________ 22
Estructuras de datos
Teoría y Aplicación de la Informática I
_____________________________________________________________________ 23
Estructuras de datos
Teoría y Aplicación de la Informática I
_____________________________________________________________________ 24
Estructuras de datos
Teoría y Aplicación de la Informática I
(BAT, CAT, EAT, FAT, HAT, JAT, LAT, MAT, OAT, PAT, RAT,
SAT, TAT, VAT, WAT)
_____________________________________________________________________ 25
Estructuras de datos
Teoría y Aplicación de la Informática I
F=8
_____________________________________________________________________ 26
Estructuras de datos
Teoría y Aplicación de la Informática I
_____________________________________________________________________ 27
Estructuras de datos
Teoría y Aplicación de la Informática I
INSERT
• Sea T un puntero a una lista enlazada
• T = 0 si la lista no tiene nodos
• Sea X un apuntador a un nodo arbitrario de la lista T
• El siguiente algoritmo inserta un nodo con el campo DATA = item, a
continuación del nodo apuntado por X
_____________________________________________________________________ 28
Estructuras de datos
Teoría y Aplicación de la Informática I
DELETE
• Sea X un puntero a un nodo arbitrario de la lista enlazada T
• Sea Y el nodo que precede a X. (Y = 0 si X es el primer nodo en T,
esto es si X = T)
• El algoritmo siguiente suprime el nodo X de T
_____________________________________________________________________ 29
Estructuras de datos
Teoría y Aplicación de la Informática I
Árboles (Trees)
Ejemplo
Definición
_____________________________________________________________________ 30
Estructuras de datos
Teoría y Aplicación de la Informática I
Terminología
• Los nodos hojas o nodos terminales son los nodos que tienen
grado 0. {K, L, F, G, M, I, J} constituye el conjunto de nodos hojas.
• Los nodos no terminales son los nodos que no son hojas. Por
ejemplo, H es un nodo no terminal.
_____________________________________________________________________ 31
Estructuras de datos
Teoría y Aplicación de la Informática I
Representación en memoria
_____________________________________________________________________ 32
Estructuras de datos
Teoría y Aplicación de la Informática I
Árboles Binarios
Definición
• Los árboles binarios no tienen ningún nodo con grado mayor que 2
_____________________________________________________________________ 33
Estructuras de datos
Teoría y Aplicación de la Informática I
_____________________________________________________________________ 34
Estructuras de datos
Teoría y Aplicación de la Informática I
Propiedades
Representación
_____________________________________________________________________ 35
Estructuras de datos
Teoría y Aplicación de la Informática I
Ejemplos de Representación
_____________________________________________________________________ 36
Estructuras de datos
Teoría y Aplicación de la Informática I
Recorrido en Orden
_____________________________________________________________________ 37
Estructuras de datos
Teoría y Aplicación de la Informática I
Recorrido en Pre-orden
1- Visitar la raíz
2- Recorrer el subárbol izquierdo en Pre-orden
3- Recorrer el subárbol derecho en Pre-orden
Recorrido en Post-orden
_____________________________________________________________________ 38
Estructuras de datos
Teoría y Aplicación de la Informática I
Grafos
Definición y terminología
• Ejemplo de multigrafo
• Ejemplos de subgrafos de G3
_____________________________________________________________________ 41
Estructuras de datos
Teoría y Aplicación de la Informática I
Representación de Grafos
Matriz de Adyacencia
• Ejemplos
Matriz de adyacencia de G1
Matriz de adyacencia de G3
• Los 1 en la fila i nos dan los lados que salen del vértice i y los unos
en la columna j nos dan los lados que llegan al vértice j
_____________________________________________________________________ 42
Estructuras de datos
Teoría y Aplicación de la Informática I
Listas de Adyacencia
• Ejemplos
Lista de adyacencia de G1
Lista de adyacencia de G3
_____________________________________________________________________ 43
Estructuras de datos
Teoría y Aplicación de la Informática I
Bibliografía
_____________________________________________________________________ 44
Estructuras de datos