Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/04/2011, 09:15
Flipis120
 
Fecha de Ingreso: noviembre-2010
Mensajes: 19
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: como buscar los dos numeros mas grandes de un array?

Cita:
Iniciado por HackmanC Ver Mensaje
Hola,



¿Cual podría ser el objetivo de semejante algoritmo? Es completamente ineficiente, consume demasiada memora y es lento. Si lo que quieres aprender es cómo hacer un algoritmo recursivo, usa un ejemplo más eficiente, como una búsqueda en un árbol binario o cualquier otra cosa.

Código:
public class Main {

    int vector[] = {2, 1, 3, 9, 5, 6, 4, 8, 7};

    public static void main(String[] args) {
        new Main().BuscarMayor();
    }

    public void BuscarMayor() {
        int mayor = 0;
        for (int i = 0; i < vector.length; i++)
            if (vector[i] > mayor) mayor = vector[i];
        System.out.println("El mayor es : " + String.valueOf(mayor));
    }

}
No entiendo ... ¿podrías explicar por qué hacer un algoritmo tan ineficiente de algo que se puede resolver tan fácil? (Aparte de aplicar un paradigma de programación en donde no es adecuado)

Saludos,
En ningun momento he dicho que sea el más eficiente, es un código que tenía por ahi y que quizá le ayude para ver cosas, nada mas, como he dicho no pretendo decir que es eficiente, de hecho cuando lo hice ni lo tuve en cuenta, y se que no es el paradigma adecuado para resolver este sencillo problema, yo directamente ordenaria y buscaria, pero es el que me toco usar en su momento xD, de todas formas yo lo explico y si tienes uno mas eficiente y lo quieres compartir te animo a que lo hagas.
Un saludo