Dada una array no ordenada de tamaño n , encuentre su media y mediana.
Mean of an array = (sum of all elements) / (number of elements)
La mediana de una array ordenada de tamaño n se define como el elemento del medio cuando n es impar y el promedio de los dos elementos del medio cuando n es par.
Dado que la array no está ordenada aquí, primero ordenamos la array y luego aplicamos la fórmula anterior.
Ejemplos:
Input : a[] = {1, 3, 4, 2, 6, 5, 8, 7} Output : Mean = 4.5 Median = 4.5 Sum of the elements is 1 + 3 + 4 + 2 + 6 + 5 + 8 + 7 = 36 Mean = 36/8 = 4.5 Since number of elements are even, median is average of 4th and 5th largest elements. which means (4 + 5)/2 = 4.5 Input : a[] = {4, 4, 4, 4, 4} Output : Mean = 4 Median = 4
A continuación se muestra la implementación del código:
C++
// CPP program to find mean and median of // an array #include <bits/stdc++.h> using namespace std; // Function for calculating mean double findMean(int a[], int n) { int sum = 0; for (int i = 0; i < n; i++) sum += a[i]; return (double)sum / (double)n; } // Function for calculating median double findMedian(int a[], int n) { // First we sort the array sort(a, a + n); // check for even case if (n % 2 != 0) return (double)a[n / 2]; return (double)(a[(n - 1) / 2] + a[n / 2]) / 2.0; } // Driver code int main() { int a[] = { 1, 3, 4, 2, 7, 5, 8, 6 }; int n = sizeof(a) / sizeof(a[0]); // Function call cout << "Mean = " << findMean(a, n) << endl; cout << "Median = " << findMedian(a, n) << endl; return 0; }
Java
// Java program to find mean // and median of an array import java.util.*; class GFG { // Function for calculating mean public static double findMean(int a[], int n) { int sum = 0; for (int i = 0; i < n; i++) sum += a[i]; return (double)sum / (double)n; } // Function for calculating median public static double findMedian(int a[], int n) { // First we sort the array Arrays.sort(a); // check for even case if (n % 2 != 0) return (double)a[n / 2]; return (double)(a[(n - 1) / 2] + a[n / 2]) / 2.0; } // Driver code public static void main(String args[]) { int a[] = { 1, 3, 4, 2, 7, 5, 8, 6 }; int n = a.length; // Function call System.out.println("Mean = " + findMean(a, n)); System.out.println("Median = " + findMedian(a, n)); } } // This article is contributed by Anshika Goyal.
Python3
# Python3 program to find mean # and median of an array # Function for calculating mean def findMean(a, n): sum = 0 for i in range(0, n): sum += a[i] return float(sum/n) # Function for calculating median def findMedian(a, n): # First we sort the array sorted(a) # check for even case if n % 2 != 0: return float(a[int(n/2)]) return float((a[int((n-1)/2)] + a[int(n/2)])/2.0) # Driver code a = [1, 3, 4, 2, 7, 5, 8, 6] n = len(a) # Function call print("Mean =", findMean(a, n)) print("Median =", findMedian(a, n)) # This code is contributed by Smitha Dinesh Semwal
C#
// C# program to find mean // and median of an array using System; class GFG { // Function for // calculating mean public static double findMean(int[] a, int n) { int sum = 0; for (int i = 0; i < n; i++) sum += a[i]; return (double)sum / (double)n; } // Function for // calculating median public static double findMedian(int[] a, int n) { // First we sort // the array Array.Sort(a); // check for // even case if (n % 2 != 0) return (double)a[n / 2]; return (double)(a[(n - 1) / 2] + a[n / 2]) / 2.0; } // Driver Code public static void Main() { int[] a = { 1, 3, 4, 2, 7, 5, 8, 6 }; int n = a.Length; // Function call Console.Write("Mean = " + findMean(a, n) + "\n"); Console.Write("Median = " + findMedian(a, n) + "\n"); } } // This code is contributed by Smitha .
PHP
<?php // PHP program to find mean // and median of an array // Function for calculating mean function findMean(&$a, $n) { $sum = 0; for ($i = 0; $i < $n; $i++) $sum += $a[$i]; return (double)$sum / (double)$n; } // Function for // calculating median function findMedian(&$a, $n) { // First we sort the array sort($a); // check for even case if ($n % 2 != 0) return (double)$a[$n / 2]; return (double)($a[($n - 1) / 2] + $a[$n / 2]) / 2.0; } // Driver Code $a = array(1, 3, 4, 2, 7, 5, 8, 6); $n = sizeof($a); // Function call echo "Mean = " . findMean($a, $n)."\n"; echo "Median = " . findMedian($a, $n); // This code is contributed // by ChitraNayal ?>
Javascript
<script> // Javascript program to find mean // and median of an array // Function for // calculating mean function findMean(a,n) { let sum = 0; for (let i = 0; i < n; i++) sum += a[i]; return sum / n; } // Function for // calculating median function findMedian(a,n) { // First we sort // the array a.sort(); // check for // even case if (n % 2 != 0) return a[n / 2]; return (a[Math.floor((n-1)/2)] + a[n / 2]) / 2; } // Driver Code let a = [1, 3, 4, 2, 7, 5, 8, 6] let n = a.length; // Function call document.write("Mean = " + findMean(a, n) + "<br>"); document.write("Median = " + findMedian(a, n)); </script>
Mean = 4.5 Median = 4.5
Complejidad de tiempo para encontrar la media: O(n)
Complejidad de tiempo para encontrar la mediana: O(n Log n) ya que necesitamos ordenar la array primero. Tenga en cuenta que podemos encontrar la mediana en tiempo O (n) usando métodos
Espacio Auxiliar : O(1)
Este artículo es una contribución de Himanshu Ranjan . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA