ESTRUCTURA DE
DATOS
Concepto
 Es un modelo matemático o lógico
organizado de los datos
 Agrupar ciertos tipos de datos en
categorías o en estructuras.
 Hay estructura de datos estáticas y
estructura de datos dinámicas.
Dato e Información
 Es la mínima representación de la
información
 Hacen referencia a un conjunto de
valores pudiendo ser simples o
múltiples
 Edad es un dato simple
 Nombre es un dato múltiple
 Es el resultado de procesar un
conjunto de datos
Clasificación de Datos
Enteros
Numéricos Reales
Simples Alfanuméricos De carácter
Lógicos De cadena
Estáticos
Vectores
Estructurados Registros
Datos Conjuntos
Archivos
lista
Dinámicos cola
Pila
Árbol
Grafo
Estructuras de datos estáticas
 Internamente utilizan la memoria
estática de la computadora para su
almacenamiento temporal
 Tienen una capacidad limitada de
elementos al definirlos.
Estructuras de datos dinámicas
 Internamente utilizan la memoria
dinámica de la computadora para su
almacenamiento,
 Direcciones de memoria junto y el
manejo de punteros en la parte de
implementación del programa.
 no tiene un tamaño o capacidad
limitada
Jerarquía de los datos
 Es la prioridad o el orden en cuando
a su conformación y manejo de
estos.
 Jerarquía significa cuales datos son
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
DATO
 Información en bruto, sin ningún significado
 Dado un enunciado, evento o acción, los datos
– Permiten representar sus actores o participantes
– Analizándolos, se podrá obtener resultados deseados
 Analicemos el siguiente hecho:
– El estudiante de nombre Pedro Vélez de 22 años, tiene
un promedio de 7.5
 Podemos tomar los siguientes datos
– Nombre: Pedro Vélez -> Conjunto de Caracteres
– Edad: 22 -> entero
– Promedio: 7.5 -> real
INFORMACIÓN
 Es el resultado deseado luego de procesar
los datos
 Los datos, al ser procesados, se
convierten en información útil 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?
 Los seres humanos:
– Usamos lenguaje natural o símbolos
– Ejemplo:
 Para representar números, usamos el sistema
decimal
 Para representar palabras, usamos el abecedario
 La computadora:
– Usa conjuntos de 1s y 0s
– El dato mas pequeño en el computador es
 Un 1 o un 0 -> bit
– El conjunto de 8 bits -> 1 byte
TIPOS DE DATOS
 Los datos se clasifican en TIPOS
 Son los diferentes dominios existentes.
Ejemplo:
– Edad, Año de Nacimiento, Numero de multas
 Tienen dominio numérico
– Nombre, Dirección, Num. Cedula,
 Caen en el dominio de la información tipo texto
 Y las operaciones permitidas para dicho
dominio
Un conjunto de valores y operaciones
definidas solo para esos valores
TIPOS 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 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.-
 Categoría de los datos del usuario
 Categoría de los datos del
ordenador
 Categoría de los datos del portador
 Categoría de los datos de la
memoria
Categoría de los datos del
usuario
 Destinada al usuario de la
computadora (programador), son los
datos y tipos de datos que utiliza el
programador para construir
aplicaciones.
 Ejemplo: campos, registros,
archivos, biblioteca, pilas, colas,
vectores, etc.
Categoría de los datos del
ordenador
 Utiliza el propio ordenador
internamente cuando el usuario
utiliza cierto lenguaje de
programacion o de simulacion.
 Ejemplo: bit, byte, word, bloque
Categoría de los datos del
portador
 Destinados al portador, es decir
cuando se quiere transportar o llevar
datos de un lugar a otro, existen
otros nombres para estos datos que
indican operaciones de entrada y
salida.
 Ejemplo: Volumen, extension, area
Categoría de los datos de la
memoria
 Utilizan en la memoria del
computador. La informacion se
almacena en una unidad de memoria
denominada celda, el cual tiene un
tamaño determinado, al conjunto de
celdas se denomina lista. Ejemplo:
celda, lista.
TIPOS ABSTRATOS DE DATOS
(TAD)
 La abstracción es un mecanismo definido
como la capacidad de manejar objetos y
situaciones concentrándonos sólo en la
esencia de los mismos.
 Los T.A.D. constituyen una forma de
generalizar y encapsular los aspectos más
importantes de la información
 Se reutiliza en otros programas.
 La definición de TAD puede dividirse en 2
niveles:
Niveles de un TAD
 1er nivel superficial donde se define el
TAD y las operaciones sobre el con poco
detalle.
 2o nivel donde se profundiza en la
definición del TAD y en la implementación
de sus operaciones.
 Ejemplo: Un TAD es una fecha ( int[3]) y
sus funciones de manipulación (Crear,
Distancia, Dia...).
Tipos de TAD
 T.A.D. Lineales: Son aquellas estructuras
abstractas de datos en que cada elemento
tiene como mucho dos elementos
adyacentes (posterior y/o anterior), como
las pilas, colas y listas.
 T.A.D. no Lineales:
 Son aquellos cuyos elementos pueden
tener más de 2 adyacentes, a los que
pueden acceder directamente, como los
árboles o grafos.
ARREGLOS
 Conjunto de elementos
– Finito, Ordenado y Homogéneo,
 Todos sus elementos son del mismo tipo
 Un arreglo estático se declara
int A[100];
– El tipo de los elementos, el identificador y
– El numero de elementos (dimensión)
 Cada elemento del arreglo tiene un índice
– En C, siempre el índice mas pequeño es el 0: limite
inferior
– El limite superior, es 1 menos que la dimensión
 Si el arreglo tiene 100 elementos, el índice mas alto es
el 99
0 1 2 3 4 ...
A
99
REPRESENTACION 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
o variable?
– En C lo indica el operador sizeof
– Ejemplo:
int a;
printf(“%d %d”, sizeof(int), sizeof(a));
 El computador internamente
– No almacena la dirección de todos los
elementos del arreglo
– Solo almacena la dirección del primer
elemento
– El resto lo calcula así:

1100947.ppt

  • 1.
  • 2.
    Concepto  Es unmodelo matemático o lógico organizado de los datos  Agrupar ciertos tipos de datos en categorías o en estructuras.  Hay estructura de datos estáticas y estructura de datos dinámicas.
  • 3.
    Dato e Información Es la mínima representación de la información  Hacen referencia a un conjunto de valores pudiendo ser simples o múltiples  Edad es un dato simple  Nombre es un dato múltiple  Es el resultado de procesar un conjunto de datos
  • 4.
    Clasificación de Datos Enteros NuméricosReales Simples Alfanuméricos De carácter Lógicos De cadena Estáticos Vectores Estructurados Registros Datos Conjuntos Archivos lista Dinámicos cola Pila Árbol Grafo
  • 5.
    Estructuras de datosestáticas  Internamente utilizan la memoria estática de la computadora para su almacenamiento temporal  Tienen una capacidad limitada de elementos al definirlos.
  • 6.
    Estructuras de datosdinámicas  Internamente utilizan la memoria dinámica de la computadora para su almacenamiento,  Direcciones de memoria junto y el manejo de punteros en la parte de implementación del programa.  no tiene un tamaño o capacidad limitada
  • 7.
    Jerarquía de losdatos  Es la prioridad o el orden en cuando a su conformación y manejo de estos.  Jerarquía significa cuales datos son primero y cuales son después.
  • 8.
    Jerarquia (orden) Nombre Concepto primero DatoMinima 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
  • 9.
    DATO  Información enbruto, sin ningún significado  Dado un enunciado, evento o acción, los datos – Permiten representar sus actores o participantes – Analizándolos, se podrá obtener resultados deseados  Analicemos el siguiente hecho: – El estudiante de nombre Pedro Vélez de 22 años, tiene un promedio de 7.5  Podemos tomar los siguientes datos – Nombre: Pedro Vélez -> Conjunto de Caracteres – Edad: 22 -> entero – Promedio: 7.5 -> real
  • 10.
    INFORMACIÓN  Es elresultado deseado luego de procesar los datos  Los datos, al ser procesados, se convierten en información útil 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
  • 11.
    ¿Cómo representar losdatos?  Los seres humanos: – Usamos lenguaje natural o símbolos – Ejemplo:  Para representar números, usamos el sistema decimal  Para representar palabras, usamos el abecedario  La computadora: – Usa conjuntos de 1s y 0s – El dato mas pequeño en el computador es  Un 1 o un 0 -> bit – El conjunto de 8 bits -> 1 byte
  • 12.
    TIPOS DE DATOS Los datos se clasifican en TIPOS  Son los diferentes dominios existentes. Ejemplo: – Edad, Año de Nacimiento, Numero de multas  Tienen dominio numérico – Nombre, Dirección, Num. Cedula,  Caen en el dominio de la información tipo texto  Y las operaciones permitidas para dicho dominio Un conjunto de valores y operaciones definidas solo para esos valores
  • 13.
    TIPOS DE DATOSBASICOS  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
  • 14.
    DIRECCIONES DE MEMORIA 1000 1001 1002 1003 &aes 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
  • 15.
    Categoria de Datos.- Categoría de los datos del usuario  Categoría de los datos del ordenador  Categoría de los datos del portador  Categoría de los datos de la memoria
  • 16.
    Categoría de losdatos del usuario  Destinada al usuario de la computadora (programador), son los datos y tipos de datos que utiliza el programador para construir aplicaciones.  Ejemplo: campos, registros, archivos, biblioteca, pilas, colas, vectores, etc.
  • 17.
    Categoría de losdatos del ordenador  Utiliza el propio ordenador internamente cuando el usuario utiliza cierto lenguaje de programacion o de simulacion.  Ejemplo: bit, byte, word, bloque
  • 18.
    Categoría de losdatos del portador  Destinados al portador, es decir cuando se quiere transportar o llevar datos de un lugar a otro, existen otros nombres para estos datos que indican operaciones de entrada y salida.  Ejemplo: Volumen, extension, area
  • 19.
    Categoría de losdatos de la memoria  Utilizan en la memoria del computador. La informacion se almacena en una unidad de memoria denominada celda, el cual tiene un tamaño determinado, al conjunto de celdas se denomina lista. Ejemplo: celda, lista.
  • 20.
    TIPOS ABSTRATOS DEDATOS (TAD)  La abstracción es un mecanismo definido como la capacidad de manejar objetos y situaciones concentrándonos sólo en la esencia de los mismos.  Los T.A.D. constituyen una forma de generalizar y encapsular los aspectos más importantes de la información  Se reutiliza en otros programas.  La definición de TAD puede dividirse en 2 niveles:
  • 21.
    Niveles de unTAD  1er nivel superficial donde se define el TAD y las operaciones sobre el con poco detalle.  2o nivel donde se profundiza en la definición del TAD y en la implementación de sus operaciones.  Ejemplo: Un TAD es una fecha ( int[3]) y sus funciones de manipulación (Crear, Distancia, Dia...).
  • 22.
    Tipos de TAD T.A.D. Lineales: Son aquellas estructuras abstractas de datos en que cada elemento tiene como mucho dos elementos adyacentes (posterior y/o anterior), como las pilas, colas y listas.  T.A.D. no Lineales:  Son aquellos cuyos elementos pueden tener más de 2 adyacentes, a los que pueden acceder directamente, como los árboles o grafos.
  • 23.
    ARREGLOS  Conjunto deelementos – Finito, Ordenado y Homogéneo,  Todos sus elementos son del mismo tipo  Un arreglo estático se declara int A[100]; – El tipo de los elementos, el identificador y – El numero de elementos (dimensión)  Cada elemento del arreglo tiene un índice – En C, siempre el índice mas pequeño es el 0: limite inferior – El limite superior, es 1 menos que la dimensión  Si el arreglo tiene 100 elementos, el índice mas alto es el 99 0 1 2 3 4 ... A 99
  • 24.
    REPRESENTACION 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 o variable? – En C lo indica el operador sizeof – Ejemplo: int a; printf(“%d %d”, sizeof(int), sizeof(a));  El computador internamente – No almacena la dirección de todos los elementos del arreglo – Solo almacena la dirección del primer elemento – El resto lo calcula así: