Está en la página 1de 27

DIVISIÓN DE ESTUDIOS PROFESIONALES PARA EJECUTIVOS

INGENIERÍA DE SISTEMAS

ESTRUCTURAS DE DATOS Y
ALGORITMOS
UNIDAD N°1
Algoritmos - Arreglos

Prof. Lizardo Silva Ubaldo


EDA-LSU 1
Agenda

 Presentación del curso


 Algoritmos

 Estructura de datos

 Arreglos

 Listas Enlazadas
EDA-LSU 2
LOGROS DEL CURSO
Al finalizar el curso el estudiante debe ser capaz
de:
 Elegir e implementar en java la estructura de

datos, tipos, operaciones y forma de


representación en memoria más adecuados
para solucionar una situación concreta.
 Elegir e implementar el algoritmo de
búsqueda, ordenamiento y técnica de
recursividad más apropiados para optimizar el
tiempo de ejecución y el consumo de memoria
de las estructuras de datos más adecuadas.
EDA-LSU 3
Preguntas
 ¿Cuántos trabajan programando?

 ¿Qué lenguajes de programación conocen?

 ¿Qué tipo de aplicaciones ha programado?

 ¿Quiénes no saben programar?

EDA-LSU 4
Fases en la resolución de
problemas – Método informático
 Análisis del problema
 Diseño del algoritmo
 Codificación
 Compilación
 Prueba (Verificación y Depuración)
 Mantenimiento
 Documentación

EDA-LSU 5
Definiciones
 Algoritmo: Es la especificación de una forma de
resolver un problema. Contiene una serie de pasos
precisos, definidos y finitos.

 Estructura de datos: Disposición en memoria de los


datos e información.

 Problema: Conjunto de hechos o circunstancias que


dificultan la consecución de algún fin.
 Programa: Algoritmos + Estructuras de datos.

EDA-LSU 6
Características de un algoritmo
 Preciso.- Indica el orden de
realización de cada paso.
 Definido.- Si se sigue dos veces,
obtiene el mismo resultado cada
vez.
 Finito.- Tiene un fin; un número
determinado de pasos.
EDA-LSU 7
Estructura de Datos
 Una estructura de datos es una clase de
datos que se caracteriza por su
organización y por las operaciones
definidas sobre ellas.
 Es una forma de organizar un conjunto de
datos elementales
 Toda variable que utilizamos en un
programa pertenece a una estructura de
datos.

EDA-LSU 8
Estructura de Datos
 Clasificación de las Estructuras de Datos

EDA-LSU 9
TAD o TDA
 Un tipo abstracto de datos.- Es un tipo de
dato definido por una persona y que se
puede manipular de una manera similar
a los tipos de datos definidos por el
sistema.
 Es un conjunto de valores y operaciones
definidos mediante una especificación
independiente de su implementación.
 TAD = valores y operaciones
EDA-LSU 10
TAD o TDA
 Un tipo abstracto de datos.- Es un tipo de
dato definido por una persona y que se
puede manipular de una manera similar
a los tipos de datos definidos por el
sistema.
 Es un conjunto de valores y operaciones
definidos mediante una especificación
independiente de su implementación.
 TAD = valores y operaciones
EDA-LSU 11
TDA Lista
 Es una colección homogénea de
elementos relacionados entre si.
 Característica: Cada elemento tiene un
único predecesor y un único sucesor o
siguiente, excepto el primero y último de
la lista.
L1, L2, L3, L4, …….Ln-1, Ln
n >=0 si n=0 la lista es vacía

EDA-LSU 12
TDA Lista
 Tipos de listas:
 Listas ordenadas.- Los elementos están
ordenados de acuerdo a un criterio
especifico.
 Listas desordenadas.- Los elementos no
siguen un orden especifico.
 Listas indexadas.- Se puede hacer
referencia a un elemento, mediante un
índice específico.
EDA-LSU 13
TDA Lista
 Lista de novios
 Lista de invitados
 Lista de cursos a llevar
 Lista de alumnos matriculados en
Estructuras de datos y algoritmos

EDA-LSU 14
TDA Lista
 Operaciones con Listas
 Creación: CreaLista
 Transformación: InsertarElemento,
borrarElemento, ModificarElemento,
VaciarLista.
 Otras Operaciones: recorrerLista,
recuperarElemento,

EDA-LSU 15
TDA Lista
 Implementación de una lista mediante:
 Arreglos: Cada posición es un
elemento de la lista. Es una estructura
estática.
 Punteros: Se denominan listas
enlazadas y cada nodo es un elemento
de la lista. Es una estructura dinámica.

EDA-LSU 16
TDA Lista
 Estructuras estáticas vs estructuras
dinámicas
 ¿Qué pasa con la memoria?
 ¿Ventajas de cada una?
 ¿Desventajas?

EDA-LSU 17
Arreglos
 Conjunto o una colección finita, homogénea y
ordenada de elementos.
 Es un conjunto o agrupación de variables del
mismo tipo cuyo acceso se realiza por medio de
índices
 Finito porque tiene un límite. Se conoce la cantidad
máxima de elementos del arreglo
 Homogénea porque todos los elementos son del mismo
tipo de dato
 Ordenado porque es posible identificar al primero,
segundo, etc. elemento.

EDA-LSU 18
Arreglos
 Los arreglos pueden ser de los siguientes tipos:
 De una dimensión (vectores).
 De dos dimensiones (matrices).
 De tres o más dimensiones.
 Desde el punto de vista del programa, un arreglo
es una zona de almacenamiento contiguo, que
contiene una serie de elementos del mismo tipo.
 Desde el punto de vista lógico podemos
considerarlas como un conjunto de elementos
ordenados en fila.

EDA-LSU 19
Arreglos
 Los arreglos se representan en memoria de la
forma siguiente:
int A [ ] = new int [7]; (sintaxis en java)

EDA-LSU 20
Arreglos
 Para calcular la dirección de memoria de un
elemento dentro de un arreglo se usa la
siguiente formula:
Di = B + [(i - li) * w]
 donde :
 Di = Dirección de inicio del elemento i
 B = Dirección de inicio del arreglo
 i = Índice del elemento
 li = Límite inferior del arreglo
 w = Número de bytes de cada elemento

EDA-LSU 21
Arreglos
 Ejemplo:
 Calcular la dirección del elemento 4 del arreglo A
(1:10).
 Cada elemento tiene 2 bytes y el elemento uno es el
primer elemento del arreglo.
 Además el arreglo empieza en la dirección 100
 Usando la formula: Di = B + [(i - li) * w]

 Resultado: Dirección = 100+(4-1)* 2 = 106

EDA-LSU 22
Arreglos
 Para almacenar dos conjuntos de datos de
diferentes tipos de datos, que tengan
relación una con la otra, se debe utilizar
dos arreglos de una dimensión cada una.

EDA-LSU 23
Arreglos - Ejercicios
 Utilizando arreglos, ingresar N números y
calcular cual es el número menor, mayor

 Calcular el promedio de los N números y


mostrar los números que superan dicho
promedio.

 Ingresar el nombre y la edad de N


personas

EDA-LSU 24
¿Preguntas?

Demetrio Elgueta

EDA-LSU 25
Ejercicios

 Cuadrado de un número
 Indicar si un Número es primo
 Área de un circulo
 Mínimo, máximo de 3 valores

EDA-LSU 26
EDA-LSU 27

También podría gustarte