ESTRUCTURA DE ESTRUCTURA DE DATOSDATOS
ConceptoConcepto
Es un modelo matemático o lógico Es un modelo matemático o lógico organizado de los datosorganizado de los datos
Agrupar ciertos tipos de datos en Agrupar ciertos tipos de datos en categorías o en estructuras.categorías o en estructuras.
Hay estructura de datos estáticas y Hay estructura de datos estáticas y estructura de datos dinámicas.estructura de datos dinámicas.
Dato e InformaciónDato e Información
Es la mínima representación de la Es la mínima representación de la informacióninformación
Hacen referencia a un conjunto de Hacen referencia a un conjunto de valores pudiendo ser simples o valores pudiendo ser simples o múltiplesmúltiples
Edad es un dato simpleEdad es un dato simple Nombre es un dato múltiple Nombre es un dato múltiple Es el resultado de procesar un Es el resultado de procesar un
conjunto de datosconjunto de datos
Clasificación de DatosClasificación de DatosEnterosEnteros
NuméricosNuméricos RealesRealesSimplesSimples AlfanuméricosAlfanuméricos De De
caráctercarácter Lógicos Lógicos De De
cadenacadenaEstáticosEstáticos
VectoresVectoresEstructuradosEstructurados RegistrosRegistros
DatosDatos ConjuntosConjuntosArchivosArchivos
listalistaDinámicosDinámicos colacola
PilaPilaÁrbolÁrbolGrafoGrafo
Estructuras de datos estáticasEstructuras de datos estáticas
Internamente utilizan la memoria Internamente utilizan la memoria estática de la computadora para su estática de la computadora para su almacenamiento temporal almacenamiento temporal
Tienen una capacidad limitada de Tienen una capacidad limitada de elementos al definirlos.elementos al definirlos.
Estructuras de datos dinámicasEstructuras de datos dinámicas
Internamente utilizan la memoria Internamente utilizan la memoria dinámica de la computadora para su dinámica de la computadora para su almacenamiento, almacenamiento,
Direcciones de memoria junto y el Direcciones de memoria junto y el manejo de punteros en la parte de manejo de punteros en la parte de implementación del programa. implementación del programa.
no tiene un tamaño o capacidad no tiene un tamaño o capacidad limitadalimitada
Jerarquía de los datosJerarquía de los datos
Es la prioridad o el orden en cuando Es la prioridad o el orden en cuando a su conformación y manejo de a su conformación y manejo de estos.estos.
Jerarquía significa cuales datos son Jerarquía significa cuales datos son primero y cuales son después. primero y cuales son después.
Jerarquia (orden)
Nombre Concepto
primero Dato Minima cantidad de informacion
segundo Campo Conjunto de datos
tercero Registro Conjunto de campos
cuarto Archivo Conjunto de registros
quinto Base de Datos Conjunto de archivos
sexto Biblioteca Conjunto de Bases de Datos
JERARQUIA DE LOS DATOS
DATODATO
Información en bruto, sin ningún significadoInformación en bruto, sin ningún significado
Dado un enunciado, evento o acción, los datosDado un enunciado, evento o acción, los datos– Permiten representar sus actores o participantesPermiten representar sus actores o participantes
– Analizándolos, se podrá obtener resultados deseadosAnalizándolos, se podrá obtener resultados deseados
Analicemos el siguiente hecho:Analicemos el siguiente hecho:– El estudiante de nombre Pedro Vélez de 22 años, tiene El estudiante de nombre Pedro Vélez de 22 años, tiene
un promedio de 7.5un promedio de 7.5
Podemos tomar los siguientes datosPodemos tomar los siguientes datos– Nombre:Nombre: Pedro Vélez Pedro Vélez -> Conjunto de Caracteres-> Conjunto de Caracteres
– Edad:Edad: 22 22 -> entero-> entero
– Promedio:Promedio: 7.5 7.5 -> real-> real
INFORMACIÓNINFORMACIÓN Es el resultado deseado luego de procesar Es el resultado deseado luego de procesar
los datoslos datos Los datos, al ser procesados, se convierten Los datos, al ser procesados, se convierten
en en información útilinformación útil o resultados. o resultados.
Procesamiento:Calcular salarios
Juan, Perez $320
Pedro, Rodriguez $310
Luis, Pozo $240
Datos de salida(se muestran en el monitor)
Datos de entrada(ingresados x teclado)
Juan, Perez
Pedro, Rodriguez
Luis, Pozo
160
155
120
Empleado Horas
Valor por hora = $2
¿Cómo representar los datos?¿Cómo representar los datos? Los seres humanos:Los seres humanos:
– Usamos lenguaje natural o símbolosUsamos lenguaje natural o símbolos– Ejemplo:Ejemplo:
Para representar números, usamos el sistema Para representar números, usamos el sistema decimaldecimal
Para representar palabras, usamos el abecedarioPara representar palabras, usamos el abecedario
La computadora:La computadora:– Usa conjuntos de 1s y 0sUsa conjuntos de 1s y 0s– El dato mas pequeño en el computador es El dato mas pequeño en el computador es
Un 1 o un 0 -> bitUn 1 o un 0 -> bit
– El conjunto de 8 bits -> 1 byteEl conjunto de 8 bits -> 1 byte
TIPOS DE DATOSTIPOS DE DATOS Los datos se clasifican en TIPOSLos datos se clasifican en TIPOS Son los diferentes dominios existentes. Son los diferentes dominios existentes.
Ejemplo:Ejemplo:– Edad, Año de Nacimiento, Numero de multasEdad, Año de Nacimiento, Numero de multas
Tienen dominio Tienen dominio numériconumérico
– Nombre, Dirección, Num. Cedula, Nombre, Dirección, Num. Cedula, Caen en el dominio de la Caen en el dominio de la información tipo textoinformación tipo texto
Y las operaciones permitidas para dicho Y las operaciones permitidas para dicho dominiodominio
Un conjunto de valores y operaciones definidas solo para esos valores
TIPOS DE DATOS BASICOSTIPOS DE DATOS BASICOS Los podemos distinguir fácilmente, están en el diario vivir:
El Sr. Vera de 63 años tiene cedula No. 0908815533, y paga $120 de impuestos
Son tipos de datos simples Que permiten representar información numérica, caracteres, etc.
NOMBRE CONJUNTO DE VALORES OPERACIONES
Enteros Negativos y positivos sin decimal Sumar, restar, dividir, multiplicar, residuo
Reales Negativos y positivos, con decimal Sumar, restar, dividir, multiplicar
Lógicos Verdadero o Falso(1 o 0) And, Or, Not
Caracteres Letras, números, especiales, juntos forman una cadena
Sumar carácter + entero restar, multiplicar por entero
DIRECCIONES DE MEMORIADIRECCIONES DE MEMORIA
1000
1001
1002
1003
&a es 1000
Las variables Tienen direcciones de memoria
Si deseamos conocer dicha dirección En lenguaje C Se usa el operador & de dirección
Ejemplo:int a;a = 3;printf(“Valor:%d Dir: %d”, a, &a);
Un puntero Es una variable que puede almacenar dirección de memoria
Categoria de Datos.-Categoria de Datos.-
Categoría de los datos del usuarioCategoría de los datos del usuario Categoría de los datos del Categoría de los datos del
ordenadorordenador Categoría de los datos del portadorCategoría de los datos del portador Categoría de los datos de la Categoría de los datos de la
memoriamemoria
Categoría de los datos del Categoría de los datos del usuariousuario
Destinada al usuario de la Destinada al usuario de la computadora (programador), son los computadora (programador), son los datos y tipos de datos que utiliza el datos y tipos de datos que utiliza el programador para construir programador para construir aplicaciones.aplicaciones.
Ejemplo: campos, registros, archivos, Ejemplo: campos, registros, archivos, biblioteca, pilas, colas, vectores, etc.biblioteca, pilas, colas, vectores, etc.
Categoría de los datos del Categoría de los datos del ordenadorordenador
Utiliza el propio ordenador Utiliza el propio ordenador internamente cuando el usuario internamente cuando el usuario utiliza cierto lenguaje de utiliza cierto lenguaje de programacion o de simulacion.programacion o de simulacion.
Ejemplo: bit, byte, word, bloqueEjemplo: bit, byte, word, bloque
Categoría de los datos del Categoría de los datos del portadorportador
Destinados al portador, es decir Destinados al portador, es decir cuando se quiere transportar o llevar cuando se quiere transportar o llevar datos de un lugar a otro, existen datos de un lugar a otro, existen otros nombres para estos datos que otros nombres para estos datos que indican operaciones de entrada y indican operaciones de entrada y salida.salida.
Ejemplo: Volumen, extension, areaEjemplo: Volumen, extension, area
Categoría de los datos de la Categoría de los datos de la memoriamemoria
Utilizan en la memoria del Utilizan en la memoria del computador. La informacion se computador. La informacion se almacena en una unidad de memoria almacena en una unidad de memoria denominada celda, el cual tiene un denominada celda, el cual tiene un tamaño determinado, al conjunto de tamaño determinado, al conjunto de celdas se denomina lista. Ejemplo: celdas se denomina lista. Ejemplo: celda, lista.celda, lista.
TIPOS ABSTRATOS DE DATOS TIPOS ABSTRATOS DE DATOS (TAD)(TAD)
La abstracción es un mecanismo definido La abstracción es un mecanismo definido como la capacidad de manejar objetos y como la capacidad de manejar objetos y situaciones concentrándonos sólo en la situaciones concentrándonos sólo en la esencia de los mismos.esencia de los mismos.
Los T.A.D. constituyen una forma de Los T.A.D. constituyen una forma de generalizar y encapsular los aspectos más generalizar y encapsular los aspectos más importantes de la información importantes de la información
Se reutiliza en otros programas. Se reutiliza en otros programas. La definición de TAD puede dividirse en 2 La definición de TAD puede dividirse en 2
niveles:niveles:
Niveles de un TADNiveles de un TAD
1er nivel superficial donde se define el 1er nivel superficial donde se define el TAD y las operaciones sobre el con poco TAD y las operaciones sobre el con poco detalle.detalle.
2o nivel donde se profundiza en la 2o nivel donde se profundiza en la definición del TAD y en la implementación definición del TAD y en la implementación de sus operaciones.de sus operaciones.
Ejemplo: Un TAD es una fecha ( int[3]) y Ejemplo: Un TAD es una fecha ( int[3]) y sus funciones de manipulación (Crear, sus funciones de manipulación (Crear, Distancia, Dia...). Distancia, Dia...).
Tipos de TADTipos de TAD
T.A.D. Lineales: Son aquellas estructuras T.A.D. Lineales: Son aquellas estructuras abstractas de datos en que cada elemento abstractas de datos en que cada elemento tiene como mucho dos elementos tiene como mucho dos elementos adyacentes (posterior y/o anterior), como adyacentes (posterior y/o anterior), como las pilas, colas y listas.las pilas, colas y listas.
T.A.D. no Lineales:T.A.D. no Lineales: Son aquellos cuyos elementos pueden Son aquellos cuyos elementos pueden
tener más de 2 adyacentes, a los que tener más de 2 adyacentes, a los que pueden acceder directamente, como los pueden acceder directamente, como los árboles o grafos.árboles o grafos.
ARREGLOSARREGLOS Conjunto de elementosConjunto de elementos
– Finito, Ordenado y Homogéneo, Finito, Ordenado y Homogéneo, Todos sus elementos son del mismo tipoTodos sus elementos son del mismo tipo
Un arreglo estático se declaraUn arreglo estático se declaraint A[100];int A[100];
– El tipo de los elementos, el identificador y El tipo de los elementos, el identificador y – El numero de elementos (dimensión)El numero de elementos (dimensión)
Cada elemento del arreglo tiene un índiceCada elemento del arreglo tiene un índice– En C, siempre el índice mas pequeño es el 0: limite En C, siempre el índice mas pequeño es el 0: limite
inferiorinferior– El limite superior, es 1 menos que la dimensiónEl limite superior, es 1 menos que la dimensión
Si el arreglo tiene 100 elementos, el índice mas alto es Si el arreglo tiene 100 elementos, el índice mas alto es el 99el 99
0 1 2 3 4 ...
A
99
REPRESENTACION INTERNAREPRESENTACION INTERNA
1000
1008
1016
1024
1032
Lista[0]
Lista[1]
Lista[2]
Lista[3]
Lista[4]
&Lista[i] -> &Lista[0] + (i*sizeof(Lista[0]))
Cuantos bytes ocupa un tipo de dato Cuantos bytes ocupa un tipo de dato o variable?o variable?– En C lo indica el operador En C lo indica el operador sizeofsizeof– Ejemplo:Ejemplo:
int a;int a;
printf(“%d %d”, sizeof(int), sizeof(a));printf(“%d %d”, sizeof(int), sizeof(a));
El computador internamenteEl computador internamente– No almacena la dirección de todos los No almacena la dirección de todos los
elementos del arregloelementos del arreglo– Solo almacena la dirección del primer Solo almacena la dirección del primer
elementoelemento– El resto lo calcula así:El resto lo calcula así: