seçim sıralama Python

Python işlevleri ve meth

Python seçim sıralaması, bir listeyi iki küçük listeye böler. Bir liste, sıralanmış öğeleri temsil eder. Diğer liste, sıralanmamış öğeleri içerir. Seçim sıralaması, her yinelemede en küçük veya en yüksek değerleri bulur ve bu değerleri sıralı listeye taşır.

Listeleri sıralama, bir dizi programda yaygın bir işlemdir.

Şu örneği düşünün: Bir öğretmen, öğrencilerinin en son sınavlarında ne kadar başarılı oldukları hakkında daha fazla bilgi edinmek istiyor. Bir öğretmen öğrencileri sıralamak isteyebilir’ artan ve azalan sırayla puanlar. Bu, en yüksek ve en düşük test puanlarının ne olduğunu kolayca bulmalarını sağlar.

Seçim sıralamasını girin. Seçim sıralama, bir listeyi artan veya azalan düzende sıralamak için kullanabileceğiniz bir algoritmadır.

Bu kılavuzda, Python'da bir seçim sıralama programının nasıl yazılacağını tartışacağız. Seçim türlerinin giriş ve çıkışlarını öğrenebilmeniz için bu kılavuzda bir örnek üzerinden yürüyeceğiz.




Python Seçim Sıralaması nedir?

Python seçim sıralaması bir listedeki minimum öğeyi tekrar tekrar bulur ve bu öğeyi listenin belirli bir sonuna taşır. Sıralama, dizi sırayla sıralanana kadar devam eder. Ayrıca maksimum öğeyi bulmak için bir seçim sıralaması da verebilirsiniz. Her iki yaklaşım da bir listeyi sıralar.

Seçimli sıralamalar, listedeki ilk öğenin en küçük değer olduğunu varsayar. Sıralama daha sonra bu değeri ikinci öğeyle karşılaştıracaktır. İkinci eleman minimum değerden küçükse, ikinci eleman minimum değer olur.

Bu işlem listenin son elemanına ulaşılıncaya kadar tekrarlanır. Bu öğeye ulaşıldığında, minimum değer, sıralanmamış listenin başına yerleştirilir.

Katılımcıların %81'i, bir eğitim kampına katıldıktan sonra teknik iş beklentileri konusunda kendilerini daha güvende hissettiklerini belirtti. Bugün bir eğitim kampı ile eşleştirin.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan az zaman harcadı.

Daha iyi bir yol yok. bir örnek üzerinden geçmek yerine seçim türleri hakkında bilgi edinmek için. Öğrenci notlarının listesini artan düzende sıralayalım. Şu sıralanmamış listeyi düşünün:


73626169

Listemizin ilk değerini minimum olarak adlandırarak başlayacağız. . Seçim sıralamasının her yinelemesi en küçük öğeyi bulur ve onu sıralanan alt diziye taşır.

Minimum öğeyi sıralamak bir seçenektir. Maksimum öğeyi sıralarsanız bir seçim sıralama çalışır. Ancak biz’ bu örnekte minimum öğeyi yeniden kullanıyoruz.

Sonra, minimum değeri ikinci öğeyle karşılaştıracağız. Bu öğe minimumdan küçükse, ikinci öğe minimum değer olmalıdır.

73 ile 62'yi karşılaştıracağız. 73, 62'den büyüktür, bu da yeni minimum değerimizin 62 olduğu anlamına gelir. Ardından listemiz, listemizdeki diğer tüm sayıları gözden geçirecektir:

  • 61, 6'dan büyüktür 2 (minimum değerimiz)? Hayır, o yüzden sayıları değiştir. Minimum 61 olur.
  • 69, 61'den (minimum değerimiz) büyük mü? Evet, bu yüzden hiçbir şey yapmayın. Minimum kalış sayısı 61'dir.

Listemiz aynı görünüyor:

< td>73
626169

Şuraya ulaştığınızda listenin sonunda, minimumu listenin başına taşıyabilirsiniz:

61 (minimum değerimiz) listenin başına taşındı ve diğer tüm değerler birer birer yukarı taşındı. Tüm öğeler sıralanana kadar bu işlemi tekrarlayacağız.

Listemizin her yinelemesi aşağıdakileri döndürür:

  1. 73, 62, 61, 69
  2. 61, 73, 62, 69
  3. 61, 62, 73, 69
  4. 61, 62, 69, 73

Seçim sıralaması listedeki tüm öğeleri kontrol ettiğinde sıralama duracaktır.

Sıralanan alt dizi ve sıralanmayan alt dizi bizim için görünmezdir. Algoritmamız bir diziyi bizim için sıralar ve dizinin sıralanmamış kısmını takip eder.




Python'da Seçim Sıralaması Nasıl Gerçekleştirilir

Artık teoriye aşinasınız: peki tamamlamak! Büyük meydan okumanın zamanı geldi. Python'da seçim sıralama algoritmasını uygulayacağız. Bir Python dizisini alan ve onu artan düzende sıralayan bir program yazalım.


Bir Sıralama İşlevi Tanımlayın

Seçim sıralamamızı gerçekleştiren bir Python işlevi tanımlayarak başlayacağız. :

def sortList(dizi): uzunluk = len(dizi) aralıktaki öğe için(uzunluk): minimum = aralıktaki i öğesi (öğe + 1, uzunluk): if dizi[i] < dizi[minimum]: minimum = i (dizi[öğe], dizi[minimum]) = (dizi[minimum], dizi[öğe ])

Listemizin uzunluğunu almak için Python len() yöntemini kullanarak başladık. sonra bunu, listemizdeki her öğenin üzerinden geçen bir Python for döngüsü başlatmak için kullanın.

Döngüdeki her yineleme için, listemizdeki ilk öğe olarak minimum değerini belirledik. Bunu daha önceki adım adım adımlarımızda yaptık. Bir kez’ bir minimum değer ayarladık, listemizdeki her öğeden geçen başka bir for döngüsü başlar.

Listedeki her öğe için, algoritmamız minimum değerin şundan büyük olup olmadığını kontrol eder. o öğe. Eğer öyleyse, hiçbir şey olmaz; aksi takdirde, minimum değer, programın okuduğu öğe olur.

Listemizdeki her öğenin üzerinden geçtikten sonra, algoritmamız minimum değeri listenin başına taşır. Ardından, programımız en üstteki for döngüsü sona erene kadar devam edecektir. Bunun nedeni, seçim sıralamalarının bir listenin uzunluğuna eşit sayıda çalıştırılmasıdır.

Sıralama İşlevini Çağırın

Programımızı çalıştırırsak hiçbir şey olmayacağını fark etmiş olabilirsiniz. Bunun nedeni, henüz kodumuza hangi değerlerin kullanılacağını söylememiş olmamızdır. Programınızın altına sortList işlevinin dışına şu kodu ekleyin:

"Python.Engineering hayatıma en çok ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir bootcamp ile eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra buldum hayattaki değerlerim ve hedeflerim ile uyumlu hayalimdeki iş!"

Venus, Rockbot'ta Yazılım Mühendisi

Programımızı çalıştırdığımızda , aşağıdakiler döndürülür:

[61, 62, 69, 73]

Listemiz sıralandı. Sırtını sıvazla; başardınız!

Bir listeyi azalan düzende sıralamak için seçim sıralamaları kullanılabilir. Bir listeyi bu şekilde sıralamak isterseniz, “if” seçimdeki ifade şu şekilde sıralanır:

if array[i] > array[minimum]:

Küçüktür işaretini büyüktür işaretiyle değiştirdik. Bu, listemizi azalan düzende sıralayacaktır, çünkü minimum değer listedeki en yüksek değere ayarlanacaktır. Teknik olarak, minimum değerimiz bir maksimum değer olur.





Seçimli Sıralamayı Ne Zaman Kullanmalısınız?

Kabarcık sıralamaları gibi seçim sıralamaları en iyi şekilde daha küçük listeler için kullanılır. Bunun nedeni, algoritmanın’ t Daha büyük listelerde kullanıldığında araya eklemeli sıralama gibi diğerleri kadar verimli.

Seçimli sıralama, sıralama algoritmalarına yeni başladığınızda öğrenmek için harika bir sıralamadır. Diğer sıralamalarda uzmanlaşmak zor olabilir, ancak seçim türlerini net bir şekilde anlamak, farklı liste türlerini anlamanıza yardımcı olabilir.




Seçim Sıralaması için Karmaşıklık Nedir?

Seçim sıralamasının zaman karmaşıklığı O( n2). Bu, algoritmanın karmaşıklığının listede kaç öğe olduğuna bağlı olarak katlanarak artacağı anlamına gelir.

O(n2) bunun için en kötü durum, ortalama ve en iyi durum karmaşıklığıdır. algoritma. Daha fazlasını öğrenmek istiyorsanız e sıralama karmaşıklıkları hakkında, Big O Notation kılavuzumuza göz atın.




Sonuç

Seçim sıralamalar, verileri sıralamak için önemli bir yöntemdir. Seçim, bir listedeki her öğeyi baştan sona okur ve her yinelemede en küçük öğeyi listenin başına taşır. Bu, listedeki her öğe okunana kadar gerçekleşir.

Seçim sıralamaları, kullanılacak daha verimli algoritmalar olduğundan öğretim dışında yaygın olarak kullanılmaz. Bununla birlikte, ekleme veya birleştirme sıralama gibi diğer türleri öğrenmek için iyi bir sıçrama tahtasıdır.

Python hakkında daha fazla bilgi edinmek ister misiniz? Bilginizi geliştirmenize yardımcı olacak uzman tavsiyesi için eksiksiz Python Nasıl Öğrenilir kılavuzumuzu okuyun.





seçim sıralama Python: StackOverflow Questions

Tutorials