Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Ejercicios Propuestos de Estructura de Datos y Algoritmos, Ejercicios de Informática

Ejercicios Estructuras de Datos y algoritmos en JAVA y pseudocodigo

Tipo: Ejercicios

2020/2021

Subido el 22/04/2021

yonathan-amilkar-chaucca-sacsi
yonathan-amilkar-chaucca-sacsi 🇦🇷

5

(1)

6 documentos

1 / 237

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
ESTRUCTURA DE
DATOS Y
ALGORITMOS
INTEGRANTES:
GOMEZ BOBADILLA JULIO FERNANDO
QUISPE HUANCA GONZALO EMILIANO
SAPACAYO GARCIA FELIPE
CONDORI HUARCA ANDRES
CHAUCCA SACSI YONATHAN
Trabajo
Final
Parte A
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Vista previa parcial del texto

¡Descarga Ejercicios Propuestos de Estructura de Datos y Algoritmos y más Ejercicios en PDF de Informática solo en Docsity!

ESTRUCTURA DE

DATOS Y

ALGORITMOS

INTEGRANTES:

GOMEZ BOBADILLA JULIO FERNANDO

QUISPE HUANCA GONZALO EMILIANO

SAPACAYO GARCIA FELIPE

CONDORI HUARCA ANDRES

CHAUCCA SACSI YONATHAN

Trabajo

Final

Parte A

Capítulo 0 Conceptos Básicos Ejercicios Propuestos Ejercicio 0. public class Ejercicio1 { public static void main(String[] args) { int temp; int [] a={1,2,3,4,5,6}; int i=0; int j=a.length-1; while(i<j){ temp=a[i]; a[i]=a[j]; a[j]=temp; i++; j--; } for(int r=0;r<a.length;r++){ System. out .print(a[r]+" ");} } } Ejercicio 0. public class Problema0_17 { public static void main(String[] args) { int x []= {1,2,3,4,5,6}; System. out .println( sumar (x)); } public static int sumar( int []vec){ int suma=0; for ( int i=0;i<vec.length;i++){ suma=suma+vec[i]; } return suma; } }

System. out .print("Ingresar valor2 para remplazar: "); val2=scan.next(); remplazar (vec1,val1,val2); } //Remplaza en el vector vec1 de N posiciones las ocurrencias del valor val1 por el valor val public static void remplazar(Object vec1[], Object val1, Object val2) { int en=0; for ( int i=0;i<vec1.length;i++) { if (vec1[i].equals(val1)) { vec1[i]=val2; en++; } } if (en==0) System. out .println("No se encontro tal valor"); else { System. out .println("Mostrando Vector con remplazo:"); mostrarVector (vec1); } } public static void mostrarVector(Object vec[]) { for ( int i=0;i<vec.length;i++) { System. out .print(vec[i]+" "); } } }

Ejercicio 0. import java.util.Scanner; public class Ej_0_20 { private static Scanner teclado; public static void main(String[] ar){ teclado=new Scanner(System.in); int N, val; N=teclado.nextInt(); int[] vector= new int[N]; cargar(vector); imprimir(vector); val=teclado.nextInt(); imprimir(vector,val); } static void cargar(int arreglo[]){ for(int i=0; i < arreglo.length; i++){ int aux= (int)(Math.random()*arreglo.length + 1); arreglo[i]=aux; } } static void imprimir(int arreglo[]){ for(int i=0; i < arreglo.length; i++){ System.out.print(arreglo[i]+" "); } } static void imprimir(int arreglo[], int val){ for(int i=0; i < arreglo.length; i++){ if(arreglo[i]>val)

System. out .print(a[i]+" "); } System. out .println("]"); } } Ejercicio 0. public class Problema0_22 { public static void main(String[] args) { int x []= {1,2,3,4,5,6}; int y []= new int [x.length]; //numero de rotaciones int numRotaciones=2; imprimir (x); y= rotar (x,numRotaciones); imprimir (y); } public static int [] rotar( int []vec, int m){ int aux=0; for ( int i=0;i<m;i++){ aux=vec[0]; for ( int j=0;j<vec.length-1;j++){ vec[j]=vec[j+1]; } vec[vec.length-1]=aux; } return vec; } public static void imprimir( int [] vec){ for ( int i=0;i<vec.length;i++){

System. out .print(vec[i]+" "); } System. out .println(""); } } Ejercicio 0. public void compararElementos(int arr[] ,int arr2[]){ quicksort(arr,0,tope+1); quicksort(arr2, 0,tope+1); int acum=0; for (int i=0;i<tope+1;i++){ if (arr[i]==arr2[i]){ acum++; }else{ System.out.print("No son iguales"); } if(acum==tope+1){ System.out.print("Son iguales"); }} } private void quicksort(int a[], int primero, int ultimo) { int i, j, central; double pivote; central = (primero + ultimo)/2; pivote = a[central]; i = primero; j = ultimo; do { while (a[i] < pivote) i++; while (a[j] > pivote) j--; if (i <= j) { intercambiar(a, i, j); i++; j--; } }while (i <= j); if (primero < j) quicksort(a, primero, j);// mismoprocesoconsublistaizqda if (i < ultimo) quicksort(a, i, ultimo); // mismoprocesoconsublistadrcha }

for ( int i=0;i<vec.length;i++) { System. out .print(vec[i]+" "); } } } Ejercicio 0. class nodo{ public int valor; public nodo sgte; public nodo(){} public nodo(int x,nodo y){ valor=x; sgte=y; } } public class Lista{ protected nodo primero; public Lista(){ primero=null; } public void agregar(int x,int y){ if( y==0 ){ primero=new nodo(x,primero); return; } nodo cab=primero; int i=0; while( i<y-1 && cab.sgte!=null ){ ++i; cab=cab.sgte; } if( i==y-1 ) cab.sgte=new nodo(x,cab.sgte); } public void borrar(int x) { if( primero==null ) return; if( primero.valor==x ){ primero=primero.sgte; return; } nodo r; for(r=primero; r.sgte!=null; r=r.sgte) if( r.sgte.valor==x ) break;

if( r.sgte!=null ) r.sgte=r.sgte.sgte; } public void buscar(int x){ if( primero==null ) return; else{ nodo cab; for(cab=primero; cab.sgte!=null; cab=cab.sgte){ if( cab.sgte.valor==x ) {System.out.print("El valor se encuentra en el arreglo"+"\n"); break;} if( cab.sgte.sgte==null ) System.out.print("El valor no se encuentra en el arreglo"+"\n"); }} } public void mostrar(){ while(primero!=null){ System.out.print(primero.valor+" "); primero=primero.sgte; } } } import java.util.Scanner; public class ej_0_25 { private static Scanner teclado; public static void main(String[] ar){ int n; teclado=new Scanner(System.in); n=teclado.nextInt(); Lista arreglo = new Lista(); for(int i =0 ; i<n;i++){ arreglo.agregar((int)(Math.random()*n + 1), i); } arreglo.buscar(6); arreglo.mostrar(); } }

Nodo p=primero; String Salida="Datos :\n "; while (p!=null) { Salida=Salida+ p.SacarInfo()+" "; p=p.SacarSig(); } System. out .println(Salida); } public int Repeticiones(int n){ Nodo p=primero; int i=0; while (p!=null) { if(p.SacarInfo()==n) { i++; } p=p.SacarSig(); } return i; } ArrayListnumeros=new ArrayList(); ArrayListrepeticiones=new ArrayList(); public void ElementoRepetitivoMasVeces(){ Nodo p=primero; int s=0; while (p!=null ){ numeros.add(p.SacarInfo()); p=p.SacarSig();

for(int i=0;i<numeros.size();i++) { s=Repeticiones(numeros.get(i)); repeticiones.add(s); } int resultado = repeticiones.get(0); for(int i=0; i<repeticiones.size(); i++) { if(repeticiones.get(i) > resultado) { resultado = repeticiones.get(i); } } int m= indicemayor(resultado); System. out .println("El Numero Con Mas Repeticiones Es: "+numeros.get(m)); } public int indicemayor(int a){ int i; for(i=0;i<repeticiones.size();i++){ if(a==repeticiones.get(i)){break;} } return i; } } Nodo public class Nodo { private int info; private Nodo cab; public Nodo(int n) {

Ejercicio 0. public class MySimpleLinkedList { protected Node first; public MySimpleLinkedList() { first = null ; } public void insert(Object o) { Node tmp = new Node(o, null ); tmp.setNext(first); first = tmp; } public Object extract() { Object out = null ; if (!isEmpty()) { out = first.getInfo(); first = first.getNext(); } return out; } //imprime en la posicion n public void print( int n) { if (!isEmpty()) { Node tmp = first; for ( int i = 0; i < n; i++) { tmp = tmp.getNext(); if (tmp == null ) return ; }

System. out .println(tmp.getInfo()); } } //imprime todo public void print() { if (!isEmpty()) { Node tmp = first; while (tmp != null ) { System. out .println(tmp.getInfo()); tmp = tmp.getNext(); } } } public boolean isEmpty() { if (first == null ) return true ; else return false ; } } public class Main_0_27 { public static void main(String args[]) { MySimpleLinkedList sll = new MySimpleLinkedList(); // 5 4 3 2 1 sll.insert( new Integer(1)); sll.insert( new Integer(2)); sll.insert( new Integer(3)); sll.insert( new Integer(4)); sll.insert( new Integer(5)); /*Demo Ejercicio 3-----------0.

  • */ System. out .println("Elementos"); sll.print(); System. out .println("eliminados posicion par"); extraerPosicionPar (sll); sll.print(); } //ejercicio 3-------- 0. public static MySimpleLinkedList extraerPosicionPar(MySimpleLinkedList lista){ int posi1=1; MySimpleLinkedList listaAuxiliar1 = new MySimpleLinkedList();

cab= null ; } public boolean listaVacia() { return (cab== null )? true : false ; } public void insertar(Object x) { Nodo nuevo= new Nodo(x, null ); if (listaVacia()) { cab=nuevo; } else { //insertar al final Nodo aux=cab; while (aux.sgte!= null ) { aux=aux.sgte; } aux.sgte=nuevo; } } //Elimina una aparicion public void eliminar(Object x) { if ( cab== null ) //si esta vacio return ; if ( cab.valor.equals(x) )//si encuentra en el primer nodo { cab=cab.sgte; return ; } //Caso general Nodo r; for (r=cab;r.sgte!= null ;r=r.sgte) { if (r.sgte.valor.equals(x)) break ;

if (r.sgte!= null ) r.sgte=r.sgte.sgte; } //Elimina todas las apariciones de un elem dado public void eliminarApariciones(Object x) { Nodo r=cab; while (r!= null ) { eliminar(x); r=r.sgte; } } public void imprimir() { Nodo aux=cab; String s="Lista: "; while (aux!= null ) { s+=aux.valor+" "; aux=aux.sgte; } System. out .println(s); } public static void main(String[] args) { Scanner scan = new Scanner( System. in ); Ejercicio29 listaenlazada = new Ejercicio29(); System. out .print("Tamaño de la Lista: "); int N=scan.nextInt(); Object elem; for ( int i=0; i<N;i++) { System. out .print((i+1)+" elemento: "); elem=scan.next(); listaenlazada.insertar(elem); } listaenlazada.imprimir();