Berechnen Sie den Median eines Arrays in Java
Dieses Tutorial zeigt beispielhaft, wie man den Median und die Differenz zwischen Mittelwert und Median berechnet. Außerdem zeigen wir Ihnen, wie Sie die Median-Problemstellung lösen.
Dann führen wir ein Java-Programm aus, das, kurz gesagt, Arrays.sort()
, length()
und die Standard-Median-Formel gut nutzt, um das mittlere Element zu bestimmen.
Lösen Sie die mittlere Problemstellung
Der Median ist der mittlere Wert in einer sortierten Zahlenreihe, einer Liste oder Datensammlung. Die Reihe kann in aufsteigender oder absteigender Reihenfolge sein, wobei der Median die Zahl in der Mitte oder Mitte einer Reihe von Zahlen ist.
Sie wird gefunden, indem alle Datenpunkte sortiert und der mittlere ausgewählt wird. Wenn es zwei zentrale Werte gibt, nehmen Sie den Mittelwert dieser beiden Zahlen.
Zum Beispiel ist der Median von (6, 1, 9)
6
, weil die Zahl 6
in der Mitte steht. So bestimmen wir den Median.
Wir erhalten (1, 6, 9)
, wenn Sie den Zahlensatz bestellen. Die Zahl 6
ist das mittlere Element.
Unterschied zwischen Median und Mittelwert
Den Mittelwert (Average) eines Datensatzes ermitteln wir, indem wir die Summe aller seiner Elemente berechnen. Danach teilen wir es durch die Anzahl der Werte in der jeweiligen Menge.
Der Medianwert bleibt in der Mitte, wenn ein Datensatz vom kleinsten zum größten geordnet wird.
Berechnen Sie den Median eines Arrays in Java
Wir führen für Sie ein einfaches Java-Programm aus, das das zentrale Element eines Arrays berechnet. Überprüfen Sie auch die Zeitkomplexität, um den Median zu finden: O(n log n)
.
Code:
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
Ausgang:
The median of the given array is = 5.5
Sie können auch die folgende Methode ausprobieren, die der vorherigen ähnelt, aber sauberer ist.
Code:
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