Algoritmaları oldukları gibi sıralamak
Sıralama bir düzenlemedirbelirli bir sırayla amaçları, örneğin, artan veya azalan. Genel olarak, elemanların sipariş - en yaygın veri işleme gerekli bilgileri daha da aramayı kolaylaştırmak için. Bu büyük ölçüde çeşitli veritabanı yönetim sistemleri için geçerlidir. Sıralama algoritmaları onlar benzer özellikler (aşamaları) olmasına rağmen, zaman içinde bu noktada çok sayıda bulunmaktadır: karşılaştırarak sürece dizisi sipariş olmayacak gibi çiftler halinde elemanların permütasyon.
Sıralama algoritmaları sınıflandırılabiliriç ve dış. Birincisi, tüm sıralanmış elemanların RAM'e yerleştirilmiş olması ve bunlara herhangi bir rastgele erişim elde edilmesi ile karakterize edilir. İkincisi, harici bellekte (dosyalarda) bulunan verilerle çalışabilir. Bu elemanlara erişim sırayla uygulanabilir.
Öğeleri olduklarında sıralamak daha uygundurtek boyutlu bir dizinin yapısında. Her bir elemanın bir seri numarası vardır ve dizi elemanına indeksle erişilir. Bu durumda sıralama algoritmaları, kullanım için en basit ve anlaşılır bir şey olduğu ortaya çıkıyor.
Için bir iç sıralama algoritması düşününKabarcık yöntemi ve geliştirilmiş sürümü ile azalan, sıralama için harcanan zaman içinde farklı. Kabarcık yöntemiyle sıralama aslında birçok ada sahip. Ayrıca doğrusal sıralama yöntemi veya tercih edilen değişim-sıralama yöntemi olarak da adlandırılır. Ancak, bu bir isim değil. Neden bir balon? Suya girdiğinde, daha kolay olduğu için hava kabarcığı yukarı doğru kayar. Dolayısıyla, örneğin, artan düzende sıralanırken, öğelerin en küçüğü en üstte görünecektir.
dizisi tarafından sıralama algoritması balonu bir birinci örneği göz önüne alın. aşağıdaki gibi sözlü dizi algoritma sahip mas tanımlayıcı sıralama ve N elemanlarının aşağıdakilerden oluşur:
1. birinci elemanın, dizinin (mas [1]) en büyük eleman yerine yerleştirin. Bunu yapmak için, biz kalan tüm unsurları döner karşılaştırır (mas [2], mas [3] ... mas [N]). Eğer diğer elementlerin her mas [1] daha büyük olduğunu bulmak için, (ek değişken tampon tamponundan yoluyla) değiş tokuş etmek için gereklidir.
2. Mas [1] elemanını dikkate almadan çıkardıktan sonra, masanın [2] elemanı için paragraf 1'i tekrarlayın.
3. Bu eylemler, sonuncu hariç tüm öğeler için tekrarlanmalıdır.
Pascal'da kabarcık sıralama algoritmasının uygulanması:
İkinci seçenek hakkında (gelişmiş bir yöntemkabarcık) Bunun hızlı sıralama algoritması olduğunu söyleyebiliriz. Bu yüzden, önceden sıralanmış bir diziyi sıralamak için kullanmaya çalışırsanız, algoritma dizinin öğeleri boyunca ilk geçişten sonra çalışmasını bitirir. Bu yüzden, sistemin bilgi işlem kaynaklarını ve elemanların anlamsız karşılaştırılması için zaman harcamayacağız.
Pascal programlama dili için bu sıralama algoritmasının uygulaması:
Dolayısıyla sıralama algoritmaları, veri dizilerinin sıralanması için bir araçtır. Belirli bir algoritmayı seçerken, maliyetleri zaman ve kaynak açısından hesaba katmalısınız.