Veri Yapısında Sıralama: Kategoriler ve Türler [Örneklerle]

Yayınlanan: 2020-05-28

Verilerin tercih edilen bir sıraya göre düzenlenmesine veri yapısında sıralama denir. Verileri sıralayarak, hızlı ve kolay bir şekilde arama yapmak daha kolaydır. Sıralamanın en basit örneği bir sözlüktür. İnternet çağından önce, sözlükte bir kelimeye bakmak istediğinizde bunu alfabetik sırayla yapardınız. Bu işi kolaylaştırdı.

Karmaşık bir düzende dünyadaki tüm İngilizce kelimeleri içeren büyük bir kitaptan geçmek zorunda kalırsanız paniği hayal edin! Verileri sıralanmamış ve yapılandırılmamışsa bir mühendisin yaşayacağı paniğin aynısıdır.

Yani kısacası sıralama yapmak hayatımızı kolaylaştırıyor. Veri bilimi algoritmaları hakkında derinlemesine bilgi edinmek için veri bilimi kurslarımıza göz atın.

Bu yazıda, sizi farklı veri yapıları ve sıralama algoritmalarından geçireceğiz. Ama önce bir sıralama algoritmasının ne olduğunu ve veri yapısında sıralamanın ne olduğunu anlayalım.

İçindekiler

Sıralama Algoritması nedir?

Bir sıralama algoritması sadece bir dizi emir veya talimattır. Burada dizi, üzerinde sıralama algoritmasının sıralanmış bir dizi vermek için işlemler gerçekleştirdiği bir girdidir.

Pek çok çocuk bilgisayar bilimleri derslerinde veri yapılarını sıralamayı öğrenmiş olurdu. İlgilenen çocukların daha derin bilgisayar bilimi konuları hakkında bir fikir edinmelerine yardımcı olmak için erken bir aşamada tanıtılır – böl ​​ve yönet yöntemleri, ikili ağaçlar, yığınlar vb.

İşte sıralamanın ne yaptığına bir örnek.

Diyelim ki bir dizi diziniz var: [h,j,k,i,n,m,o,l]

Şimdi, sıralama alfabetik sıraya göre bir çıktı dizisi verecektir.

Çıktı: [h,i,j,k,l,m,n,o]

Veri yapısında sıralama hakkında daha fazla bilgi edelim.

Ödeme: İkili Ağaç Türleri

Kategorileri Sıralama

Sıralamada iki farklı kategori vardır:

  • Dahili sıralama : Girilen veriler ana bellekte tek seferde ayarlanabilecek şekilde ise dahili sıralama olarak adlandırılır.
  • Harici sıralama : Girilen veriler bir kerede tamamen bellekte ayarlanamayacak şekilde ise, sabit diskte, diskette veya başka bir depolama aygıtında saklanması gerekir. Buna dış sıralama denir.

Okuyun: İlginç Veri Yapısı Proje Fikirleri ve Konuları

Veri Yapısında Sıralama Türleri

İşte en yaygın sıralama algoritmalarından birkaçı.

1. Birleştirme Sıralaması

Bu algoritma, bir diziyi karşılaştırılabilir boyuttaki iki yarıya bölmeye çalışır. Her yarım daha sonra sıralanır ve birleştirme () işlevi kullanılarak tekrar birleştirilir.

Algoritma şu şekilde çalışır:

MergeSort(dizi[], l, r)

r > l ise

  1. Orta noktayı bularak diziyi iki eşit yarıya bölün:

orta m = (l+r)/2

  1. İlk yarıyı çağırmak için mergeSort işlevini kullanın:

Çağrı birleştirmeSort(dizi, l, m)

  1. İkinci yarı için mergeSort'u arayın:

Çağrı birleştirmeSort(dizi, m+1, r)

  1. 2. ve 3. adımda sıralanan iki yarıyı birleştirmek için birleştirme () işlevini kullanın:

Çağrı birleştirme(dizi, l, m, r)

Bunun nasıl çalıştığına dair net bir resim elde etmek için aşağıdaki resme bakın.

Kaynak

Birleştirme sıralama uygulaması için Python programı

def mergeSort(a):

len(a) >1 ise:

orta = len(a)//2

A = bir[:orta]

B = a[orta:]

birleştirmeSıralama(A)

birleştirmeSıralama(B)

ben = j = k = 0

iken i < len(A) ve j < len(B):

eğer A[i] < B[j] ise:

a[k] = A[i]

ben+=1

Başka:

a[k] = B[j]

j+=1

k+=1

iken i < len(A):

a[k] = A[i]

ben+=1

k+=1

j < len(R) iken:

a[k] = B[j]

j+=1

k+=1

def printList(a):

aralıktaki i için(len(a)):

print(a[i],son=” “)

Yazdır()

eğer __name__ == '__main__':

a = [12, 11, 13, 5, 6, 7]

birleştirmeSıralama(a)

print(“Sıralanan dizi: “, end=”\n”)

printList(a)

Daha fazla bilgi edinin: Veri Yapısında Özyineleme: Nasıl Çalışır, Türleri ve Kullanıldığı Zaman

2. Seçim Sıralaması

Bunda ilk olarak en küçük eleman ilk konuma gönderilir.

Ardından, kalan dizide bir sonraki en küçük eleman aranır ve ikinci konuma yerleştirilir. Bu, algoritma son öğeye ulaşana ve onu doğru konuma yerleştirene kadar devam eder.

Daha iyi anlamak için aşağıdaki resme bakın.

Kaynak

Seçim sıralama uygulaması için Python programı

ithalat sistemi

X = [6, 25, 10, 28, 11]

aralıktaki i için(len(X)):

min_idx = ben

j aralığında(i+1, len(X)):

X[min_idx] > X[j] ise:

min_idx = j

X[i], X[min_idx] = X[min_idx], X[i]

print (“Sıralanan dizi”)

aralıktaki i için(len(X)):

print(“%d” %X[i]),

Veri Bilimi Gelişmiş Sertifikasyonu, 250'den Fazla İş Ortağı, 300'den Fazla Eğitim Saati, %0 EMI

3. Kabarcık Sıralaması

Tüm sıralama algoritmalarının en kolayı ve en basitidir. Doğru sırada olmamaları durumunda bitişik öğelerin tekrar tekrar değiştirilmesi ilkesine göre çalışır.

Daha basit bir ifadeyle, giriş artan düzende sıralanacaksa, kabarcıklı sıralama önce dizideki ilk iki öğeyi karşılaştıracaktır. İkinci öğenin birinciden daha küçük olması durumunda, ikisini değiştirir ve bir sonraki öğeye geçer, vb.

Örnek :

Giriş : 637124

İlk geçiş

63 7124 -> 36 7124 : Kabarcık sıralama, 6 ve 3'ü karşılaştırır ve 3<6 olduğu için onları değiştirir.

3 67 124 -> 3 67 124 : 6<7 olduğundan takas yok

36 71 24 -> 36 17 24 : 7 ve 1, 7>1 olarak değiştirildi

361 72 4 -> 361 27 4 : 2 ve 7, 2<7 olarak değiştirildi

3612 74 -> 3612 47 : 4 ve 7, 4<7 olarak değiştirildi

ikinci geçiş

36 1247 -> 36 1247

3 61 274 -> 3 16 274

31 62 74 -> 31 26 74

312 67 4 -> 312 67 4

3126 74 -> 3126 47

üçüncü geçiş

31 2647 -> 13 2647

1 32 647 -> 1 23 647

12 36 47 -> 12 36 47

123 64 7 -> 123 46 7

1234 67 -> 1234 67

Gördüğünüz gibi üç geçişten sonra artan sıralama sonucunu alıyoruz.

Kabarcık sıralama uygulaması için Python programı

def bubbleSort(a):

n = uzunluk(a)

(n) aralığındaki i için:

aralıktaki j için (0, ni-1):

eğer a[j] > a[j+1] :

a[j], a[j+1] = a[j+1], a[j]

a = [64, 34, 25, 12, 22, 11, 90]

kabarcıkSıralama(a)

print (“Sıralanan dizi:”)

aralıktaki i için(len(a)):

yazdır (“%d” %a[i]),

Ayrıca okuyun: Python'da Veri Çerçeveleri: Python Ayrıntılı Eğitimi

Çözüm

Bu, veri yapısındaki sıralamayı ve en yaygın sıralama algoritmalarını tamamlar. Farklı sıralama algoritmalarından herhangi birini seçebilirsiniz. Ancak, bunlardan bazıları için program yazmanın biraz sıkıcı olabileceğini unutmayın. Ancak daha sonra hızlı sonuçlar için kullanışlı olabilirler. Öte yandan, büyük veri kümelerini sıralamak istiyorsanız, kabarcıklı sıralamayı seçmelisiniz. Sadece doğru sonuçlar vermekle kalmaz, aynı zamanda uygulanması da kolaydır. Sonra tekrar, diğer türlerden daha yavaştır. Umarım veri yapısında sıralama ile ilgili makaleyi beğenmişsinizdir.

Sıralamanın nasıl çalıştığı hakkında daha fazla bilgi edinmek için bize ulaşın, ihtiyaçlarınıza en uygun kursa başlamanıza yardımcı olalım!

Veri bilimi hakkında bilgi edinmek istiyorsanız, IIIT-B & upGrad'ın çalışan profesyoneller için oluşturulmuş ve 10'dan fazla vaka çalışması ve proje, uygulamalı uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk, 1 Endüstri danışmanlarıyla bire bir, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.

İyi eğlenceler kodlama!

Yığın Sıralama ve Hızlı Sıralama nedir?

Ayıklama işlemlerini ihtiyaca göre gerçekleştirmek için farklı ayırma teknikleri kullanılmaktadır. Genellikle, Hızlı Sıralama daha hızlı olduğu için kullanılır, ancak bellek kullanımı söz konusu olduğunda Yığın Sıralama kullanılır.

Yığın Sıralama, tamamen ikili yığın veri yapısına dayanan karşılaştırma tabanlı bir sıralama algoritmasıdır. Bu nedenle yığın sıralama, yığının özelliklerinden yararlanabilir. Hızlı sıralama algoritmasında Böl ve Yönet yaklaşımı kullanılır. Burada, tüm algoritma 3 adıma ayrılmıştır. Birincisi, pivot eleman olarak görev yapan bir eleman seçmektir. Ardından, pivot öğenin solundaki öğeler daha küçük, sağındaki öğeler ise değer olarak daha büyük olanlardır. Her bölümde, tüm öğe dizisini sıralamak için önceki adım tekrarlanır.

En kolay sıralama algoritması hangisidir?

Sıralama algoritmaları ile uğraşıyorsanız, Bubble Sort'un diğerleri arasında en basit olanı olduğunu fark etmişsinizdir. Bu algoritmanın arkasındaki temel fikir, tüm öğe dizisini taramak ve her bitişik öğeyi karşılaştırmaktır. Şimdi, takas eylemi yalnızca öğeler sıralanmadığında gerçekleşir.

Kabarcık Sıralama ile, bitişik öğeleri karşılaştırmanız yeterlidir ve dizi sıralanır. Bu yüzden en basit sıralama algoritması olarak kabul edilir.

Veri yapılarında en hızlı sıralama algoritması hangisidir?

Quicksort, diğer tüm sıralama algoritmaları arasında en hızlısı olarak kabul edilir. Quicksort'un zaman karmaşıklığı en iyi durumda O(n log n), ortalama durumda O(n log n) ve en kötü durumda O(n^2)'dir. Quicksort, tüm ortalama durum girdilerinde en iyi performansı nedeniyle en hızlı sıralama algoritması olarak bilinir. Hız, veri miktarına da çok bağlı olacaktır. Tüm sıralama algoritmaları arasındaki karşılaştırmaya göre, ortalama durum girdileri nedeniyle Quicksort en hızlısıdır.