THT DUYURU

Genel Programlama Programlamanın temeliyle ilgili genel dökümanların paylaşım alanı.

takipci
chat
Seçenekler

Sorting (Sıralama) Nedir ?

JooCyp - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
04/2020
Mesajlar:
12
Konular:
8
Teşekkür (Etti):
5
Teşekkür (Aldı):
8
Ticaret:
(0) %
3
374
bir Hafta önce
#1
Arrow
Sorting (Sıralama) Nedir ?
Merhabalar arkadaşlar,
Bildiğiniz üzere programlama yapı olarak algoritmalara dayanır.Burada bahsedeceğimiz Sorting yani Sıralama algoritmalarıda bilgisayar bilimlerinde verilmiş olan bir grup sayının küçükten büyüğe (veya tam tersi) sıralanması işlemini yapan algoritmalara verilen isimdir.

Kullanılacak sıralama algoritması seçilirken uygulanacak veri yapısı detaylı olarak ele alınmalıdır.
Sıralama algoritmalarının çalışma hızları, sıralanacak verinin büyüklüğü, kısmen sıralı olması, tersten sıralı olması veya tümüyle karışık yapıda olmasına bağlı olarak farklılık göstermektedir. Seçim yapılırken verinin bu anlamda değerlendirilmesi ve uygun algoritmanın tercihi en iyi sonuç için faydalı olacaktır.

Sıralama algoritmaları bilgisayarlarda tutulan verilerin düzenlenmesini ve insan kullanıcı tarafından daha rahat algılanmasını da sağlar.

Sıralama algoritmaları, tanımı çok yalın olmasına karşın çözümü çok karmaşık olan bir işi gerçekleştirdikleri için, üzerinde en fazla araştırma yapılan bilgisayar bilimi konularından biridir. Çoğu kişi sıralama sorununu çözülmüş bir sorun olarak görse de, yeni sıralama algoritmaları üzerinde araştırmalar sürmektedir.
Örneğin aşağıdaki düzensiz sayıları ele alalım:
Kod:
 5 9 2 3 7 11 -4 6
Bu sayıların sıralanmış hali : -4 2 3 5 6 7 11
olacaktır. Bu sıralama işlemini yapmanın çok farklı yolları vardır ancak bilgisayar mühendisliğinin temel olarak üzerine oturduğu iki performans kriteri buradaki sonuçları değerlendirmede önemli rol oynar.
Hafıza verimliliği (memory efficiency)
Zaman verimliliği (Time efficiency)
Temel olarak algoritma analizindeki iki önemli kriter bunlardır. Bir algoritmanın hızlı çalışması demek daha çok hafızaya ihtiyaç duyması demektir. Tersi durumda da bir algoritmanın daha az yere ihtiyaç duyması daha yavaş çalışması demektir. Ancak bir algoritma hem zaman hem de hafıza olarak verimliyse bu durumda diğer algoritmalardan başarılı sayılabilir.

Genellikle verinin hafızada saklanması sırasında veriyi tutan bir berlirleyici özelliğinin olması istenir. Veritabanı teorisinde birincil anahtar (primary key) ismi de verilen bu özellik kullanılarak hafızada bulunan veriye erişilebilir. Bu erişme sırasında şayet berlileyici alan sıralı ise erişimin logaritmik zamanda olması mümkündür. Şayet veri sıralı değilse erişim süresi doğrusal (linear) zamanda olmaktadır.

Genel olarak quicksort daha hızlı olmasına rağmen örnek veri tipinde insertion sort algoritmasının daha iyi bir performans sergilediği görülüyor.
Sıralama algoritmaların büyük bölümü aşağıda listelenmiştir.
  • Selection Sort
  • Bubble Sort
  • Insertion Sort
  • Merge Sort
  • QuickSort
  • Iterative Merge Sort
  • Iterative Quick Sort
  • Heap Sort
  • Couinting Sort
ve dahası ...

Kararlılık kriteri, bir algoritmanın bitiş kontrolüne dayanmaktadır. Örneğin sıralı bir dizi verilse bile sıralama işlemi yapmaya çalışır mı?
Anlatmaya çalıştığım sorting algoritmalarını inceleyebilirseniz sizin için daha iyi olacaktır.

Alıntı Yapılan Kaynak: https://medium.com/@halisak_/s%C4%B1...B1-dae2a88de6b
Konu JooCyp tarafından (bir Hafta önce Saat 10:09 ) değiştirilmiştir.
HackerWhoAmI Teşekkür etti.
HackerWhoAmI - ait Kullanıcı Resmi (Avatar)
VIP Altın Üye
Üyelik tarihi:
09/2018
Nereden:
SİBER ALEM
Mesajlar:
221
Konular:
43
Teşekkür (Etti):
107
Teşekkür (Aldı):
19
Ticaret:
(0) %
bir Hafta önce
#2
Cevap: Sorting (Sıralama) Nedir ?
eline saglik
--------------------- '' NE MUTLU TÜRKÜM DİYENE''
JooCyp Teşekkür etti.
Par4d0x1D - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
02/2012
Nereden:
hasan
Yaş:
18
Mesajlar:
521
Konular:
33
Teşekkür (Etti):
80
Teşekkür (Aldı):
738
Ticaret:
(0) %
bir Hafta önce
#3
Cevap: Sorting (Sıralama) Nedir ?
performans kıyası nerede
JooCyp - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
04/2020
Mesajlar:
12
Konular:
8
Teşekkür (Etti):
5
Teşekkür (Aldı):
8
Ticaret:
(0) %
bir Hafta önce
#4
Cevap: Sorting (Sıralama) Nedir ?
Performans kıyaslaması hakkında https://medium.com/@halisak_/s%C4%B1...B1-dae2a88de6b buradaki linkten detaylı bilgi bulabilirsiniz.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler