Gönderen Konu: En hızlı sıralama  (Okunma sayısı 437 defa)

Çevrimdışı baran123

  • Profesyonel Üye
  • *****
  • İleti: 1832
En hızlı sıralama
« : 10 Ağustos 2017, 09:24:22 »
Bir STM MCU'da eleman sayısı 0 ile 1000 arasında değişen bir uint16 dizisini sıralayabilecek en hızlı algoritma hangisidir ?
Bubble, Insertion, Quick vs ?

Çevrimdışı E-x8

  • Kıdemli
  • ****
  • İleti: 127
Ynt: En hızlı sıralama
« Yanıtla #1 : 10 Ağustos 2017, 09:44:25 »
Sorunun cevabını bilmiyorum fakat böyle kararsız durumlarda kodun başına ve sonuna zamanlayıcı koyarak işlemi otomatik 1000 kez çalıştırırım ortalamasını alır sonucumu kaydederim size de bu yöntemi öneririm. Biraz uğraştırır fakat neyin yüzde kaç daha hızlı olduğunu en iyi bu yöntem söyler.

İyi çalışmalar.

Çevrimdışı muhittin_kaplan

  • Global Moderator
  • Profesyonel Üye
  • *****
  • İleti: 7989
  • Üretirsen var olursun. Üretmezsen yok.
    • Olmaz dediğimiz iş bitmek üzere.
Ynt: En hızlı sıralama
« Yanıtla #2 : 10 Ağustos 2017, 09:48:31 »
baran sanki bu hepsinden hızlı gibi (tabi değişkenler girdiler önemli.)


şadi hoca yetişmiş.



Çevrimdışı mehmet

  • Global Moderator
  • Profesyonel Üye
  • *****
  • İleti: 2788
  • Modlar da ölümlü...
    • El Feneri
Ynt: En hızlı sıralama
« Yanıtla #3 : 10 Ağustos 2017, 09:49:20 »
C de kodlarını yazarsan zaman çıktısını her
sıralama için verebilirim.

Ek:
Python da olabilir.
« Son Düzenleme: 10 Ağustos 2017, 09:54:53 Gönderen: mehmet »
"Bir mum diğer mumu tutuşturmakla ışığından bir şey kaybetmez.''Mevlânâ
"Kendimiz için yaptıklarımız bizimle birlikte ölür. Dünya ve başkaları için yaptıklarımız ise sonsuza dek yaşar."Albert Pike"
"Kendi kurallarını koymazsan, başkalarının kurallarıyla yaşarsın."M
www.mehmetbilgi.net.tr

Çevrimdışı foseydon

  • Üye
  • **
  • İleti: 30
Ynt: En hızlı sıralama
« Yanıtla #4 : 10 Ağustos 2017, 10:17:58 »
Bir STM MCU'da eleman sayısı 0 ile 1000 arasında değişen bir uint16 dizisini sıralayabilecek en hızlı algoritma hangisidir ?
Bubble, Insertion, Quick vs ?

Yanlış hatırlamıyorsam quicksort PC için en hızlı sorting algoritması, milyonluk seviyeye kadar daha hızlı daha yüksek sayıda eleman için başka bir algoritma daha hızlı. Net hatırlamıyorum, ama kabaca böyle olması lazım.

Bursa birkaç nokta var. Birincisi bu algoritmalarin performansı sizin kullandığınız mimariye göre farklılık gösterecektir. bunun için en temizi birkaç algoritma yazıp deneyip karşılaştırmak olur. İkinci olarak, ben performans bütün algoritmaların çok çok yakın sonuç vereceğini düşünüyorum. Uygulamanız bilmiyorum, fakat bu fark gözardı edilebilecek seviyede olur diye düşünüyorum. Üçüncüsü, bütün algoritmaların işi bitirme süresi sizin gerekliliginizden az olabilir. En mantıklı çözüm, bir tane algoritmayı yazıp denemek ve performans yeterli değilse sonrakini denemek. Bu sayede zaman kaybetmemiş olursunuz. Son olarak, neden buna ihtiyaç duyduğuzu anlatırsanız, belki alternatif bir çözüm sunacak birisi çıkabilir.

Çevrimdışı baran123

  • Profesyonel Üye
  • *****
  • İleti: 1832
Ynt: En hızlı sıralama
« Yanıtla #5 : 10 Ağustos 2017, 10:53:53 »
ADC den örnekleme yaptıktan sonra bir takım yazılımsal filtreler ile uğraşacağım.
Henüz sıralama kısmını yazmadım fakat bu sıralamanın mümkün olduğunca hızlı olması gerekiyor.
"Mesela veri sayısı az olunca şu algoritma hızlıdır veri sayısı çok olunca şu algoritma hızlıdır." gibi bir ifade duyduğumu hatırlıyorum fakat emin değilim bu yüzden sordum.

Çevrimdışı foseydon

  • Üye
  • **
  • İleti: 30
Ynt: En hızlı sıralama
« Yanıtla #6 : 10 Ağustos 2017, 11:09:54 »
ADC den örnekleme yaptıktan sonra bir takım yazılımsal filtreler ile uğraşacağım.
Henüz sıralama kısmını yazmadım fakat bu sıralamanın mümkün olduğunca hızlı olması gerekiyor.
"Mesela veri sayısı az olunca şu algoritma hızlıdır veri sayısı çok olunca şu algoritma hızlıdır." gibi bir ifade duyduğumu hatırlıyorum fakat emin değilim bu yüzden sordum.

Sizin ADC ile elde ettiğiniz bu 1000 örnek, aslında bir sinyali temsil ediyor ve siz bu değerlerin sırasını değiştirdiğiniz zaman aslinda işlemek istediğiniz sinyalin formunu değiştirmiş olursunuz. Bu bana pek mantıklı gelmiyor. Bu sinyal ölçüm(akım, voltaj gibi) sinyali mi?

Çevrimdışı baran123

  • Profesyonel Üye
  • *****
  • İleti: 1832
Ynt: En hızlı sıralama
« Yanıtla #7 : 10 Ağustos 2017, 12:28:09 »
@foseydon amacım sadece teorik bir çalışma.
Merak ettiğim böyle verilerde en hızlı sıralamayı nasıl yapabilirim.
Sanırım cevap Quick Short.
Teşekkürler.

Çevrimdışı Veli B.

  • Profesyonel Üye
  • *****
  • İleti: 2005
    • http://www.votec.com.tr

Çevrimdışı OptimusPrime

  • Emektar
  • *****
  • İleti: 631
Ynt: En hızlı sıralama
« Yanıtla #9 : 10 Ağustos 2017, 14:36:03 »
cevap hicbiri.

https://en.wikipedia.org/wiki/Sorting_algorithm

mergesort veya heapsort ile devam edebilirsin.