SlideShare une entreprise Scribd logo
1  sur  48
Ingeniería en Sistemas Computacionales
Estructura de Datos
Unidad III: Estructuras Lineales
Este material fue diseñado para la asignatura de Estructura de Datos de la carrera de Ingeniería en Sistemas
Computacionales, plan de estudios ISIC-2010-224.
Competencia de la
Unidad
• Conocer, identificar
y aplicar las
estructuras lineales
en la solución de
problemas del
mundo real.
Estructuras Lineales
• En esta unidad se comienza el estudio de las estructuras de datos dinámicas.
Al contrario que las estructuras de datos estáticas (arrays) en las que su
tamaño en memoria se establece durante la compilación y permanece
inalterable durante la ejecución del programa, las estructuras de datos
dinámicas crecen y se contraen a medida que se ejecuta el programa, por lo
que la cantidad de memoria que requieren para funcionar es muy variable.
• Las estructuras lineales de elementos homogéneos implementadas con arrays
necesitan fijar por adelantado el espacio a ocupar en memoria, de modo que
cuando se desea añadir un nuevo elemento, que rebase el tamaño prefijado,
no será posible sin que se produzca un error en tiempo de ejecución. Esto hace
ineficiente el uso de los arrays en algunas aplicaciones.
LISTAS ENLAZADAS
• Una lista enlazada es una colección o secuencia de elementos dispuestos uno
detrás de otro, en la que cada elemento se conecta al siguiente elemento por
un “enlace”.
• La idea básica consiste en construir una lista cuyos elementos, llamados
nodos, se componen de dos partes o campos:
 La primera parte contiene la información y es, por consiguiente, un valor
de un tipo genérico (denominado Dato, TipoElemento, Info, etc.);
 La segunda parte es un enlace que apunta al siguiente nodo de la lista.
• La representación gráfica más extendida es aquella que utiliza una caja con dos
secciones en su interior. En la primera sección se encuentra el elemento o
valor a almacenar y en la segunda sección el enlace o puntero, representado
mediante una flecha que sale de la caja y apunta al siguiente nodo.
Clasificación de las listas enlazadas
LISTAS SIMPLEMENTE ENLAZADAS: Cada nodo (elemento)
contiene un único enlace que conecta ese nodo al nodo siguiente
o nodo sucesor. La lista es eficiente en recorridos directos
(“adelante”).
Clasificación de las listas enlazadas
LISTAS DOBLEMENTE ENLAZADAS: Cada nodo contiene dos
enlaces, uno a su nodo predecesor y el otro a su nodo sucesor. La
lista es eficiente tanto en recorrido directo (“adelante”) como en
recorrido inverso (“atrás”).
Clasificación de las listas enlazadas
LISTA CIRCULAR SIMPLEMENTE ENLAZADA: Una lista simplemente
enlazada en la que el último elemento (cola) se enlaza al primer
elemento (cabeza) de tal modo que la lista puede ser recorrida de
modo circular (“en anillo”).
Clasificación de las listas enlazadas
LISTA CIRCULAR DOBLEMENTE ENLAZADA: Una lista doblemente
enlazada en la que el último elemento se enlaza al primer
elemento y viceversa. Esta lista se puede recorrer de modo circular
(en anillo) tanto en dirección directa (“hacia adelante”) como
inversa (“hacia atrás”).
TRABAJANDO CON LISTAS
• Para trabajar con una lista enlazada debemos crear una estructura que refleje
la información contenida en cada nodo de la misma y que contenga una
variable de tipo apuntador que conecte cada nodo con el nodo siguiente.
La variable tipo apuntador
se define con un asterisco
y debe ser del mismo tipo
de la estructura declarada
TRABAJANDO CON LISTAS
• Después debemos definir el nombre de la lista que utilizaremos a lo largo de
nuestro programa y una serie de variables auxiliares que servirán para la
creación de nodos, estas variables también son de tipo apuntador.
Cuando declaramos una variable con
un asterisco antes del nombre
estamos reservando un espacio de
memoria para el objeto que
posteriormente será creado
INSERTAR NODO INICIAL O CABECERA DE LA LISTA
• Cando declaramos la variable I utilizando un asterisco (*I) lo que hicimos fue
reservar un espacio en memoria para almacenar la información, por lo que al
insertar el primer nodo sólo es necesario crear el objeto o nodo que
utilizaremos:
Crea el nuevo
objeto o nodo
Asigna valor a la
variable de trabajo
Apunta a NULL ya que no hay
otros nodos por el momento
Algoritmo de inserción
Crear el nuevo nodo
Asignar la información
al campo
correspondiente
Asignar NULL a la
variable apuntador
ALGORITMO DE INSERCIÓN
DE NODOS SUBSECUENTES
EN LA LISTA (INCLUYENDO
NODO COLA O “TAIL”).
SI T==NULL
crear nuevo nodo
asignar datos al campo correspondiente
asignar NULL a la variable apuntador
apunta la cabecera al nuevo nodo cola
SINO
reservar memoria y crear nuevo nodo
asignar datos al campo correspondiente
asignar NULL a la variable apuntador del nodo final
enlazar el nodo anterior con el nuevo
igualar nodo cola a nodo de trabajo
FINSI
INSERTAR NODOS SUBSECUENTES EN LA LISTA
(INCLUYENDO NODO COLA O “TAIL”).
Cuando no hay
ningún nodo
salvo la cabeza
Cuando ya existe
un nodo cola, se
agrega otro al
final y se cambia
la referencia del
nodo cola
Crea el nodo
Asigna Datos
Apunta a NULL
el nodo final
Apunta la cabecera
al nuevo nodo cola
Reserva memoria y crea
el nodo
Asigna Datos
Apunta a NULL
el nuevo nodo
Enlaza el nodo
anterior al nuevo
Asigna nodo cola
RECORRER LA LISTA DESDE EL INICIO
• Algoritmo de recorrido
Igualar nodo de trabajo a nodo cabeza
MIENTRAS nodo de trabajo != Nulo
Imprimir datos del nodo
Nodo de trabajo = siguiente nodo
FINMIENTRAS
• Código en C++
ALGORITMO DE INSERCIÓN DE NODOS AL INICIO DE LA LISTA O NODO CABEZA.
SI cabeza==NULL
crear nuevo nodo inicial
asignar datos al campo correspondiente
asignar NULL a la variable apuntador
SINO
reservar memoria y crear nuevo nodo
asignar datos al campo correspondiente
enlazar el nodo actual con el nodo cabeza
igualar nodo cabeza al nodo actual
FINSI
CÓDIGO DE INSERCIÓN DE NODOS AL INICIO DE LA LISTA O
NODO CABEZA.
Cuando no hay
ningún nodo en
la lista
Cuando ya
existe un nodo
CABEZA, se
agrega el nuevo
al inicio
Crea nodo
cabeza
Reserva memoria y
crea el nodo
Asigna Datos
Nuevo nodo apunta
al nodo inicial
Convierte el nuevo
nodo en nodo CABEZA
ELIMINAR UN NODO DE LA LISTA
• Para eliminar un nodo de la lista
debemos verificar primero si se
trata del nodo cabeza o de un
nodo subsecuente.
• Para realizar esta eliminación
son necesarios 3 variables
auxiliares tipo nodo: auxiliar,
actual, anterior
• A continuación se presenta el
algoritmo para hacer dicha
verificación y la posterior
eliminación;
SI (DATO == cabeza-> info)
hacer auxiliar = nodo inicial
hacer nodo cabeza= auxiliar->siguiente
eliminar(auxiliar)
SINO
anterior = cabeza
actual = cabeza->siguiente
MIENTRAS (actual != NULL && actual->info != DATO)
anterior = actual
actual = actual->siguiente
FINMIENTRAS
SI (actual != NULL)
auxiliar = actual
anterior->siguiente = actual->siguiente
eliminar(auxiliar)
SI (anterior->siguiente ==NULL) T=anterior FINSI
FINSI
FINSI
CÓDIGO DE ELIMINACIÓN
DE UN NODO DE LA LISTA
• Ejercicio: Realizar el programa completo con listas enlazadas simples.
 Debe incluir menú de opciones;
 Debe incluir módulo de captura de Nodo de Inicio o Nodo Cabeza;
 Debe poder capturar Nodo Cola;
 Debe poder insertar un nuevo Nodo Cabeza;
 Debe poder eliminar un nodo seleccionado;
 Debe incluir un recorrido desde el Nodo Cabeza hasta el Nodo Cola
mostrando el promedio los elementos contenidos y el número de nodos
de la lista;
• Entregar el programa
PILAS
PILAS
PILA: Es un conjunto de elementos que solo pueden insertarse y
eliminarse por un extremo. Se trata de una estructura de datos de
acceso restrictivo a sus elementos.
Un ejemplo de pila es una torre de discos compactos, en la cual los
discos se insertan y se extraen por el mismo extremo.
• En la computación estas estructuras suelen ser fundamentales. La recursividad
se simula en un computador con la ayuda de una pila. Asimismo muchos
algoritmos emplean las pilas como estructura de datos fundamental, por
ejemplo para mantener una lista de tareas pendientes que se van acumulando.
• Las pilas ofrecen dos operaciones fundamentales, que son apilar y desapilar
sobre la cima. El uso que se les de a las pilas es independiente de su
implementación interna. Es decir, se hace un encapsulamiento. Por eso se
considera a la pila como un tipo abstracto de datos.
• Es una estructura de tipo LIFO (Last In First Out), es decir, último en entrar,
primero en salir.
ELEMENTOS DE UNA PILA
• Tope o cima: Indica el último elemento insertado en la pila.
• Máximo: Se refiere al número de elementos que puede contener la pila.
• Pilas con Arreglos: Representar pilas usando arreglos es relativamente más
sencillo que usando listas enlazadas, el único problema que existe es la
limitante de espacio en memoria, ya que al definir un tamaño máximo ya no es
posible insertar más elementos.
• Pilas con Listas enlazadas: Son llamadas también estructuras dinámicas, ya
que el espacio en memoria se crea hasta que se inserta el elemento.
OPERACIONES CON PILAS
Operaciones Auxiliares con PILAS
• Pila llena (si el tope == Máximo-1)
• Pila vacía (si tope == -1)
• Recorrer pila (desde elemento 0 hasta tope)
Eliminar un elementoInsertar un elemento
Estatus de las PILAS
TRABAJANDO CON PILAS POR MEDIO DE ARRAYS (ESTÁTICAS)
Crear las variables necesarias
int pila[5];
int maximo=5;
Int tope=-1;
Int dato=0;
Int opc=0;
Pila
Máximo de
elementos
Iniciar tope con
valor negativo
Variable para
captura de datos
Variable para menú
de opciones
VERIFICAR SI LA PILA ESTA LLENA
Algoritmo
FUNCION boolena llena()
SI (tope == maximo – 1)
regresar verdadero
SINO
regresar falso
FINSI
FINFUNCION
VERIFICAR SI LA PILA ESTA VACIA
Algoritmo
FUNCION boolena vacia()
SI (tope == – 1)
regresar verdadero
SINO
regresar falso
FINSI
FINFUNCION
INSERTAR ELEMENTO EN LA PILA
Algoritmo
MODULO insertar() {
SI LA PILA ESTA LLENA
MOSTRAR “Pila llena”
SINO
CAPTURAR ELEMENTO
INCREMENTAR tope EN 1
pila[tope]=ELEMENTO;
FINSI
FINMODULO
ELIMINAR ELEMENTO EN LA PILA
Algoritmo
MODULO eliminar() {
SI LA PILA ESTA VACIA
MOSTRAR “Pila Vacia”
SINO
MOSTRAR CONTENIDO
ELIMINAR ELEMENTO
DECREMENTAR TOPE EN 1
FINSI
FINMODULO
RECORRIDO DE UNA PILA
Algoritmo
MODULO recorrer() {
DECLARAR var de trabajo
SI LA PILA ESTA VACIA
MOSTRAR “Pila Vacia”
SINO
MIENTRAS var<=tope
MOSTRAR CONTENIDO
INCREMENTAR var en 1
FINMIENTRAS
FINSI
FINMODULO
• Ejercicio: Desarrolle el programa correspondiente a la PILA que se ha visto en
clase creando un menú que contemple las siguientes opciones:
1. Pila llena
2. Pila vacía
3. Insertar
4. Eliminar
5. Recorrido
6. Terminar
• Entregar el programa en código para revisión
COLAS
Definición de COLAS
Una COLA es un conjunto homogéneo de elementos, del cual
pueden suprimirse elementos sólo desde un extremo llamado
parte delantera, asimismo, sólo pueden agregarse elementos en
el extremo contrario llamado parte posterior.
• El primer elemento en ser agregado a una COLA es
el primer elemento en ser eliminado.
• Por esta razón una COLA se denomina FIFO (First
In-First Out), que es justo el concepto contrario a
una PILA o LIFO (Last In-First Out).
COLAS DINÁMICAS CON NODOS
Parte
Delantera o
Salida
Parte
Posterior o
Entrada
COLAS ESTÁTICAS CON ARRAYS
Parte
Posterior o
Entrada
Parte
Delantera
o Salida
Operaciones Auxiliares con COLAS
• COLA llena (si el final == Máximo-1)
• COLA vacía (si final == -1)
• Recorrer COLA (desde elemento 0 hasta final)
TRABAJANDO CON COLAS ESTÁTICAS
• Una cola estática utiliza un arreglo con un número limitado de elementos en el
mismo, dicho arreglo requiere de una constante que controle el máximo de
elementos que pueden ser cargados a la cola, y de una variable que controle el
elemento final de la cola (último en ser insertado).
• Declaración de las variables de la COLA estática
int cola[5];
int final = -1;
int maximo = 5;
COLA
Último elemento
Máximo de elementos
ALGORITMO PARA DETERMINAR SI LA COLA ESTÁ LLENA
FUNCION BOLEANA llena ()
SI (final >= maximo - 1 ) ENTONCES
REGRESAR verdadero
SINO
REGRESAR falso
FINSI
FINFUNCION
ALGORITMO
ALGORITMO PARA DETERMINAR SI LA COLA ESTÁ VACIA
FUNCION BOLEANA vacia ()
SI (final < 0) ENTONCES
REGRESAR verdadero
SINO
REGRESAR falso
FINSI
FINFUNCION
ALGORITMO
ALGORITMO PARA INSERTAR ELEMENTO EN LA COLA
MODULO insertar(DATO)
SI (llena) ENTONCES
IMPRIME “cola llena”
SINO
incrementar final
cola[final]=DATO
FINSI
FINMODULO
ALGORITMO
ALGORITMO PARA ELIMINAR ELEMENTO EN LA COLA
MODULO eliminar ()
SI (vacia) ENTONCES
IMPRIME “cola vacia”
SINO
FOR (J=0, J<máximo, j++)
cola[j]=cola[j+1]
FINFOR
FINSI
DECREMENTAR final
FINMODULO
ALGORITMO
ALGORITMO PARA HACER RECORRIDO DE COLA
MODULO recorrer ()
SI (vacia) ENTONCES
IMPRIME “cola vacia”
SINO
FOR (J=0, J<=final, j++)
imprime cola[j]
FINFOR
FINSI
FINMODULO
ALGORITMO
• Ejercicio: Desarrolle el programa correspondiente a la COLA que se ha visto en
clase creando un menú que contemple las siguientes opciones:
1. Cola llena
2. Cola vacía
3. Insertar
4. Eliminar
5. Recorrido
6. Salir
• Nota: Cada vez que se desee eliminar un elemento debe verificarse la cantidad
que se desea eliminar: si es menor al valor del elemento en la parte delantera
de la cola deberá restarse pero sin eliminar el elemento; si es mayor debe
eliminarse y el faltante restarlo del siguiente elemento en la cola a manera de
un inventario de almacén.
Bibliografía
• Joyanes, Zahonero. Estructura de Datos en C++. McGraw Hill. Madrid, España.
2007. ISBN: 978-84-481-5645-9.

Contenu connexe

Tendances

Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura linealesEnrique2194
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacionLuis Igoodbad
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
E.d. lineales y no lineales
E.d. lineales y no linealesE.d. lineales y no lineales
E.d. lineales y no linealesGaby Toriz
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoJosé Antonio Sandoval Acosta
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesJosé Antonio Sandoval Acosta
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda BinariaITCV
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 

Tendances (20)

Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura lineales
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
E.d. lineales y no lineales
E.d. lineales y no linealesE.d. lineales y no lineales
E.d. lineales y no lineales
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Colas estáticas. IESIT
Colas estáticas. IESITColas estáticas. IESIT
Colas estáticas. IESIT
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 

En vedette

Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasrehoscript
 
Estructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TADEstructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TADJosé Antonio Sandoval Acosta
 
Estructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasEstructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasIARINAIA
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no linealeslos4estatidinamicos
 
Estructuras lineales y líneas enlazadas
Estructuras lineales y líneas enlazadasEstructuras lineales y líneas enlazadas
Estructuras lineales y líneas enlazadasCarmen MARÍA BELMONTE
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosFundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...José Antonio Sandoval Acosta
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...José Antonio Sandoval Acosta
 
M1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaM1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaJosé Antonio Sandoval Acosta
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Simulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la SimulaciónSimulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la SimulaciónJosé Antonio Sandoval Acosta
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...José Antonio Sandoval Acosta
 

En vedette (20)

Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicas
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Estructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TADEstructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TAD
 
Estructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasEstructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colas
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no lineales
 
Estructuras lineales y líneas enlazadas
Estructuras lineales y líneas enlazadasEstructuras lineales y líneas enlazadas
Estructuras lineales y líneas enlazadas
 
Ingenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridadIngenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridad
 
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015 M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosFundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
 
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
 
M1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaM1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académica
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Simulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la SimulaciónSimulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la Simulación
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
 

Similaire à Estructuras lineales

Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)José Antonio Sandoval Acosta
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Edward Mejia Gomez
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colasjorgeluis0317
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337CJrosario2
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colasiventura26
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y ColasAlex Pin
 
Presentacion Lista, Cola y Pila
Presentacion Lista, Cola y PilaPresentacion Lista, Cola y Pila
Presentacion Lista, Cola y Pilathemvp16
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasElias Peña
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasElias Peña
 

Similaire à Estructuras lineales (20)

Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas,pilas&colas yorka
Listas,pilas&colas yorkaListas,pilas&colas yorka
Listas,pilas&colas yorka
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colas
 
Pilas Colas
Pilas ColasPilas Colas
Pilas Colas
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Presentación1
Presentación1Presentación1
Presentación1
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Presentacion Lista, Cola y Pila
Presentacion Lista, Cola y PilaPresentacion Lista, Cola y Pila
Presentacion Lista, Cola y Pila
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 

Plus de José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Plus de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Dernier

Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...wvernetlopez
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfcesar17lavictoria
 

Dernier (20)

Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
 

Estructuras lineales

  • 1. Ingeniería en Sistemas Computacionales Estructura de Datos Unidad III: Estructuras Lineales Este material fue diseñado para la asignatura de Estructura de Datos de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224.
  • 2. Competencia de la Unidad • Conocer, identificar y aplicar las estructuras lineales en la solución de problemas del mundo real.
  • 3. Estructuras Lineales • En esta unidad se comienza el estudio de las estructuras de datos dinámicas. Al contrario que las estructuras de datos estáticas (arrays) en las que su tamaño en memoria se establece durante la compilación y permanece inalterable durante la ejecución del programa, las estructuras de datos dinámicas crecen y se contraen a medida que se ejecuta el programa, por lo que la cantidad de memoria que requieren para funcionar es muy variable. • Las estructuras lineales de elementos homogéneos implementadas con arrays necesitan fijar por adelantado el espacio a ocupar en memoria, de modo que cuando se desea añadir un nuevo elemento, que rebase el tamaño prefijado, no será posible sin que se produzca un error en tiempo de ejecución. Esto hace ineficiente el uso de los arrays en algunas aplicaciones.
  • 5. • Una lista enlazada es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta al siguiente elemento por un “enlace”. • La idea básica consiste en construir una lista cuyos elementos, llamados nodos, se componen de dos partes o campos:  La primera parte contiene la información y es, por consiguiente, un valor de un tipo genérico (denominado Dato, TipoElemento, Info, etc.);  La segunda parte es un enlace que apunta al siguiente nodo de la lista.
  • 6. • La representación gráfica más extendida es aquella que utiliza una caja con dos secciones en su interior. En la primera sección se encuentra el elemento o valor a almacenar y en la segunda sección el enlace o puntero, representado mediante una flecha que sale de la caja y apunta al siguiente nodo.
  • 7. Clasificación de las listas enlazadas LISTAS SIMPLEMENTE ENLAZADAS: Cada nodo (elemento) contiene un único enlace que conecta ese nodo al nodo siguiente o nodo sucesor. La lista es eficiente en recorridos directos (“adelante”).
  • 8. Clasificación de las listas enlazadas LISTAS DOBLEMENTE ENLAZADAS: Cada nodo contiene dos enlaces, uno a su nodo predecesor y el otro a su nodo sucesor. La lista es eficiente tanto en recorrido directo (“adelante”) como en recorrido inverso (“atrás”).
  • 9. Clasificación de las listas enlazadas LISTA CIRCULAR SIMPLEMENTE ENLAZADA: Una lista simplemente enlazada en la que el último elemento (cola) se enlaza al primer elemento (cabeza) de tal modo que la lista puede ser recorrida de modo circular (“en anillo”).
  • 10. Clasificación de las listas enlazadas LISTA CIRCULAR DOBLEMENTE ENLAZADA: Una lista doblemente enlazada en la que el último elemento se enlaza al primer elemento y viceversa. Esta lista se puede recorrer de modo circular (en anillo) tanto en dirección directa (“hacia adelante”) como inversa (“hacia atrás”).
  • 11. TRABAJANDO CON LISTAS • Para trabajar con una lista enlazada debemos crear una estructura que refleje la información contenida en cada nodo de la misma y que contenga una variable de tipo apuntador que conecte cada nodo con el nodo siguiente. La variable tipo apuntador se define con un asterisco y debe ser del mismo tipo de la estructura declarada
  • 12. TRABAJANDO CON LISTAS • Después debemos definir el nombre de la lista que utilizaremos a lo largo de nuestro programa y una serie de variables auxiliares que servirán para la creación de nodos, estas variables también son de tipo apuntador. Cuando declaramos una variable con un asterisco antes del nombre estamos reservando un espacio de memoria para el objeto que posteriormente será creado
  • 13. INSERTAR NODO INICIAL O CABECERA DE LA LISTA • Cando declaramos la variable I utilizando un asterisco (*I) lo que hicimos fue reservar un espacio en memoria para almacenar la información, por lo que al insertar el primer nodo sólo es necesario crear el objeto o nodo que utilizaremos: Crea el nuevo objeto o nodo Asigna valor a la variable de trabajo Apunta a NULL ya que no hay otros nodos por el momento Algoritmo de inserción Crear el nuevo nodo Asignar la información al campo correspondiente Asignar NULL a la variable apuntador
  • 14. ALGORITMO DE INSERCIÓN DE NODOS SUBSECUENTES EN LA LISTA (INCLUYENDO NODO COLA O “TAIL”). SI T==NULL crear nuevo nodo asignar datos al campo correspondiente asignar NULL a la variable apuntador apunta la cabecera al nuevo nodo cola SINO reservar memoria y crear nuevo nodo asignar datos al campo correspondiente asignar NULL a la variable apuntador del nodo final enlazar el nodo anterior con el nuevo igualar nodo cola a nodo de trabajo FINSI
  • 15. INSERTAR NODOS SUBSECUENTES EN LA LISTA (INCLUYENDO NODO COLA O “TAIL”). Cuando no hay ningún nodo salvo la cabeza Cuando ya existe un nodo cola, se agrega otro al final y se cambia la referencia del nodo cola Crea el nodo Asigna Datos Apunta a NULL el nodo final Apunta la cabecera al nuevo nodo cola Reserva memoria y crea el nodo Asigna Datos Apunta a NULL el nuevo nodo Enlaza el nodo anterior al nuevo Asigna nodo cola
  • 16. RECORRER LA LISTA DESDE EL INICIO • Algoritmo de recorrido Igualar nodo de trabajo a nodo cabeza MIENTRAS nodo de trabajo != Nulo Imprimir datos del nodo Nodo de trabajo = siguiente nodo FINMIENTRAS • Código en C++
  • 17. ALGORITMO DE INSERCIÓN DE NODOS AL INICIO DE LA LISTA O NODO CABEZA. SI cabeza==NULL crear nuevo nodo inicial asignar datos al campo correspondiente asignar NULL a la variable apuntador SINO reservar memoria y crear nuevo nodo asignar datos al campo correspondiente enlazar el nodo actual con el nodo cabeza igualar nodo cabeza al nodo actual FINSI
  • 18. CÓDIGO DE INSERCIÓN DE NODOS AL INICIO DE LA LISTA O NODO CABEZA. Cuando no hay ningún nodo en la lista Cuando ya existe un nodo CABEZA, se agrega el nuevo al inicio Crea nodo cabeza Reserva memoria y crea el nodo Asigna Datos Nuevo nodo apunta al nodo inicial Convierte el nuevo nodo en nodo CABEZA
  • 19. ELIMINAR UN NODO DE LA LISTA • Para eliminar un nodo de la lista debemos verificar primero si se trata del nodo cabeza o de un nodo subsecuente. • Para realizar esta eliminación son necesarios 3 variables auxiliares tipo nodo: auxiliar, actual, anterior • A continuación se presenta el algoritmo para hacer dicha verificación y la posterior eliminación; SI (DATO == cabeza-> info) hacer auxiliar = nodo inicial hacer nodo cabeza= auxiliar->siguiente eliminar(auxiliar) SINO anterior = cabeza actual = cabeza->siguiente MIENTRAS (actual != NULL && actual->info != DATO) anterior = actual actual = actual->siguiente FINMIENTRAS SI (actual != NULL) auxiliar = actual anterior->siguiente = actual->siguiente eliminar(auxiliar) SI (anterior->siguiente ==NULL) T=anterior FINSI FINSI FINSI
  • 20. CÓDIGO DE ELIMINACIÓN DE UN NODO DE LA LISTA
  • 21. • Ejercicio: Realizar el programa completo con listas enlazadas simples.  Debe incluir menú de opciones;  Debe incluir módulo de captura de Nodo de Inicio o Nodo Cabeza;  Debe poder capturar Nodo Cola;  Debe poder insertar un nuevo Nodo Cabeza;  Debe poder eliminar un nodo seleccionado;  Debe incluir un recorrido desde el Nodo Cabeza hasta el Nodo Cola mostrando el promedio los elementos contenidos y el número de nodos de la lista; • Entregar el programa
  • 22. PILAS
  • 23. PILAS PILA: Es un conjunto de elementos que solo pueden insertarse y eliminarse por un extremo. Se trata de una estructura de datos de acceso restrictivo a sus elementos. Un ejemplo de pila es una torre de discos compactos, en la cual los discos se insertan y se extraen por el mismo extremo.
  • 24. • En la computación estas estructuras suelen ser fundamentales. La recursividad se simula en un computador con la ayuda de una pila. Asimismo muchos algoritmos emplean las pilas como estructura de datos fundamental, por ejemplo para mantener una lista de tareas pendientes que se van acumulando. • Las pilas ofrecen dos operaciones fundamentales, que son apilar y desapilar sobre la cima. El uso que se les de a las pilas es independiente de su implementación interna. Es decir, se hace un encapsulamiento. Por eso se considera a la pila como un tipo abstracto de datos. • Es una estructura de tipo LIFO (Last In First Out), es decir, último en entrar, primero en salir.
  • 25. ELEMENTOS DE UNA PILA • Tope o cima: Indica el último elemento insertado en la pila. • Máximo: Se refiere al número de elementos que puede contener la pila.
  • 26. • Pilas con Arreglos: Representar pilas usando arreglos es relativamente más sencillo que usando listas enlazadas, el único problema que existe es la limitante de espacio en memoria, ya que al definir un tamaño máximo ya no es posible insertar más elementos.
  • 27. • Pilas con Listas enlazadas: Son llamadas también estructuras dinámicas, ya que el espacio en memoria se crea hasta que se inserta el elemento.
  • 28. OPERACIONES CON PILAS Operaciones Auxiliares con PILAS • Pila llena (si el tope == Máximo-1) • Pila vacía (si tope == -1) • Recorrer pila (desde elemento 0 hasta tope) Eliminar un elementoInsertar un elemento
  • 29. Estatus de las PILAS
  • 30. TRABAJANDO CON PILAS POR MEDIO DE ARRAYS (ESTÁTICAS) Crear las variables necesarias int pila[5]; int maximo=5; Int tope=-1; Int dato=0; Int opc=0; Pila Máximo de elementos Iniciar tope con valor negativo Variable para captura de datos Variable para menú de opciones
  • 31. VERIFICAR SI LA PILA ESTA LLENA Algoritmo FUNCION boolena llena() SI (tope == maximo – 1) regresar verdadero SINO regresar falso FINSI FINFUNCION
  • 32. VERIFICAR SI LA PILA ESTA VACIA Algoritmo FUNCION boolena vacia() SI (tope == – 1) regresar verdadero SINO regresar falso FINSI FINFUNCION
  • 33. INSERTAR ELEMENTO EN LA PILA Algoritmo MODULO insertar() { SI LA PILA ESTA LLENA MOSTRAR “Pila llena” SINO CAPTURAR ELEMENTO INCREMENTAR tope EN 1 pila[tope]=ELEMENTO; FINSI FINMODULO
  • 34. ELIMINAR ELEMENTO EN LA PILA Algoritmo MODULO eliminar() { SI LA PILA ESTA VACIA MOSTRAR “Pila Vacia” SINO MOSTRAR CONTENIDO ELIMINAR ELEMENTO DECREMENTAR TOPE EN 1 FINSI FINMODULO
  • 35. RECORRIDO DE UNA PILA Algoritmo MODULO recorrer() { DECLARAR var de trabajo SI LA PILA ESTA VACIA MOSTRAR “Pila Vacia” SINO MIENTRAS var<=tope MOSTRAR CONTENIDO INCREMENTAR var en 1 FINMIENTRAS FINSI FINMODULO
  • 36. • Ejercicio: Desarrolle el programa correspondiente a la PILA que se ha visto en clase creando un menú que contemple las siguientes opciones: 1. Pila llena 2. Pila vacía 3. Insertar 4. Eliminar 5. Recorrido 6. Terminar • Entregar el programa en código para revisión
  • 37. COLAS
  • 38. Definición de COLAS Una COLA es un conjunto homogéneo de elementos, del cual pueden suprimirse elementos sólo desde un extremo llamado parte delantera, asimismo, sólo pueden agregarse elementos en el extremo contrario llamado parte posterior. • El primer elemento en ser agregado a una COLA es el primer elemento en ser eliminado. • Por esta razón una COLA se denomina FIFO (First In-First Out), que es justo el concepto contrario a una PILA o LIFO (Last In-First Out).
  • 39. COLAS DINÁMICAS CON NODOS Parte Delantera o Salida Parte Posterior o Entrada
  • 40. COLAS ESTÁTICAS CON ARRAYS Parte Posterior o Entrada Parte Delantera o Salida Operaciones Auxiliares con COLAS • COLA llena (si el final == Máximo-1) • COLA vacía (si final == -1) • Recorrer COLA (desde elemento 0 hasta final)
  • 41. TRABAJANDO CON COLAS ESTÁTICAS • Una cola estática utiliza un arreglo con un número limitado de elementos en el mismo, dicho arreglo requiere de una constante que controle el máximo de elementos que pueden ser cargados a la cola, y de una variable que controle el elemento final de la cola (último en ser insertado). • Declaración de las variables de la COLA estática int cola[5]; int final = -1; int maximo = 5; COLA Último elemento Máximo de elementos
  • 42. ALGORITMO PARA DETERMINAR SI LA COLA ESTÁ LLENA FUNCION BOLEANA llena () SI (final >= maximo - 1 ) ENTONCES REGRESAR verdadero SINO REGRESAR falso FINSI FINFUNCION ALGORITMO
  • 43. ALGORITMO PARA DETERMINAR SI LA COLA ESTÁ VACIA FUNCION BOLEANA vacia () SI (final < 0) ENTONCES REGRESAR verdadero SINO REGRESAR falso FINSI FINFUNCION ALGORITMO
  • 44. ALGORITMO PARA INSERTAR ELEMENTO EN LA COLA MODULO insertar(DATO) SI (llena) ENTONCES IMPRIME “cola llena” SINO incrementar final cola[final]=DATO FINSI FINMODULO ALGORITMO
  • 45. ALGORITMO PARA ELIMINAR ELEMENTO EN LA COLA MODULO eliminar () SI (vacia) ENTONCES IMPRIME “cola vacia” SINO FOR (J=0, J<máximo, j++) cola[j]=cola[j+1] FINFOR FINSI DECREMENTAR final FINMODULO ALGORITMO
  • 46. ALGORITMO PARA HACER RECORRIDO DE COLA MODULO recorrer () SI (vacia) ENTONCES IMPRIME “cola vacia” SINO FOR (J=0, J<=final, j++) imprime cola[j] FINFOR FINSI FINMODULO ALGORITMO
  • 47. • Ejercicio: Desarrolle el programa correspondiente a la COLA que se ha visto en clase creando un menú que contemple las siguientes opciones: 1. Cola llena 2. Cola vacía 3. Insertar 4. Eliminar 5. Recorrido 6. Salir • Nota: Cada vez que se desee eliminar un elemento debe verificarse la cantidad que se desea eliminar: si es menor al valor del elemento en la parte delantera de la cola deberá restarse pero sin eliminar el elemento; si es mayor debe eliminarse y el faltante restarlo del siguiente elemento en la cola a manera de un inventario de almacén.
  • 48. Bibliografía • Joyanes, Zahonero. Estructura de Datos en C++. McGraw Hill. Madrid, España. 2007. ISBN: 978-84-481-5645-9.