Foros del Web » Programación para mayores de 30 ;) » Java »

Identificar el numero menor

Estas en el tema de Identificar el numero menor en el foro de Java en Foros del Web. Que tranza la bandota el BLEND los saluda. Tengo un problemita, me pueden ayudar para imprimir, de un arreglo de numeros, el numero menor que ...
  #1 (permalink)  
Antiguo 14/04/2006, 22:31
Avatar de BLEND  
Fecha de Ingreso: marzo-2006
Mensajes: 97
Antigüedad: 18 años
Puntos: 0
Identificar el numero menor

Que tranza la bandota el BLEND los saluda.

Tengo un problemita, me pueden ayudar para imprimir, de un arreglo de numeros, el numero menor que halla entre ellos, ejem.

int num[] = new int[5];

num[0] = 2;
num[1] = 3;
num[2] = 4;
num[3] = 5;
num[4] = 6;

y de acuerdo a algo que no se si exista, me imprima el numero 2, que es el mas pequeño.

Espero su ayuda

__________________________________________________ _______
EL QUE NO VIVE PARA SERVIR, NO SIRVE PARA VIVIR...
  #2 (permalink)  
Antiguo 15/04/2006, 11:38
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 8 meses
Puntos: 24
Lo que buscas se llama algoritmos de busqueda.
Por ejemplo.

Código:
     public int menor(int [] num){
        int iMenor = 0;
        for(int i=1;i<num.length;i++){
            if(num[i]<num[iMenor])
                iMenor = i;
        }
        return num[iMenor];
    }
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #3 (permalink)  
Antiguo 15/04/2006, 21:51
Avatar de BLEND  
Fecha de Ingreso: marzo-2006
Mensajes: 97
Antigüedad: 18 años
Puntos: 0
Oye TolaWare, dejame decirte que eres muy bueno, probablemente lo que pregunte no era tan complicado, pero de verdad, muchisimas gracias, y dejame decirte que me pondre a estudiar mas para llegar a ser un poco mejor que tu (claro, dame un buen tiempo jejejejeje).

__________________________________________________ _________
Elije a un enemigo grande, y esto te obligara a crecer para poder enfrentarlo...
  #4 (permalink)  
Antiguo 15/04/2006, 23:37
Avatar de alcaphone  
Fecha de Ingreso: marzo-2006
Mensajes: 29
Antigüedad: 18 años
Puntos: 0
Sip..... creo ke le pusiste a el viejo TolaWare a hacer tu tarea....

Cheers :D:D
__________________
Inteligencia = Locura * Sabiduria/ belleza
  #5 (permalink)  
Antiguo 16/04/2006, 06:42
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 8 meses
Puntos: 24
jja, no lo habia visto de esa manera.
Soy lo que llamarian: "un padre permisivo".
No tengo problema en ayudar, solo te di un ejemplo de como se hace la busqueda.

y alcaphone: tengo 22 años, no soy VIEJO
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #6 (permalink)  
Antiguo 16/04/2006, 17:12
Avatar de alcaphone  
Fecha de Ingreso: marzo-2006
Mensajes: 29
Antigüedad: 18 años
Puntos: 0
Cita:
Iniciado por TolaWare
jja, no lo habia visto de esa manera.
Soy lo que llamarian: "un padre permisivo".
No tengo problema en ayudar, solo te di un ejemplo de como se hace la busqueda.

y alcaphone: tengo 22 años, no soy VIEJO
jajajaja ..... el viejo es una expresion.... no me referia a un estado.... jejeje...

jue sin animo de ofender
__________________
Inteligencia = Locura * Sabiduria/ belleza
  #7 (permalink)  
Antiguo 17/04/2006, 08:41
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 8 meses
Puntos: 24
OK no problem
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #8 (permalink)  
Antiguo 17/04/2006, 22:14
Avatar de BLEND  
Fecha de Ingreso: marzo-2006
Mensajes: 97
Antigüedad: 18 años
Puntos: 0
Hubiera sido mejor que no dieras tu edad TolaWare, me acabas de opacar, ¡¡¡¡¡ tengo tu edad !!!!!!!, jajajajaja, por eso y muchas cosas mas ven a... a no eso no era, por eso y muchas cosas mas tendre que estudiar mucho mas, jejejeje, que no mi Alcaphone ?
  #9 (permalink)  
Antiguo 18/04/2006, 12:01
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 18 años, 5 meses
Puntos: 7
Bueno, para eso hay varias alternativas... la solución de TolaWare funciona muy bien para arreglos relativamente pequeños, pero si el arreglo de números tiende a ser MUY grande tardará en responder. Mi pregunta es ¿qué tan grande puede ser el arreglo al que quieres encontrar el menor, o mayor valor? Si es muy grande lo recomendado es que hagas primero un QuickSort y luego le pides la primera posición.
__________________
El último TipdaR

Última edición por Tipdar; 18/04/2006 a las 12:18
  #10 (permalink)  
Antiguo 18/04/2006, 17:38
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 18 años, 5 meses
Puntos: 7
Ahhh, que esta mañana olvidé mi snippet de código:

public int menor(int[] arreglo) {
Arrays.sort(arreglo);
return arreglo[0];
}

Hasta pronto!
__________________
El último TipdaR
  #11 (permalink)  
Antiguo 18/04/2006, 20:15
Avatar de BLEND  
Fecha de Ingreso: marzo-2006
Mensajes: 97
Antigüedad: 18 años
Puntos: 0
Pues te dire que el arreglo es pequeño es solo para 20 numeros, y lo que me proporciono TolaWare si me funciono, pero eso que escribes Tipdar, me parecio bastante interesante, no imagino que sucedan algunos problemas al tener una cantidad considerable de datos, gracias por el dato.


_____________________________________________
Pienso, luego existo...
  #12 (permalink)  
Antiguo 18/04/2006, 22:52
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 8 meses
Puntos: 24
mmm, no coincido contigo TipDar, ya que el quicksort es para ordenamiento, y lo unico que se necesita es buscar el menor. En el quicsort, primero tienes que ordenar todo el arreglo y luego buscas la primera posición.

Ademas el algoritmo de quicksort requiere escanear varias veces el arreglo, en cambio en el codigo que yo coloque, solo se tiene que recorrer el arreglo una sola ves.

Saludos
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #13 (permalink)  
Antiguo 19/04/2006, 07:56
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 18 años, 5 meses
Puntos: 7
No tienes que coincidir conmigo, yo solo te digo que me ha pasado... Fíjate si el QuickSort es rápido, que para buscar un elemento en un arreglo inmensamente grande primero es recomendable hacer un QuickSort y luego un BinarySearch.

En ningún momento he dicho que tu código no funcione... simplemente estoy diciendo que tiende a funcionar lento para arreglos muy, pero muy grandes. Pongamos ambos algoritmos a trabajar con un arreglo de 500 millones de elementos... si alguien lo hace y demuestra lo contrario de lo que digo, pues, para eso son los foros... para discutir y aprender.

Hasta pronto amigos!
__________________
El último TipdaR
  #14 (permalink)  
Antiguo 19/04/2006, 08:02
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 18 años, 5 meses
Puntos: 7
Cita:
Iniciado por BLEND
Pues te dire que el arreglo es pequeño es solo para 20 numeros, y lo que me proporciono TolaWare si me funciono, pero eso que escribes Tipdar, me parecio bastante interesante, no imagino que sucedan algunos problemas al tener una cantidad considerable de datos, gracias por el dato.
Magnífico, entonces hazte la idea de que no he escrito nada.
__________________
El último TipdaR
  #15 (permalink)  
Antiguo 19/04/2006, 09:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 5 meses
Puntos: 51
Hola,

Para hallar el minimo numero de la lista, el algoritmo de Quicksort no puede ser nunca más eficiente que una busqueda secuencial, puesto que el algoritmo de Quicksort hace varias busquedas secuenciales y además reordena los elementos de la lista, lo cual implica memoria temporal, mover elementos de un lado a otro...

Para otras cosas quizá, pero para hallar el minimo, el Quicksort no irá nunca más rapido que una busqueda simple. Y cuanto mayor la lista, peor el rendimiento del Quicksort en comparación. Quicksort es para otras cosas, donde es mucho más eficiente que las alternativas, pero no para esto.

<S>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:40.