Dizi Sıralama Nedir?

Dizi sıralama, bir dizinin tek tek öğelerini alma ve bunları kullanıcı tarafından tanımlanan bir dizi kurala göre bir tür mantıksal düzende düzenleme işlemidir. İşlem, bir seferde bir öğe olan dizi içinde adım atmayı ve dizi içindeki başka bir dizine taşınması gerekip gerekmediğini belirlemek için o öğeyi çevresindeki öğelere karşı test etmeyi içerir. Dizi sıralama yaparken, özellikle sıralama koşulları daha keyfi bir şeyin aksine sayısal olduğunda, kullanılabilecek birkaç algoritma vardır. Çoğu dizi sıralama algoritması, hızları ve verimleriyle ölçülür; en yavaş algoritmalar programlanması en kolay ve en hızlı olanı ise daha karmaşıktır.

En basit dizi sıralama algoritmasına kabarcık sıralama adı verilir ve aynı zamanda en yavaş olanıdır. İşlem, dizideki her öğe boyunca adım atacak bir döngü ile başlar. Geçerli eleman dizideki bir sonraki elemanla karşılaştırılır ve eğer bir sonraki eleman geçerli elemandan daha düşük bir değere sahipse, endekslerdeki veriler değiştirilir. Bir kabarcık diziliminin dezavantajı, diziyi sıralamak için gerekli tüm takasları yapmak için diziden birkaç kez geçmesi gerektiğidir. En temel uygulamalarda, sıralama içerdiği her öğe için tam bir süre boyunca dizinin tamamı boyunca döner.

Seçim sıralaması, dizi sıralamasını kabarcık sıralamasından biraz daha verimli bir şekilde yapan ancak yine de dizi boyunca birden fazla yineleme gerektiren bir algoritma kullanır. Bu sıralama, en düşük değerli öğeyi bulmak için dizi arasında dolaşarak başlar. Bu öğe daha sonra dizinin ilk dizinine yerleştirilir ve bazı izleme değişkenleri artırılır. Döngü daha sonra tekrar eder ve şimdi dizinin ikinci dizinine yerleştirilecek olan bir sonraki en düşük değeri arar. İşlem, en yüksek değerli eleman dizinin son dizinine yerleştirilene kadar devam eder.

Etkin olabilen ancak bazen de uygulanabilen karmaşık bir dizi sıralama yöntemi hızlı bağlantı noktası olarak bilinir. Çabuk sıralama, dizide tutulan tüm olası değerlerin ortasında olan bir değerin alınmasını içerir. Algoritma, dizinin tüm öğelerinde dolaşır ve dizinin sonunda medyan sayısından daha büyük olan tüm değerleri ve başlangıçta daha düşük değerleri koyar. Bu işlem, dizinin tüm blokları sıralanıncaya kadar dizinin blokları üzerinde tekrar tekrar yapılır. Dizi için kullanılan orta değerin oldukça doğru olduğunu varsayarsak, bu sıralama için çok hızlı bir yol olabilir.

Bir dizi sıralama algoritmasını etkileyebilecek bir faktör, verilerin denklik için test edilme şeklidir. Basit sayıların hangi değerin daha büyük olduğunu karşılaştırması kolaydır, ancak bu, çoklu koşulların karşılaştırılması gereken karmaşık veri sınıfları için geçerli olmayabilir. Bir öğenin diğerinden büyük veya küçük olup olmadığının karşılaştırılması ne kadar uzun olursa, algoritmanın diziyi sıralaması o kadar uzun sürer.