Java - numero de comparaciones y numero de iteraciones

 
Vista:

numero de comparaciones y numero de iteraciones

Publicado por Alex (2 intervenciones) el 09/06/2016 02:10:53
Me podrian decir si estoy bien necesito que mi algoritmo muestre el numero de comparaciones y el numero de iteraciones

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public void ShellSort(int num_v, Vehiculo[] arreglo, Comparator compara) {
         TInicio = System.currentTimeMillis();
        Vehiculo aux;
        for (int gap = num_v / 2; gap > 0; gap = gap == 2 ? 1 : (int) (gap / 2.2)) {
            for (int i = gap; i < num_v; i++) {
                aux = arreglo[i];
                int j;
                for (j = i; j >= gap && compara.compare(aux, arreglo[j - gap]) < 0; j -= gap) {
                    arreglo[j] = arreglo[j - gap];
                    contador3++;
                }
                arreglo[j] = aux;
            }
            iterador3++;
        }
        System.out.println("                                      ***** Lista de vehiculos ordenados \"Shell Sort\" *****");
        System.out.print("\nVehiculo\tPlaca\t\tMarca\t\tAño\t\tFecha Fab\t\tPrecio\n");
        for (int i = 0; i < num_v; i++) {
            System.out.println("" + (i + 1) + arreglo[i]);
        }
         System.out.println("el numero de comparaciones :"+contador3);
        System.out.println("el numero de iteraciones :"+iterador3);
        TFin = System.currentTimeMillis();
        tiempo4 = TFin - TInicio;
        System.out.println("Tiempo de ejecución en milisegundos: " + tiempo4);
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

numero de comparaciones y numero de iteraciones

Publicado por Michelle (2 intervenciones) el 09/06/2016 07:53:04
Hola

Recuerda el funcionamiento básico de una estructura iterativa for se va a repetir hasta que se cumpla la condición y cuenta con un contador proporcionado al final del for que va a ir contando valga la redundancia las veces que la condición o el ciclo for se itera, puedes utilizar esa variable de igual manera ejemplo:

1
2
3
4
for (int i = 0; i < 10; i++)
{
    System.out.println("Numero de entrada es: "+i);
}

Resultado:
Numero de entrada es: 0
Numero de entrada es: 1
Numero de entrada es: 2
Numero de entrada es: 3
Numero de entrada es: 4
Numero de entrada es: 5
Numero de entrada es: 6
Numero de entrada es: 7
Numero de entrada es: 8
Numero de entrada es: 9

Efectivamente lo puedes utilizar con las variables que has declarado contador3++ para las comparaciones que realiza porque vuelve a entrar al ciclo para comparar tu condición hasta que esta se cumpla :)

Espero te ayude de algo mi explicación ... te recomiendo: http://ocw.upm.es/lenguajes-y-sistemas-informaticos/programacion-en-java-i/Contenidos/LecturaObligatoria/6-sentenciasrepetitivasobucles.pdf

Puede que sea muy básico pero de algo te servirá :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar