Ana içeriğe atla

C# Medyan Hesaplama Algoritması

Medyan(diğer adıyla ortanca) istatiksel hesaplamalarda aritmetik ortalama işleminin alternatifi olarak sıkça kullanılan ve bir sayı dizisinin küçükten büyüğe sıralandığında ortada kalan değeri sonuç olarak döndüren işlemdir. 

C# Medyan Hesaplama Algoritması


Bu makalemizde C# programlama dilinde medyan hesaplama algoritmasını yazmaya çalışacağız. Medyan (Ortanca) ile ilgili ayrıntılı bili almak isterseniz buradaki makaleye göz atmanızı tavsiye ederim.

Bir algoritmayı yazmadan önce problemi tam olarak ortaya koymak ve bu problemin çözüm yöntemini tüm yönleriyle ele almak önemlidir. Medyan hesaplama algoritmasını yazabilmek için de yapmamız gereken adımları sayı dizisini sıralamak, sıralama işleminden sonra ortanca değeri bulmak ve eğer iki ortanca değeri varsa bunun aritmetik ortalamasını bulmak olacaktır. 

Konuyu anlatabilmek açısından öncelikle kodları paylaşıp bundan sonra konunun açıklamasını yapacağım.

       public double CalculateMedian(List<double> numberList)
        {
            double median = 0;

            var orderedList = numberList.OrderBy(t => t).ToList();
            
            if (numberList.Count % 2 == 1)
            {
                median = orderedList[(numberList.Count + 1) / 2 - 1];
            }
            else
            {
                median = (orderedList[(numberList.Count) / 2-1] + orderedList[((numberList.Count) / 2)]) / 2;
            }

            return median;
        }

Sayı türleri olarak double türünde değerler ve fonksiyonun geri döndürdüğü değer tipi de double seçilmiştir. Bunun nedeni ise sayı dizisinin uzunluğunun çift olması durumunda ortalamanın alınacak olmasıdır. Giriş dizisinin hangi veri türünde olacağını seçmek size kalmış durumda.

İkinci aşama ise sayı dizisini sıralama işlemidir. Sıralama işlemi için Linq To Sql tarafından sağalanan OrderBy metodu kullanılmıştır. İsterseniz bu kısımda kendi sıralama algoritmanızı yazabilirsiniz. Kendinizi geliştirmek istiyorsanız da mutlaka yazmanızı öneririm. 

Algoritmanın üçüncü aşaması ise medyan değerinin yer aldığı sıralanmış dizideki elamanı belirleyip sonuca yazmaktan ibarettir. Burada tek sayılı dizi uzunluğu için ortada kalan eleman sonuç olarak döndürülürken, çift olması durumunda ortada kalan iki elemanın Aritmetik ortalaması sonuç olarak döndürülmektedir.

Son olarak konuyu özetleyecek olursak: bu makalemizde C# programlama dilinde matematik ve istatistik bilimlerinde çokça kullanılan medyan (ortanca) değerinin hesaplama algoritmasını yazmaya çalıştık.

Algoritma içinde eksikler varsa veya geliştirilmesi gerektiğini düşündüğünüz yerler varsa yorumlar kısmından bunları belirtebilirsiniz.
Umarım makalem faydalı olmuştur.

Anahtar Kelimeler: C# , C# Medyan Hesaplama, C# Medyan, Medyan Nedir? Medyan, Medyan Nasıl Bulunur? Medyan Hesaplama, Medyan Bulma, Medyan Formülü, Ortanca Medyan, Medyan Nasıl Hesaplanır, Medyan Nasıl Bulunur, Matematik Medyan Nedir? Mod Medyan Nasıl Bulunur? Medyan Ortanca Değer, Medyan Bulma Formülü, Medyan Değeri, Medyan Örnekleri, Sayı Dizisinin Medyanı, Medyan Nedir Nasıl Hesaplanır, Medyanın Sırası, Median İşlemi, Medyan, Medyan İşlemi Örnek, Ortanca, Ortanca Ortalama, Medyan Ortalama

Yorumlar

Bu blogdaki popüler yayınlar

Azərbaycan Dilində Vurğu Qəbul Etmeyen Şekilçiler

Sözlərdə hecalardan birinin digərlərinə nisbətən daha qüvvətli deyilməsinə heca vurğusu deyilir. Üzərinə vurğu düşən hecaya isə vurğulu heca deyilir. Azərbaycan dilində vurğu adətən söz sonuna düşür. Söz şəkilçi qəbul ederkən vurğu adətən şəkilçinin üzərinə keçir. Məsələn: çiç ə k - çiçəkl ə r - çiçəklərd ə n məkt ə b - məktəbl i - məktəblil ə r - məktəblilərd ə n Buna baxmayaraq dilimizdə bir sıra şəkilçilər var ki onlar vurğu qebul etmirlər. Bu məqalədə Azərbaycan dilində vurğu qebul etməyən şəkilçilər incələnəcək ve bu şekilçilərin hansı hallarda vurğu qebul edib hansı hallarda vurğu qebul etmediyi araşdırılacaqdır. Eyni zamanda bildirmək istəyirəm ki vurğu ilə bağlı daha geniş və ətraflı məlumat üçün Azərbaycan Dilində Vurğunun Praktik Məsələləri adlı məqaləyə də nəzər yetirə bilərsiniz.  1. İsimlərdəki şəxs(xəbərlik) şəkilçiləri Məsələn: müəli'məm müəli'msən müəli'mdir müəli'mik müəli'msiniz müəli'mdirlər Qeyd: -dır4

Ağaçlar Kireçle veya Badana İle Neden Boyanır?

Ağaçlar kireçle boyanmasının veya badana yapılmasının hem çevreye hem de doğaya, ağaçlara faydası var. Bu makalede bu geleneği enine boyuna tartışmaya çalıştık. Ağaca zarar veren mikrop ve bakterileri öldürür. Ağacı çok aşarı soğuk havalarda ve çok aşırı sıcak havalarda korur. Ağacın çürümesini ve kurtlanmasını önler. Ağacın gövdesinin alabileceği zararları en az düzeyde düşürmeyi sağlar. Hoş, güzel, hijyenik, temiz pırıl pırıl bir görüntü oluşturur. Ayrıca çok sıcak havalarda da ağacı yanmaya karşı korumak. En büyük etkisi soğuk havalarda ağacı don vurmalarına karşı korumak . Küresel ısınma göz önüne alındığında mevsim değişiklikleri ani don, ani ısı artışları ve azalışları sonucunun doğuracağı etkenler için yararlı etkin bir yöntem. Gövdeden obur dalların çıkmasını azaltmak için sürülür. Kireçleme ağaçları güneş yanığından korumak için yapılıyor. Ağaçlar da güneşten yanabiliyorlar. Bu arada odun dokudaki gözenekleri doldurarak kapattığı için, zararlıların yuv

Medyan (Ortanca) Nedir? Nasıl Hesaplanır? Nerelerde Kullanılır?

Medyan işlemi olasılık hesaplamalarında sıkça kullanılan bir sayı dizisinin ortalamasını hesaplamak için alternatif yöntemlerden bir tanesidir. Ortanca medyan işleminin diğer adıdır. Matematiksel olarak medyan işlemi bir sayı dizisi küçükten büyüğe sıralayarak ortada kalan elemanı medyan değeri olarak belirleme işlemidir. Örnek verecek olursak: 2, 1, 5, 4, 5, 1, 2, 3, 5 serisi sıralanırsa 1, 1, 2, 2, 3, 4, 5, 5, 5 serisi elde edilir. Bu seri 9 elemanlı olduğundan ortadaki, yani 5. eleman (medyan) olacaktır. 5. eleman 3 sayısıdır. Yani ortanca değeri 3'dür Eleman sayısı tek sayı olan bir seride medyan değerin sırasının hesaplaması şu şekilde formüle edilir. Medyanın Sırası = (Eleman Sayısı + 1) / 2 Bu formülü yukarıdaki örneği uygulayacak olursak; Medyanın Sırası = (9 + 1) / 2 = 5 Veri serisi eleman sayısı bir çift sayı ise bu durumda serinin 2 medyanı olacaktır. Örneğin 2, 1, 5, 4, 5, 1, 2, 3, 5, 4 serisi sıralandığında 1, 1, 2, 2, 3, 4, 4, 5, 5, 5 s