You are on page 1of 13

ESTRUCTURA DE DATOS 1 Introduccin a estructura de datos.

Captulo 1 Estructura de datos fundamental Definiciones:

Bit: la unidad ms pequea del que posee en espacio de memoria (binary digit). Byte: conjunto de 8 bits. Palabra: conjunto de bites. Celda de memoria: espacio donde muestra la informacin en forma hexadecimal tamao en byte. Datos: hace referencia a valores simples o a un conjunto de valores. -Los datos los podemos clasificar en simples y estructurados. -la principal caracterstica de un dato simple es que ocupa solo una celda de memoria, por lo tanto un nombre de variable hace referencia a un nico valor a la vez. Los datos estructurados se caracterizan por el hecho de que con un nombre (identificado de variable) se hace referencia a un grupo de celdas de memoria. Estructura de datos: se puede definir como una conexin lgica de elementos de datos cuya asignacin se caracteriza por las operaciones de acceso usadas para almacenar y recuperar los elementos individuales. Las estructuras de datos se pueden clasificar en linales (arreglos , pilas, colas , listas)y no lineales(rboles y grafos). Estructuras de datos estticas: es aquella estructura de datos definida en tiempo de compilacin Ejemplo: arreglos, pilas y colas , listas enlazada, Estructuras de datos dinmicas: es aquella que permite la asignacin de espacio de memoria durante la ejecucin del programa. Ejemplo: lista en lazada, arboles Y grafos.

ESTRUCTURA DE DATOS PRIMITIVAS

Son la base para generar otras estructuras ms avanzadas. -enteros: son numero sin punto decimal ya sea positivos o negativo ejemplo:{,-(n-1),--2,-1, 0,2,(n+1),.}. -reales: son aquellos tiene punto decimal y exponenciales -decimal: posee punto decimal. -exponencial: posen parte de exponente entero. -Carcter: se trata de un conjunto de letras nmeros y signos. -booleanos: son aquellos que puedes tomar uno de dos valores (0,1). ESTRUCTURA DE DATOS SIMPLES -originadas de la primitivas ya que atizan para trabajar - son implementadas dentro del lenguaje de programacin. -cadenas (string): es un conjunto de datos de tipo texto la cual puede utilizar letras y nmeros; secuencia finita de smbolos tomados de un conjunto de caracteres. - concatenarlas, comparar, longitud, fragmentar. -arreglos (arry): es una coleccin finita, homognea y ordenada de elementos. En un arreglo en cada elemento almacena en forma contigua en la memoria. Los arreglos son referenciados por un nombre de variable y un ndice. Todo arreglo est formado por dos partes: componentes e ndices. Los componentes hacen referencia a los elementos que forman el arreglo, es decir, los valores y los ndices permiten hacer referencia a los componentes del arreglo en forma individual. _ para ir a los elementos iniciales es necesario el nombre del arreglo y el ndice. -arreglos unidimensionales: son aquellos que hacen referencia a cada elemento del arreglo pro medio de un solo ndice. La longitud total de un arreglo unidimensional puede obtenerse del conjunto de ndice atrabes de la siguiente formula TE=LS-LI+1 TE=total de elementos. LS=lmite superior. LI= lmite inferior.

Ejemplo : una compaa de automviles para almacenar el nmero de autos vendidos desde 1952 hasta el 210 . cul es la longitud del arreglo? Ventas de autos. Autos (59) Como los arreglos se almacenan en celdas consecutivas de memoria, podemos calcular la direccin de memoria de un elemento dentro del arreglo solo con conocer la direccin del primer elemento, con la siguiente formula: dir(arr(i))=base(arr)+w(I-LI). Arr=nombre del arreglo. I=indice de element. LI=lmite inferior. W=tamao de la palabra de memoria. Dado el arreglo anterior autos y suponiendo que base (autos)=200 y w=4Byte ;calcular la direccin de memoria de 1974 Dir(autos(1975))=200+4(1975-1952) =200+4(23) =200+92 =292// FORMA DE DEFINIR UN ARREGLO -nombre de arreglo (TE) autos (59), autos (21) -nombre del arreglo (LI: LS) autos (1962:210), autos (-5: 15) Arreglos bidimensionales Es un grupo de datos arreglados en una matriz o tabla, en tablas y columna en donde cada elemento se referencia por medio de 2 indices. Num(3,4). 28 43 06 Num(2,4) Num(1:3,1:4) 31 19 81 75 27 46 49 33 63

Elementos: nombre del arreglos (filas, coliman). REPRESENTACION DE UN ARREGLO EN LA MEMORIA

El computador reserva espacios consecutivas de memoria para almacenar el arreglo , en el equipo los espacio de memoria puede ser gravada en orden de filas o columnas en los espacio de memoria. Para determinar el nmero total de elementos bidimensional se utilizarn las siguientes formulas: Num( -5:5,10:20) Total final (TF) =lsf lif+1 5-(-5)+1= 11 Total de columnas (tc)=lsc-lic+1 20-10+1=11 Total de elementos (te)=TF*TC 11*11=121 -para calcular la direccin de memoria de un elemento dentro de un arrgelo bidimensional se usaran las siguientes formulas: COLUMNAS: Dir(arg(i,j))=base(arg)+w[(j-lic)tf+(i-lif)] FILAS: DIR (arg(I,j))=base(arg)+w[(i-lif)tc+(lic)] W=tamao de la palabra Base ()=direccion del primer element.

La direccin base es la direccin del primer elemento.

ARREGLOS 3D Son aquellos que utilizan 3 ndices para hacer referencia a un elemento. Cada ndice lo puede escribir por rangos de ndice en dada la naturaleza del caso tri(4,2,3)

PRACTICA

1) Dado las siguientes definiciones de arreglos: a(5:50),b(-5:10)y c(18) a) Encuentre el nmero total de elementos. b) Sea base (a)=300 y w=4 byte ,calcule la direccin del elemento a(15) y a(35)ya(55) 2) Suponga que una empresa almacena en un arreglo, ao(1950:2010) tal que ao(k) contiene el nmero de empleados nacidos en el ao k .escriba un algoritmo que realice las siguientes tareas: a) imprimir los aos en el que no haya nacido ningn empleado b) calcular el nmero de empleados que tendrn como mnimo de 50 aos al final del ao actual

3) Dada los siguientes arreglos: AA (-2:2,2:22) y BBB (1:18,-5:5,-10:5) a) Calcular las longitudes de cada ndice y el nmero total de elementos b) Sea base (AA)=400 y w=2 byte. Calcular la direccin del elemento AA(1,5),si estuviese almacenado por filas y por columnas 4) Sea M una matriz cuadrada de nxn elementos escribir un algoritmo que: a) Calcula el nmero(num) de elemento distinto de cero

CONJUNTOS Es una estructura de datos, que consiste en una coleccin bien definida de objetos distintos de cualquier clase, sin importar el orden en que se encuentre llamados elementos u objetos. Todo conjunto se escribe entre {} y por lo general se utiliza letras maysculas para denotar su nombre y letras minsculas para especiar sus elemento , separados por una coma.

Ejemplo: 1. Conjunto de valotes => V={a,e,i,o,u} 2. Das de la semana => S={lu,ma,mi,ju,vi,sa,do}

Dos propiedades importantes en una estructura de datos de conjunto son: 1. Los elementos no se repiten. 2. El orden en que se encuentra los elementos no es importante..

Ejemplo E={1,1,2,3,3,3,3}=>{1,2,3}

RELACION DE PERTENENCIA

Dado un conjunto L y un elemento cualquiera, podremos decir si un elemento pertenece (E)o ()

FORMAS PARA DETEMERMINAR UN CONJUNTO. 1. Por extensin : es aquella forma mediante la cual se indica cada uno de los elementos del conjunto ejemplo: Conjunto de los nmeros pares <5 y menores que >20 E={6,8,10,12,14,16,18} #>5 && #< 20 2. Por compresin: es aquella en la cual se debe especificar una propiedad que los elementos del conjunto tengan en comn. Para este propsito se utiliza la notacin P(x) para denotar una oracin enunciado o formula P relativo al objeto variable X descrito en la siguiente forma: {x| p (x)} ejemplo: V={x| x ,es una vocal} ={a ,e ,i ,o ,u}

CONJUNTOS UNIVERSALES 1. 2. 3. 4. Conjunto de todos los elementos enteros. +Z={x|x es un entero positivo} Conjunto de todos los enteros no negativos N={x|x es un entero positivo o cero} Conjunto de todos los enteros -infinito a + infinito Z={x|x es entero} Conjunto de todos los nmeros racionales (a/b|a,b,c) Q={x|x es un numero racional}

CONJUNTO DE FINITO E INFINITO

CONJUNTO FINITO: conjunto limitado de elementos. A={x|x es un nmero impar positivo < 10} CONJUNTO INFINITO: conjunto ilimitado de elementos. A={x |x es un numero par}

CONJUNTOS VACIOS Es aquel que no tiene elementos y se representa por o { }. M={x|x es un numero >9Y<5}={ }

CONJUNTO UNITARIO Es quiel que tiene solo un elemento A= {x|2x+6=0}{-3}

CARDINALIDAD DE UN CONJUNTO Se refiere a la cantidad que contiene un conjunto y se representa el conjunto entre 2 barras E={a,e,i,o,u} |E|=

CONJUNTO UNIVERSAL Es un conjunto referencial que contiene a todos los elementos de una situacin particular, generalmente se le representa con la letra U ejemplo: Conjunto universal de todas las letras. Conjunto de todos los nmeros.

SUB CONJUNTOS Si A y B son 2 conjunto, decimos que A es un sub-conjunto de B, si todo elemento de A es tambin de b y se escribe : A C B o A c B

Si A no es sub-conjunto de B se escribe AB o A B PROPIEDADES -

Todo conjunto es sub-conjunto de si mismo El conjunto vaco se considera sub-conjunto en cualquier conjunto Si un conjunto tiene n elementos, entonces tiene 2^n conjuntos

DIAGRAMA DE VENN O CIRCULO DE EULER Se utilizan para representar de manera grfica las relaciones y operacin entre conjuntos, mediante crculos, rectngulos, o cualquiera curva cerrada. DIFERENCIA ENTRE ELEMENTOS Y CONJUNTOS

OPERACIONES ENTRE CONJUNTO Union:

Si A y B son dos conjuntos , se define sub unin como el conjunto que tiene todos los elementos que pertenecen a A o B o ambos y se indica como AUB, es decir AUB ={x|xA o X B}

Ejemplo A={a,b,c,e,f} B={b,c,d,g,h} AUB={a,b,c,d,e,f,g,h}

Diagrama de Venn para la unin de dos conjuntos

Si A y B son dos conjuntos , su interseccin se define, como el conjunto que contiene todos los elementos que contiene tanto de A como de B , es desir AnB AnB={X|XB y XA} Ejemplo: sea A={a,b,c,e,f} B={b,e,f,r,s} C={a,t,u,v} AnB={b,e,f} AnC={a}

Conjuntos disjuntos.

Se dice que 2 o ms conjuntos sin disjuntos, cuando su interseccin es el conjunto vacos, es decir que no tienen elementos en comn. BnC={ }

Las operaciones de unin e interseccin pueden generalizarse para 3 o mas conjuntos, asi :

Diferencia entre conjuntos

Si A y B son dos conjuntos su diferencia se define como el conjunto de todos los elementos que pertenecen a A pero no a B A-B={x|xA y xB} A-B={a} B-A={d,e}

Diferencia simtricas Si A y B son dos conjuntos se define su diferencia simtrica como el conjunto de todos los elementos que pertenezcan a A o B , pero no ambos y se indica como: signo es cruz y un sig de + en el centro AB={x|(xA y x!=B9 o (xB y x!=A)}
COMPLEMENTOS

={x|xU y x!=A} Sea U={x|x es una letra del alfabeto } A={x|x es una vocal} ={x|x es una consonante}

HASTA ESTA PARTE TEMA DE EXAMEN.

PRACTICA. 1) Sea A={ 1,2,4,a,b,c} responda V o F a) 2elementoA e) nulo elemento A b) 3 elementoA f) A elemento A c) c no elementoA g) 1 elementoA

d) nulo elementoA h) d no elemento A 2) Sea A={1,2,5,8,11} responda V o F a){5,1}cA b){1,6} A c){8,1} A e)nulo c A f){2}cA g)Ac{1,2,3,5,4} F

d){1,8,2,11,5} A h){3}!A V 3) escriba los siguientes conjuntos por comprensin A={1,3,5,7,9,11,13,15} A={x|x Es impar >= 1 y <= 15} B={2,4,6,8,10.,28} A={x|x es par >= 2 y <= 28} 4) dada el siguiente diagrama de ven indique si es verdadero o falso a) b) c) d) e) f) g) AcB F BcA V CcB V 1EB V 1EA V 2Eb F 1EC V

PRACTICA

1) dado los siguientes arreglos: A( -0:10),B(35),CC(-5:5,3:33) y DD(10,10) a. calcular la dimensin de cada ndice y el nmero total de elementos. b. Si Base(A)=400 y w=4, encontrar la direccin de memoria para el elemento A(5). c. Si la base (cc)=300 y w=2, encontrar la direccin de memoria para el elemento CC(-5,10),SI estuviera almacenado por filas y por columnas. Dado un arreglo unidimensional ENT, de 30 elementos cuyo contenido son nmeros enteros que van del 1 al 100. a. Escriba un algoritmo que diga cuantos nmeros son mayores a 50 y cuantos menores o iguales a 50 Dado un arreglo nm., el cual contiene 25 nmeros enteros. a. Escriba un algoritmo que diga cul es parejas de elementos suman 25. Dado un arreglo bidimensional MAT de 5filas con y 10 columnas alamacenado con nmeros enteros. a. Escriba un algoritmo que sume cada fila y cada columna y lo imprima. Dado la siguiente lista de campos correspondiente a los registros de un archivo de estudiantes: 2.FEC_NAC,2.TEL_RGS,3.MGS,2.CEDULA,3.SEGUNDO APELLIDO, 2.NOMBRE, 2.PARCIALES(4),1.ESTUDIANTES(6),3.DIA, 2.CEDULA,3.PRIMER NOMBRE,2. PROYECTO(3),3.PRIMER APELLIDO, 3.AO, 2.SEMESTRAL, 2.APELLIDOS,2.EDAD,2.ASIGANTURA, 2.PROMEDIO,2.NOTA FINAL,3.SEGUNDO NOMBRE,2.PERIODO, 2PROFESOR. a. Representar la estructura jerrquica correspondiente. b. Representar esquemticamente la estructura de los arreglos en memoria. c. Cuantos elementos simples hay para un registro. d. Cuantos elementos simples hay para todo el archivo. e. Haga una lista describiendo cada campo a que tipo pertenece.

2)

3) 4)

5)

Respuestas

1) A[21] b[1:36] CC[11,31] DD[1:11,-11:0 ] -Si Base(A)=400 y w=4, encontrar la direccin de memoria para el elemento A(5).

no se hace nada es tasito sibre entendido a(5)=base(400)+4(10-(-10))

=480

Si la base (cc)=300 y w=2, encontrar la direccin de memoria para el elemento CC(-5,10),SI estuviera almacenado por filas y por columnas.

CC(-5,10)= base(300)+2[(10-3)11+(-5-(-5)] = (300)+2[(7)11] = (300)+2[77] = (300)+154 =454

You might also like