1 Nisan 1986 Tarihli Commodore Gazetesi Sayfa 12

1 Nisan 1986 tarihli Commodore Gazetesi Sayfa 12
Metin içeriği (otomatik olarak oluşturulmuştur)

(pass) yapılmakta ve sıralama ilerle- dikçe taramalar giderek kısalmakta- dır. Ancak bu kez eldeki öge onun he- men üstündekiyle kıyaslanmak yerine Oo özel (particular) taramada en üstte 'bulunan öge ile kıyaslanmakta ve eğer gerekiyorsa sözkonusu ögenin yeri de- ğiştirilmektedir. Bu işleme biçiminin tam da “Ayıklamalı Sıralama”' deyi- şine uygun düştüğünü söyleyebiliriz; SOLDAKİNİ !... zira dikkat edildiğinde her taramada listenin en üstünde bulunan ögenin bütün listenin içinden (buna en üstte- ki de dahil) seçilip alındığı görülebi- lir. Çizim-3'te gösterilen minyatür di- zinin incelenmesi halinde bu söyledi- ğimiz daha iyi anlaşılabilir. Sonuç olarak Ayıklamalı Sıralama- da da Kabarcık sıralama ile aynı sa- yıda kıyaslama yapılması gerekmek- te ancak gerçekleştirilen yer değiş to- kuşu daha az sayıda kalmaktadır. Bu nedenledir ki aynı sayıda kaydın söz- konusu olduğu bir durumda Ayıkla- malı Sıralama daha kısa zamanda so- nuç verir. Çabuk ya da İkili Sıralama Buraya dek sözünü ettiğimiz ve bir veriler dizisini sıralamaya yarayan her üç yöntem de temelde aynı ilkeye da- yanmaktaydılar. Programın veriler üstünden sonlu bir sayıda tarama yap- commodore masını sağlayan, içiçe yerleştirilmiş iki döngü kullanılır ve her taramanın so- nunda tek bir eleman doğru haneye yerleştirilerek sonraki taramalarda he- saba katılmaz. Bu, yerleştirilmesi ge- reken hiçbir öge kalmayana kadar de- vam eder. Çabuk sıralama ise değişik bir kav- rama dayanılarak geliştirilmiş bir yön- temdir. Dizideki ilk öge bir tür “baş- lama öbeği”' ya da bir başka deyişle “pivot” olarak alınır ve diğer ögeler onunla kıyaslanırlar. Bu eldeki pivot- tan daha küçük olan bütün ögeler pi- votun üstüne, daha büyük olanlarsa altına yerleştirilirler. Bu yolla, dizinin eski halinde en başta bulunan kayıt doğru haneye yazılmış olur ve diğer kayıtlarda ona göre doğru tarafta (al- tında ya da üstünde) yerlerini almış olurlar. Aynı prosedür (yordam) şim- di bu kaydın üstünde ve altında ka- lan kümelere ayrı ayrı uygulanır. Pro- sedür bu şekilde giderek küçülen alt kü- melere uygulanmaya devam edilir ve sıralanacak altküme tek bir ögeden ibaret kaldığında durdurulur. Sırala- nacak hiçbir altküme kalmadığında (ya da bütün altkümeler tek bir öge- ye indirgendiklerinde) dizinin bütünü de sıralanmış olacaktır. Sanırız bu yöntemin en iyi açıklamasını Çizim- 4'te bulacaksınız. Çizimi incelediğinizde iki gösterge (pointer) kullanılmış olduğunu göre- ceksiniz. Bunlardan biri gündemdeki kayıtı gösterirken diğeri de dizideki kullanılabilir alanı gösterir. İlk aşama- da göstergeler kümenin her iki ucuna yerleştirilmiştir. P1 göstergesi tarafın- dan gösterilen eleman, doldurduğu hanenin üstüne yeni kayıt yapılabile- cek biçimde, ayrı bir değişkene sak- lanmıştır. Kıyaslamalar şimdi P2 gös- tergesi tarafından gösterilen eleman- dan başlar: TAVUK KURT böyle- ce P2 göstergesi eksiltilir. FARE KURT, böylece ZEBRA PlI'e yerleş- tirilir ve bu noktadan aşağıya doğru işlem sürdürülür. ZEBRA KURT, bu yolla ZEBRA P?2'ye yerleştirilir. Şimdi de işleme P2'den yukarıya doğ- ru devam edilecektir. ARI KURT, böylece ARI PI'e yerleştirilir. Göster- geler artık buluşmuşlardır ve pivot, yani KURT bu noktaya yerleştirilebi- lir. Bu noktanın biri üstünde, biri de altında olmak üzere iki altküme çık- mıştır ortaya ve her ikisine de şimdi ayrı ayrı Çabuk sıralama yordamını (routine) uygulamak gerekmektedir.

Bu sayıdan diğer sayfalar: