Calcular la mediana de una matriz en Java
Este tutorial ejemplificará cómo calcular la mediana y la diferencia entre la media y la mediana. Además, le mostraremos cómo resolver el enunciado del problema de la mediana.
Luego, ejecutaremos un programa Java que, en pocas palabras, hace un buen uso de Arrays.sort()
, length()
y la fórmula estándar de la mediana para determinar el elemento central.
Resolver el enunciado del problema de la mediana
La mediana es el valor medio en una serie ordenada de números, una lista o una recopilación de datos. La serie puede estar en orden ascendente o descendente, en el que la mediana es el número en el medio o en el centro de una serie de números.
Se encuentra ordenando todos los puntos de datos y seleccionando el del medio. Si hay dos valores centrales, tome la media de esos dos números.
Por ejemplo, la mediana de (6, 1, 9)
es 6
porque el número 6
está en el medio. Así es como determinamos la mediana.
Obtenemos (1, 6, 9)
cuando ordenas el conjunto de números. El número 6
es el elemento central.
Diferencia entre mediana y media
Determinamos el valor medio (promedio) de un conjunto de datos calculando la suma de todos sus elementos. Después de eso, lo dividimos por el número de valores en el conjunto respectivo.
El valor de la mediana permanece en el medio cuando un conjunto de datos se ordena de menor a mayor.
Calcular la mediana de una matriz en Java
Ejecutaremos un programa Java simple para usted que calcula el elemento central de una matriz. Además, comprueba la complejidad temporal para encontrar la mediana: O(n log n)
.
Código:
package delftstack.com.util;
// This program will show you the simplest method to calculate the median of an array.
// It is also called the central element of an array.
import java.util.Arrays;
// Main class
public class Example {
// This is our main function. It will find out the median.
public static double findMedian(int x[], int n)
// x = ordered list of data set values
// n = values in the data set
{
// Our array needs to be sorted before we find out its middle element (median)
Arrays.sort(x);
// Lets find out the even numbers
if (n % 2 != 0)
return (double) x[n / 2];
return (double) (x[(n - 1) / 2] + x[n / 2]) / 2.0;
}
// The following code will run our java application
public static void main(String args[]) {
int numseries[] = {1, 5, 6, 2, 9, 3, 11, 16};
// Determine the length of array (we are using length function)
int determine = numseries.length;
// Let us call the function here
System.out.println("The median of the given array is = " + findMedian(numseries, determine));
}
}
// main class ends here
// This article is authored by the team at delfstack.com
Producción :
The median of the given array is = 5.5
También puedes probar el siguiente método, similar al anterior pero más limpio.
Código:
Arrays.sort(arrayname);
double middle;
if (a.length % 2 == 0)
median = ((double) a[a.length / 2] + (double) a[a.length / 2 - 1]) / 2;
else
median = (double) a[a.length / 2];
Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.
LinkedIn