Está en la página 1de 11

1

Actividad de aprendizaje 2
Lista simples

Presentado por:
Edgar Sánchez Osorio C.C 1.013.582.312
Erika Pulido C.C 1.014.193.139
Laury Saiz Cuevas C.C 98.692.777
Maria Alejandra Rodriguez C.C 1.069.762.535
Nilson Alexander Moreno C.C 1.121.938.260

Presentado a:
Violeta Suarez Hurtado
Tutora Unipanamericana

Estructura de Datos
Grupo 236-4A Mom 1
Semestre 4
Análisis y Diseño de Bases de Datos

Fundación universitaria Compensar


Facultad de Ingeniería
Modalidad Virtual

Bogotá D.C
2021 – I1
2

Contextualización

Existen diferentes algoritmos de ordenación elementales o básicos cuyos detalles de


implementación se pueden encontrar en diferentes libros de algoritmos. La enciclopedia de
referencia es [Knuth 1973] y, sobre todo, la 2ª edición publicada en el año 1998 [ Knuth 1998].
Los algoritmos presentan diferencias entre ellos que los convierten en más o menos eficientes y
prácticos según sea la rapidez y eficiencia demostrada por cada uno de ellos.
Los algoritmos básicos de ordenación más simples y clásicos son:
• Ordenación por selección.
• Ordenación por inserción.
• Ordenación por burbuja.
Tomado de: Joyanes, Aguilar, Luis, and Martínez, Ignacio Zohonero. Estructuras de datos
en Java, McGraw-Hill España, 2008, (p. 163-164).
Listas
Listas
Las listas no son arreglos (arrays), aunque ambos representan secuencias de elementos de
un tipo, los arreglos tienen longitud fija; las listas, no; es decir, las listas son flexibles y permiten
cambio de implementación.
En una lista enlazada, cada elemento apunta al siguiente excepto el último que no tiene
sucesor y el valor del enlace es null. Por ello los elementos son registros que contienen el dato a
almacenar y un enlace al siguiente elemento. Los elementos de una lista suelen recibir también el
nombre de Nodos de la lista.
3

Actividad

Tomar y replicar el ejercicio propuesto en el video 52 del siguiente link https://youtu.be/hf-


_c7DFb3U (método burbuja), de igual forma hacerlo con el ejercicio de pilas (Agregar, borrar y
mostrar elementos) relacionado en el siguiente link https://youtu.be/zPJ5KhfrcyQ
1. Ajustarse a requerimientos del trabajo desarrollando todos los ítems solicitados
2. Respuesta ordenada y clara.
3. Entrega en plazo establecido.
4. Socializar en el foro el concepto de lista; presentar un ejemplo “de la vida real” referente
al tema; así como los conceptos básicos de listas.

Entregables:

1. Realizar un video por cada uno de los ejercicios en el cual brevemente realice la
explicación funcional del código y se ejecute correctamente; cargar los videos en YouTube y
compartir los enlaces en el apartado “Tarea actividad de aprendizaje 3”. En la descripción del
vídeo publique la URL con acceso a los Códigos Fuente.
Fecha de inicio: 03-03-2021
Fecha de entrega: 17-03-2021

Espacios de socialización:

La socialización de las actividades se desarrollará por medio de un elemento llamado tarea,


que permite subir archivos para ser valorados y el docente coloca sus comentarios y la
correspondiente puntuación.
De igual forma se tiene un foro, en donde cada estudiante presentará sus comentarios,
aportes, dudas, e inquietudes, de tal forma que se convierta en un espacio colaborativo de
intercambio de opiniones entre los compañeros para realizar mejoras y comentarios que
complementen cada una de las intervenciones. De igual forma el docente participa como un
integrante más.
4

Solución

1. NedBeans y Eclipse: Código método burbuja

package burbuja;
/**
* @author Edgar Sanchez
*/
import java.util.Scanner;
import javax.swing.JOptionPane;

public class Burbuja {

public static void main(String[] args) {


Scanner entrada = new Scanner(System.in);
int arreglo[],nElementos,aux;

nElementos = Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de


elementos del arreglo; "));

arreglo = new int[nElementos]; //Le signamos el numero de elementos al arreglo

for(int i=0;i<nElementos;i++) {
System.out.print((i+1)+". Digite un numero: ");
arreglo[i] = entrada.nextInt();
}

//Metodo burbuja

for(int i=0;i<(nElementos-1);i++) {
for(int j=0;j<(nElementos-1);j++) {
5

if(arreglo[j] > arreglo[j+1]) { //Si #Actual > #Siguiente


aux = arreglo[j];
arreglo[j] = arreglo[j+1];
arreglo[j+1] = aux;
}
}
}

//Ordenado en forma creciente


System.out.print("\nArreglo ordenado en forma creciente: ");
for(int i=0;i<nElementos;i++) {
System.out.print(arreglo[i]+" - ");
}

System.out.print("\nArreglo Ordenado en forma decreciente: ");


for(int i=(nElementos-1);i>=0;i--) {
System.out.print(arreglo[i]+" - ");
}
System.out.println("");
}
}

Url video Youtube NedBeans y Eclipse:


https://youtu.be/XHGVI0aoCgQ

Url video Youtube Eclipse:


https://youtu.be/8G2VN7hr85A

Url video Youtube NedBeans:


https://youtu.be/I4hJr8XSWlc
6

2. NedBeans y Eclipse: Código ejercicio de pila

ClasePrincipal:
import java.util.Scanner;
/*
* @author Edgar Sanchez
*/
public class ClasePrincipal {
public static void main(String[] args) {
Pila obj=new Pila();
Scanner op=new Scanner(System.in);
int opcion;
do
{
System.out.println("Menu de la pila: ");
System.out.println("1. Ingresar elementos(push): ");
System.out.println("2. Eliminar elementos (pop): ");
System.out.println("3. Mostrar la pila completa: ");
System.out.println("4. Salir. ");
System.out.println("Ingrese una opcion: ");
opcion=op.nextInt();
switch(opcion)
{
case 1:
obj.push();
break;
case 2:
obj.pop();
break;
case 3:
obj.mostrarPila();
7

break;
case 4:
break;
default:
System.out.println("\nIngrese una opcion valida. ");
}
}while(opcion!=4);

}
}

Clase Pila:
import java.util.Scanner;
/*
* @author Edgar Sanchez
*/
public class Pila {
Scanner teclado=new Scanner(System.in);
int pilaNumerica[]=new int[5];
int tope=-1;
//Metodo para ingresar elementos a la pila
public void push() //Tope=-1
{
if(tope>=pilaNumerica.length-1)
{
System.out.println("LA PILA ESTA LLENA, ");
}
else
{
tope+=1; //tope=0
System.out.println("Ingrese el dato: ");
8

pilaNumerica[tope]=teclado.nextInt();
}
}
public void pop()
{
if(tope==-1)
{
System.out.println("La pila esta vacia. ");
}else{
System.out.println("Se ha eliminado un elemento de la pila. ");
pilaNumerica[tope]=0;
}
}
public void mostrarPila()
{
for(int tope=4;tope>=0;tope--) //tope=4
{
System.out.println("Datos de la pila: "+pilaNumerica[tope]);
}
}
}

Url video Youtube NedBeans y Eclipse:


https://youtu.be/XHGVI0aoCgQ

Url video Youtube Eclipse:


https://youtu.be/8G2VN7hr85A

Url video Youtube NedBeans:


https://youtu.be/mXEJ4NPHFn0
9

Conclusiones

Luego de las investigaciones, concluimos que las listas enlazadas nos permiten almacenar
datos en forma organizada, también es una estructura dinámica, lo cual quiere decir que es una
estructura de tipo de datos abstracto.
Cada nodo de la lista doblemente enlazada contiene dos punteros de forma que uno apunta
al siguiente nodo y al otro predecesor, permite que se pueda recorrer la lista en ambos sentidos.
Las pilas, son estructuras que nos permiten apilar elementos y recopilarlos en el orden
inverso al cual los apilamos mediante operaciones de desapilar.
La ordenación del método burbuja es un sencillo algoritmo de ordenamiento, Funciona
revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de
posición si están en el orden equivocado.

Referencias

- Guardati, S. (2015). Estructuras de Datos Básicas – Programación Orientada a Objetos


con Java. Recuperado de https://unipanamericana.elogim.com:2182/reader/estructuras-de- datos-
basicas-programacion-orientada-a-objetos-con-java?location=1
- Joyanes, L. y Zahonero, I. (2008). Estructuras de Datos en Java. Recuperado de
https://unipanamericana.elogim.com:2056/lib/unipanamericanasp/re
ader.action?docID=3194831&query=estructuras%2Bde%2Bdatos
- Rodríguez, e. (2012). Algoritmos y estructuras de datos. Recuperado de
https://www.tamps.cinvestav.mx/~ertello/datastruc/sesion04.pdf
- Aguila, M. (s.f). Métodos de Ordenación. Recuperado de
https://sites.google.com/site/estructuradedatosmaac/home/metodos -de-ordenacion
- https://www-alfaomegacloud-
com.ucompensar.basesdedatosezproxy.com/library/publication/estructuras-de-datos-basicas-
programacion-orientada-a-objetos-con-java
10

- https://www-alfaomegacloud-
com.ucompensar.basesdedatosezproxy.com/library/publication/estructuras-de-datos-basicas-
programacion-orientada-a-objetos-con-java
- https://www.youtube.com/watch?v=hf-_c7DFb3U&feature=youtu.be
- https://youtu.be/zPJ5KhfrcyQ
- https://www.youtube.com/

Apéndice

1- Presentación
2- Contextualización
3- Actividad
4- Solución 1 código método burbuja
5- Solución 1 código método burbuja
6- Solución 2 código ejercicio de pila, clase principal
7- Solución 2 código ejercicio de pila, clase pila
8- Solución 2 código ejercicio de pila, clase pila
9- Conclusiones – Referencias
10- Apéndice

También podría gustarte