Çeşitli programlar geliştirirken, pratik olarakprogramcılar her zaman iş algoritmalarını optimize etmek, arama işlemlerinin performansını iyileştirmek, vb. için sıralamaya başvurmak zorundadırlar. Günümüzde, öğeleri gerekli sırayla düzenlemek için birçok farklı yöntem vardır: birleştirme sıralama, anahtarı kullanma, vb. bunun sonucu, belirli bir görevin gereksinimlerine bağlı olarak aynı türdeki nesnelerin azalan veya artan sırada sıralanmasına yol açar.
Çok çeşitli sıralama algoritmalarıiki kategoriye ayrılır: dizileri düzenlemek ve dosyaları belirli bir sırada düzenlemek. İlk nesne türü yalnızca RAM'de değil, doğrudan erişilebilir olması koşuluyla bazı ortamlarda da bulunabilir. İkinci nesne kategorisi somut medyada olmalıdır: disk veya manyetik bant.
Öğeleri düzenleme arasındaki temel farkdizi ve dosyaların bildirilen sırasındaki konum, dizinin tüm üyelerinin bunlara erişirken herhangi bir zamanda kullanılabilmesidir ve bu nedenle, sıralama işlemi, bir öğenin erişilememesi nedeniyle işlemin durduğu andan itibaren başlar. Aynı zamanda, dosyaları belirli bir zamanda düzenlerken, yalnızca sınırlı sayıda üyeye erişim verilebilir.
Genellikle dosyaları düzenlemek için yeterliöğelerin belirli bir düzende düzenlenmesinin temel ilkeleri üzerine geliştirilen birleştirme sıralama uygulanmaktadır. Genel olarak, ayırma prosedürü aşağıdaki gibi tarif edilebilir: belirli bir veri segmenti tahsis edilir ve bir anahtar olarak kullanılır. Örnek olarak, belirli bir dizindeki posta öğelerini sıralama örneğini ele alalım. Sonuç olarak, algoritma bilgilerin tam bir analizini yapmaz, ancak aynı zamanda yüksek derecede olasılıkla gerekli elemanları sıralar.
Sıralı dosyalar vedoğrudan erişimli dosyalar, kalıcı doğrudan erişim için ayarlanması zor olan ortamlara yerleştirilebilmeleridir. Ayrıca, bu tür dosyalar genellikle depolanan kayıtlar için sabit bir uzunluk kullanmaz. Bu özellikler nedeniyle, sıralı dosyalar yalnızca iki durumda kullanılır:
- gerekirse sıralı erişimli bir depolama ortamı kullanın;
- değişken uzunluktaki kayıtların kullanılmasının uygun olduğu durumlarda.
Birleştirme sıralaması sıklıkla kullanılır.modern yazılım. Bu, sıralı dosyaların yaygın dağıtımından kaynaklanmaktadır. Örneğin, neredeyse tüm metin dosyaları sıralıdır. Sıralı olarak düzenlenmiş bir dosyayı bir veri dizisi olarak kabul etmenin kolaylığına rağmen, böyle bir yaklaşım imkansızdır, çünkü dosyanın tüm elemanlarına fiziksel olarak donanımda erişmek imkansızdır.
Birleştirme sıralama aslında teksıralı dosyaları sıralamanın yolu. Bugün sıralı dosyaları düzenlemenin başka yöntemleri olmasına rağmen, bu yöntem en popülerlerinden biri olmaya devam ediyor. Doğal birleştirmeye göre sıralama, bir dosyanın bilgi hacmine eşit iki parçaya bölünmesini içerir. Daha sonra her dosyadan, şu anda mevcut olanlardan her bir öğenin kademeli bir okuması vardır. Sipariş edilen elemanlar, üçüncü boyuta gerekli sırayla yerleştirilir, bu da daha büyük boyutta ikiye bölünür. Böylece, birleştirme sıralama yapılır. Pascal, C, Basic - en iyi bilinen programlama dilleri, bu tür sıralı dosyaların diziliminin uygulanmasını destekler.