You are on page 1of 10

Universidad Nacional de San Cristbal de Huamanga

IS241-Estructura de datos

Semana 5
PRIMERA UNIDAD 2
Competencias

Reconocimiento de las diferencias entre estructuras estticas y dinmicas


Aplicar tipos de datos de acuerdo a la complejidad.
Manipular operaciones en las estructuras internas

Contenido
Estructuras estticas fundamentales: lgico, carcter, entero y punto flotante
Estructuras estticas compuestas: Arreglos. Arrays multidimensionales. Utilizacin de arrays como parmetros
cadenas(declaracin inicializacin, asignacin. Mtodos y operador + con cadenas. Clase vector
.

Lgico

Mapa Conceptual

Fundamentales
Carcter

Entero
ESTRUCTURAS ESTATICAS
Punto Flotante

Conjuntos
Compuestas

Arreglos

Escuela de Formacin de Ingeniera de Sistemas


Docente Ing. Elinar Carrillo Riveros

ao 2015

Universidad Nacional de San Cristbal de Huamanga


IS241-Estructura de datos

ESTRUCTURAS DE DATOS ESTATICAS


1.

ESTRUCTURAS DE DATOS FUNDAMENTALES


a.ENTERO
Desde un nivel lgico
Es uno de los conceptos fundamentales de cualquier lenguaje de programacin. Estos definen los
mtodos de almacenamiento disponibles para representar informacin, junto con la manera en
que dicha informacin ha de ser interpretada.
Desde un nivel de implementacin
Para crear una variable (de un tipo simple) en memoria debe declararse indicando su tipo de
variable y su identificador que la identificar de forma nica. La sintaxis de declaracin de
variables es la siguiente:
TipoSimple Identificador1, Identificador2;
Esta sentencia indica al compilador que reserve memoria para dos variables del tipo simple
TipoSimple con nombres Identificador1 e Identificador2
En java se representa Se usan para representar nmeros enteros con signo. Hay cuatro tipos:
byte, short, int y long.

Tipo

Tamao

byte

1Byte (8 bits)

short

2 Bytes (16 bits)

int

4 Bytes (32 bits)

long

8 Bytes (64 bits)

Desde un nivel de aplicacin


Desde este punto de vista los enteros se utilizan para poder almacenar datos y su aplicacin es
los diferentes programas.

b.LOGICO
Escuela de Formacin de Ingeniera de Sistemas
Docente Ing. Elinar Carrillo Riveros

ao 2015

Universidad Nacional de San Cristbal de Huamanga


IS241-Estructura de datos
Desde un nivel lgico
Se usa para almacenar variables que presenten dos estados, que sern representados por los
valores true y false. Representan valores bi-estado, provenientes del denominado lgebra de
Boole

Desde un nivel de implementacin


Java utiliza dos palabras clave para los estados: true (para verdadero) y false (para falso). Este
tipo de literales es nuevo respecto a C/C++, lenguajes en los que el valor de falso se
representaba por un 0 numrico, y verdadero cualquier nmero que no fuese el 0.
Para declarar un dato del tipo booleano se utiliza la palabra reservada boolean:
boolean reciboPagado = false; // Aun no nos han pagado?!
Desde un nivel de aplicacin
Desde este punto de vista los enteros se utilizan para poder almacenar datos y su aplicacin es
los diferentes programas

c.CARCTER
Desde un nivel lgico
Se usa para almacenar caracteres Unicode simples. Debido a que el conjunto de caracteres
Unicode se compone de valores de 16 bits, el tipo de datos char se almacena en un entero sin
signo de 16 bits.
Desde un nivel de implementacin
Java a diferencia de C/C++ distingue entre matrices de caracteres y cadenas.
Representan un nico carcter (de la tabla de caracteres Unicode 1.1) y aparecen dentro de un par
de comillas simples. De forma similar que en C/C++. Los caracteres especiales (de control y no
imprimibles) se representan con una barra invertida ('\') seguida del cdigo carcter.

Descripcin

Caracter Unicode

Representacin

Valor Unicode

\udddd

Numero octal

\ddd

Barra invertida

\\

Escuela de Formacin de Ingeniera de Sistemas


Docente Ing. Elinar Carrillo Riveros

\u005C

ao 2015

Universidad Nacional de San Cristbal de Huamanga


IS241-Estructura de datos

Continuacin

Retroceso

\b

\u0008

Retorno de carro

\r

\u000D

Alimentacin de formularios

\f

\u000C

Tabulacin horizontal

\t

\u0009

Lnea nueva

\n

\u000A

Comillas simples

\u0027

Comillas dobles

\"

\u0022

Nmeros arbigos ASCII

0-9

\u0030 a \u0039

Alfabeto ASCII en maysculas

A.-Z

\u0041 a \u005A

Alfabeto ASCII en minsculas

a.-z

\u0061 a \u007A

Desde un nivel de aplicacin


Desde este punto de vista los enteros se utilizan para poder almacenar datos y su aplicacin es
los diferentes programas

d.PUNTO FLOTANTE
Escuela de Formacin de Ingeniera de Sistemas
Docente Ing. Elinar Carrillo Riveros

ao 2015

Universidad Nacional de San Cristbal de Huamanga


IS241-Estructura de datos
Desde un nivel lgico
Se usan para representar nmeros con partes fraccionarias Hay dos tipos de coma flotante: float y
double. El primero reserva almacenamiento para un nmero de precisin simple de 4 bytes y el
segundo lo hace para un nmero de precisin doble de 8 bytes

Tipo

Tamao

float

4 Byte (32 bits)

double

8 Bytes (64 bits)

Desde un nivel de implementacin


La declaracin de variables de coma flotante es muy similar a la de las variables enteras. Por
ejemplo:
double miPi = 314.16e-2 ; // Aproximadamente
float temperatura = (float)36.6; // Paciente sin fiebre
Desde un nivel de aplicacin
Desde este punto de vista los enteros se utilizan para poder almacenar datos y su aplicacin es
los diferentes programas.

2.

ESTRUCTURAS DE DATOS COMPUESTAS


a.ARRAYS
i. ARRAYS UNIDIMENSIONAL
Desde un nivel lgico
Un arreglo o arrays es una coleccin finita de tamao fijo y de elementos homogneos y
ordenados
El array es una estructura de acceso directo o aleatorio .Se accede directamente al elemento
de una array a travs del ndice de seleccin.
Las operaciones bsicas es :
Constructor
Selector
Extraer el valor
Modificar el valor

Escuela de Formacin de Ingeniera de Sistemas


Docente Ing. Elinar Carrillo Riveros

ao 2015

Universidad Nacional de San Cristbal de Huamanga


IS241-Estructura de datos
Operaciones Complejas
Ordenamiento, bsquedas y mezclas.

Desde un nivel de implementacin


TipoDeDato [ ] nombreArray;
nombreArray=new TipoDeDato[ numeroElementos];
Ejemplo
int [ ] conjuntoEnteros;
conjuntoEnteros=new int[5 ];
int[] numeros={2, -4, 15, -25};
Almacenamiento en Memoria
El array se almacena en posiciones consecutivas de memoria. A la variable referencia se le
asocia la direccin del primer elemento del array, denominado direccin base.
La cantidad de espacio que se requiere para almacenar un array
tamaoFisicoArray=numeroElementos * p
p=numero de byte necesarios npara almacenar un elemento de tipoBase
conjuntoEntero

0
1
2
3
5

Escuela de Formacin de Ingeniera de Sistemas


Docente Ing. Elinar Carrillo Riveros

ao 2015

Universidad Nacional de San Cristbal de Huamanga


IS241-Estructura de datos
Desde un nivel de aplicacin
Es una estructura natural para modelar listas de elementos de datos iguales, es fcil de
recorrer, buscar y ordenar, algunos ejemplos pueden ser una lista de palabras o comandos, ect.

ii. ARRAYS MULTIDIMENSIONAL


Desde un nivel lgico
Llamados tambin matrices, es un array cuyos elementos son tambin arrays y se maneja a
travs de ndices.
Sus operaciones bsicas son el constructor y selector.
El arrays multidimensional ms comn es el que tiene 2 dimensiones es decir las matrices.

Desde un nivel de implementacin

tipoDato [ ] [ ] nombreMatriz;
nombreMatriz=new tipoDato[ 3] [ 3];
Por ejemplo:
int [][] m = new int[3][3];
crea una matriz m de 3 filas.
A cada fila se le puede asignar un nmero distinto de columnas:
m[0] = new int[3];
m[1] = new int[5];
m[2] = new int[2];

Escuela de Formacin de Ingeniera de Sistemas


Docente Ing. Elinar Carrillo Riveros

ao 2015

Universidad Nacional de San Cristbal de Huamanga


IS241-Estructura de datos
Por ejemplo:
int [ ][ ] numeros = {{6,7,5}, {3, 8, 4}, {1,0,2}, {9,5,2}};
se crea la matriz numeros de tipo int, de 4 filas y 3 columnas, y se le asignan esos valores iniciales.

Desde un nivel de aplicacin


Se utilizan en muchas aplicaciones que requieran tablas.

b.CONJUNTOS
Desde un nivel lgico
Es una coleccin no ordenada de miembros o elementos de un determinado tipo
Las operaciones bsicas es el constructor y selector.
Las operaciones complejas son: permanencia, unin, interseccin, diferencia, complemento ,
inclusin e igualdad.
Desde un nivel de implementacin
Java no tiene ninguna clase o interfaz que se pueda implementar estructuras con el
comportamiento de un conjunto, en consecuencia se puede utilizar la interfaz java.util.set como
base para implementacin de un conjunto.
Set: Dentro de las colecciones de datos que java proporciona en su biblioteca bsica,
esta interfaz recoge los conjuntos de datos que se caracterizan porque:

no se respeta el orden en el que se insertan elementos

no pueden haber elementos duplicados

el tamao del conjunto se adapta dinmicamente a lo que haga falta

Mtodos de la interface
En lo que sigue, un elemento x es equals a otro elemento y s y slo si x.equals(y) ==
true.

interface Set <E>


boolean add(E elemento)
aade un elemento al conjunto, si no estaba ya;
devuelve true si el conjunto crece
void clear()
vaca el conjunto
Escuela de Formacin de Ingeniera de Sistemas
Docente Ing. Elinar Carrillo Riveros

ao 2015

Universidad Nacional de San Cristbal de Huamanga


IS241-Estructura de datos
interface Set <E>
boolean contains(E elemento)
devuelve true si existe en el conjuto algn elemento equals al indicado
boolean equals(Object x)
devuelve true si uno y otro conjunto contienen el mismo nmero de
elementos y los de un conjunto son respectivamente equals los del otro
boolean isEmpty()
devuelve true si el conjunto est vaco
Iterator <E> iterator()
devuelve un iterador sobre los elementos del conjunto
boolean remove(E elemento)
si existe un elemento equals al indicado, se elimina;
devuelve true si vara el tamao del conjunto
int size()
nmero de elementos en el conjunto

El propio paquete java.util proporciona algunas implementaciones de la interface Set, sin


perjuicio de que se puedan programar otras.
class HashSet implements Set
Es una implementacin muy eficiente en cuanto a uso de memoria. Es rpida en todas las
operaciones.
class TreeSet implements Set
Es una implementacin ms lenta y pesada; pero presenta la ventaja de que el iterador
recorre los elementos del conjunto en orden.
Ejemploksafoasi

,mm

Set <Integer> conjunto = new HashSet <Integer>();


Casf . ddfbbb ,
conjunto.add(1);
conjunto.add(9);
conjunto.add(5);
conjunto.add(9);
System.out.println(conjunto.size());
for (int n: conjunto) {
System.out.print(n + " ");
}
System.out.println();
Desde un nivel de aplicacin
Su aplicacin est en la implementacin de estructuras que contengan elementos no repetidos,
tambin se ve en la implantacin de un compilador de un lenguaje de programacin.

C=(F-32) 1.8

Escuela de Formacin de Ingeniera de Sistemas


Docente Ing. Elinar Carrillo Riveros

ao 2015

Universidad Nacional de San Cristbal de Huamanga


IS241-Estructura de datos

Public static double centrigrados(doubl F){


double c;
c=(F-32) 1.8;
return c;
}
Public static void centrigrados(doubl F){
double c;
c=(F-32) 1.8;
}
Base, exponent
5 elevado 5 = 5*5*5*5*5
5*5 ^4
5*5*5*5
5
^3
Base
exp=1
Base * Pot (base, exp-1)
Public int Pot( int base, int exp)
{ if (exp=1)
Return base;
Else
Return base* Pot(base, exp-1)
}
3*4= 3+3+3+3
Public int[ ] Suma(int[ ] a, int[ ] b)
{
Return
}

Escuela de Formacin de Ingeniera de Sistemas


Docente Ing. Elinar Carrillo Riveros

ao 2015