Java で配列の中央値を計算する

Sarwan Soomro 2023年10月12日
  1. 問題文の中央値を解く
  2. Java で配列の中央値を計算する
Java で配列の中央値を計算する

このチュートリアルでは、中央値と平均値と中央値の差を計算する方法を例示します。 また、中央値問題文の解き方も紹介します。

次に、Java プログラムを実行します。これは、簡単に言えば、Arrays.sort()length()、および標準の中央値式を利用して中央の要素を決定します。

問題文の中央値を解く

中央値は、並べ替えられた一連の数値、リスト、またはデータ コレクションの中間値です。 系列は昇順または降順である場合があり、中央値は一連の数値の中央または中央にある数値です。

これは、すべてのデータ ポイントを並べ替えて、中央のデータ ポイントを選択することで見つかります。 中心値が 2つある場合は、それら 2つの数値の平均をとります。

たとえば、(6, 1, 9) の中央値は 6 です。数字 6 は真ん中にあるからです。 ここでは、中央値を決定する方法について説明します。

数字のセットを注文すると (1, 6, 9) が得られます。 数字 6 は真ん中の要素です。

中央値と平均値の違い

すべての要素の合計を計算することにより、データ セットの平均値 (平均) を決定します。 その後、それぞれのセットの値の数で割ります。

データセットを最小から最大の順に並べると、中央値は中間のままです。

ノート
シーケンスは、この例で見たものよりも複雑になる可能性があります。 ただし、この段階では理解できる限りシンプルにしています。

Java で配列の中央値を計算する

配列の中心要素を計算する簡単な Java プログラムを実行します。 また、時間計算量をチェックして中央値を見つけます: O(n log n)

コード:

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

出力:

The median of the given array is = 5.5

前の方法に似ていますが、よりクリーンな次の方法を試すこともできます。

コード:

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
Sarwan Soomro avatar Sarwan Soomro avatar

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

関連記事 - Java Math