Sıralama Algoritmam v1.5

Life Hunter

Lapis Toplayıcısı
Mesajlar
930
En iyi cevaplar
0
Beğeniler
480
Puanları
980
Merhabalar, kendi geliştirdiğim sıralama algoritmasını biraz daha geliştirdim. Bulunan en büyük sayının dizi üzerindeki adresi önceden bir for döngüsü ile bulunuyordu. Her taramada ayrı bir for döngüsü açıp dizi elemanlarını taratmak performans açısından çok sıkıntı yaşatabilirdi(özellikle çok elemana sahip dizilerde) Bende for döngüsünü kaldırdım ve çok daha kısa bir işlemle bu sorun çözülmüş oldu. Gereksiz tanımladığım bir kaç değişkenide kaldırdım. Kod şu an performans açısından önceki halinden daha verimli durumda.

Kod: http://paste.ubuntu.com/15213873/
 


Life Hunter

Lapis Toplayıcısı
Mesajlar
930
En iyi cevaplar
0
Beğeniler
480
Puanları
980
http://paste.ubuntu.com/15217365
Belki bu düşünürken yardımcı olabilir :)
Hangi dil olduğunu tam anlayamadım, Python mu?
Edit: Gördüğüm kadarı ile yapılan işlem sayısı benimki ile aşağı yukarı aynı. Bir kaç tane kullanılan fonksiyon kod sayısını azaltıyor. Aynı mantık C++'ta yapılmaya çalışılsa aşağı yukarı aynı işlemlere denk gelir. Yorumlayıcı dillerin avantajları burada :/
 
Son düzenleme:

Life Hunter

Lapis Toplayıcısı
Mesajlar
930
En iyi cevaplar
0
Beğeniler
480
Puanları
980
Hocam Python'dan pek anlamam ama incelediğim kadarı ile bu kod dizideki elemanların yerlerini belli bir sıraya sokmuyor direk yeni dizi yaratıp o diziye sıralı şekilde atıyor. Sonradan ana fonksiyonda değiştirilebilir belki ama pek iyi bir mantık değil bu yeni array yaratmak felan. Direk sayılar bulunurken dizinin elemanlarını değiştirmek performans açısından daha iyi.
 

Üst