ekleme sıralama Python

Python eklemeli sƒ±ralama, oyun kartlarƒ±nƒ± sƒ±ralama gibi çalƒ±≈üƒ±r. Eklemeli sƒ±ralamayƒ± kullanmak için iki liste olu≈üturursunuz: sƒ±ralanmƒ±≈ü ve sƒ±ralanmamƒ±≈ü liste. Siz o √∂ƒüeyi sƒ±ralayana kadar, sƒ±ralanmamƒ±≈ü listedeki her √∂ƒüeyi kar≈üƒ±la≈ütƒ±rƒ±rsƒ±nƒ±z. Yerle≈ütirmeli sƒ±ralama, Python dilinde yaygƒ±n olarak kullanƒ±lan bir standart algoritmadƒ±r.

Hiç elinizde oyun kartlarƒ±nƒ± sƒ±raladƒ±nƒ±z mƒ±? Python eklemeli sƒ±ralama kavramƒ± hakkƒ±nda du≈üunmenin bir yolu budur. Yalnƒ±zca birkaç √∂ƒüe içeren bir listeyi sƒ±ralamanƒ±z gerektiƒüinde, eklemeli sƒ±ralama sizin arkanƒ±zdadƒ±r.

Ekleme sıralamaları, bir dizideki her yinelemeden sonra sıralanmamış bir öğeyi doğru yerine yerleştirir.

Bu kƒ±lavuzda, ekleme turlerinin ne olduƒüu ve nasƒ±l çalƒ±≈ütƒ±klarƒ± hakkƒ±nda konu≈üacaƒüƒ±z. Bu sƒ±ralama algoritmasƒ±nƒ± kullanmaya ba≈ülayabilmeniz için bir √∂rnek uzerinden Python’da araya eklemeli sƒ±ralamanƒ±n nasƒ±l uygulanacaƒüƒ±nƒ± tartƒ±≈üacaƒüƒ±z.

Python Ekleme Sıralaması nedir?

Eklemeli sıralama, bir listeyi iki alt listeye böler: sıralanmış ve sıralanmamış. Daha sonra, sıralanmamış listedeki her öğeyi karşılaştırır ve listedeki her öğe sıralanana kadar bunu yapmaya devam eder.

Bir eklemeli sƒ±ralama algoritmasƒ±, sƒ±ralanmƒ±≈ü bir √∂ƒüeyi sƒ±ralanmƒ±≈ü alt listeye ta≈üƒ±r ve sƒ±ralanmamƒ±≈ü alt listeden kaldƒ±rƒ±r. Her iki alt liste de aynƒ± dizinin parçasƒ±dƒ±r, ancak bir √∂ƒüenin sƒ±ralanƒ±p sƒ±ralanmadƒ±ƒüƒ±nƒ± ayƒ±rt ederler.

Bir kart oyununda elinizdeki bir dizi kartı nasıl sıralayacağınız gibi ekleme turlerini duşunebilirsiniz.

p>

Kart listesinde birer birer ilerler ve bunları birbirleriyle karşılaştırırsınız. Sıralanan kartlar elinizin solunda görunecektir. Sıralanmamış kartlar, siz hepsini sıralayana kadar sağda görunur.

Katƒ±lƒ±mcƒ±larƒ±n %81’i, bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü olanaklarƒ± konusunda daha emin hissettiklerini belirtti. Bugun bir eƒüitim kampƒ± ile e≈üle≈üin.

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ƒ±.

Hadi başlayalım. iş ve ekleme sıralama algoritmasını kullanarak bir diziyi sıralayın. Aşağıdaki sıralanmamış diziyi göz önunde bulundurun:

9435

Bir araya eklemeli sıralamada ilk eleman sıralanmış olarak kabul edilir, ikinci eleman kendi değişkeninde saklanır . Bu değişkene current_number adını vereceğiz.

Sƒ±ralandƒ± geçerli_sayƒ±

9435

Yapmamız gereken current_number öğesini dizideki ilk konumdaki öğeyle karşılaştırın. current_number ilk öğeden buyukse, aynı yerde kalır. Aksi takdirde, current_number öğesine taşınır. ilk öğenin önunde.

4, 9’dan buyuk deƒüildir, bu nedenle bu iki √∂ƒüe yer deƒüi≈ütirir.

49< /td>35

Listemizdeki ilk iki √∂ƒüe sƒ±ralanƒ±r. Ardƒ±ndan, mevcut_sayƒ± deƒüerini listedeki uçuncu √∂ƒüeyle deƒüi≈ütirip solundaki tum √∂ƒüelerle kar≈üƒ±la≈ütƒ±rƒ±yoruz.

Geçerli_sayƒ±mƒ±z 3 oluyor. Kar≈üƒ±la≈ütƒ±rmamƒ±z gerekiyor:

  • 3, 9’dan buyuk mu? Hayƒ±r, yani 9’dan √∂nce 3 eklenir.
  • 3, 4’ten buyuk mudur? Hayƒ±r, yani 3, 4’ten √∂nce ta≈üƒ±nƒ±r.

Listemiz şu anda şöyle görunur:

Liste sƒ±ralanana kadar bu i≈ülem tekrarlanƒ±r. Listemiz, yalnƒ±zca d√∂rt deƒüer içerdiƒüinden gerçekle≈ütirilecek yalnƒ±zca bir kar≈üƒ±la≈ütƒ±rma kumesine sahiptir. Sonraki yinelemede 5, geçerli_sayƒ± olur.

  • 5, 9’dan buyuk mu? Hayƒ±r, yani 9’dan √∂nce 5 hamle.

kullanılabilir tSıralanmış listemizdeki son sayı 5 olduğundan daha fazla karşılaştırma yapılmaz. Bu yinelemeden sonra dizimiz sıralanmıştır:

3

td>
459

Bu kadar basit! Ekleme sıralamamızda, sıralanan değerleri her zaman listenin solunda tuttuk. Sıralanmamış değerler sağda görunuyordu.

Listedeki her yineleme için, geçerli_sayƒ±yƒ± sƒ±ralanmamƒ±≈ü tum √∂ƒüelerle kar≈üƒ±la≈ütƒ±rdƒ±k. Bu i≈ülem, listemiz sƒ±ralanana kadar tekrarlandƒ±.

Python’da Ekleme Sƒ±ralamasƒ± Nasƒ±l Yazƒ±lƒ±r

Her ≈üey yolunda ve kaƒüƒ±t uzerinde eklemeli sƒ±ralamada gayet iyi yuruyor. ≈ûimdi i≈üin √∂zune girme ve Python’da bir eklemeli sƒ±ralama uygulama zamanƒ±.

Bir Sıralama İşlevi Yazın

İşe bir Python işlevi yazarak başlayacağız. sıralamamız:

Bunun nasƒ±l çalƒ±≈ütƒ±ƒüƒ±nƒ± inceleyelim. sortNumbers i≈ülevimizde bir Python for d√∂ngusu olu≈üturuyoruz listedeki her sayƒ± arasƒ±nda d√∂ngu yapar. Ardƒ±ndan, listedeki ilk √∂ƒüeyi Python deƒüi≈ükenine atayarak sƒ±ralanmƒ±≈ü bir deƒüer olarak ayarlarƒ±z. current_number.

Sƒ±ralanmamƒ±≈ü < içindeki her √∂ƒüeyi yineleriz. a href="/python-array/">Python listesi (current_number’dan sonraki her √∂ƒüe). Ardƒ±ndan, mevcut_sayƒ±yƒ± solundaki her sayƒ±yla kar≈üƒ±la≈ütƒ±rƒ±rƒ±z. Bu gerçekle≈ütikten sonra, current_number deƒüerini listede kendisinden sonraki elemana e≈üit olacak ≈üekilde ayarlƒ±yoruz.

Bir Ana Program Yazıyoruz

Biz’ve ekleme sıralamamızı yuruten bir ana program yazmamız gerekiyor:

Kodumuz şunu döndurur:

Listemiz artan duzende sƒ±ralanmƒ±≈ütƒ±r! Bu noktaya kadar geldiƒüiniz için tebrikler.

"Python.Engineering hayatƒ±ma en çok ihtiyacƒ±m olduƒüu anda girdi ve hƒ±zlƒ± bir ≈üekilde bir eƒüitim kampƒ±yla e≈üle≈ümeme yardƒ±mcƒ± oldu. Mezun olduktan iki ay sonra, deƒüerlerim ve hedeflerime uygun hayalimdeki i≈üi buldum. in life!"

Venus, Rockbot’ta Yazƒ±lƒ±m Muhendisi

Ekleme sƒ±ralamalarƒ± sayƒ±larƒ± azalan duzende sƒ±ralayabilir. Bunu ba≈üarmak için, "kuçuktur‚" (>) while d√∂ngusunde oturum a烱n ve bunu buyuktur i≈üareti yapƒ±n:

while i >= 0 ve current_number > toSort[i]:

Yukarıdaki örneğimizde değiştirilen bu kod satırı, listedeki öğeleri ters sırada sıralayacaktır.

Ne Zaman Kullanmalısınız? Ekleme Sıralaması?

Ekleme sƒ±ralamalarƒ±, bir listedeki veriler neredeyse sƒ±ralandƒ±ƒüƒ±nda veya kuçuk bir liste sƒ±ralarken en iyi ≈üekilde kullanƒ±lƒ±r. Buyuk listeleri sƒ±ralamak için kullanabileceƒüiniz daha verimli algoritmalar var. √ñrneƒüin, birle≈ütirme sƒ±ralama veya hƒ±zlƒ± sƒ±ralama daha hƒ±zlƒ±dƒ±r.

Ekleme sıralamaları, baloncuk sıralamalarından daha hızlıdır.

Ekleme sıralamaları hakkında bilgi sahibi olmak yararlıdır. Bir ekleme sıralamanın nasıl uygulanacağını bilmek, kullanabileceğiniz başka bir sıralama turu sağlar.

Ekleme sıralamaları, diğer bazı sıralama algoritmalarından daha az karmaşıktır. Bir ekleme sıralamanın nasıl yazılacağını öğrendikten sonra, birleştirme sıralamaları gibi daha karmaşık sıralamaları öğrenmeye daha yakın olursunuz.

Python Ekleme Sıralaması : Karmaşıklık Analizi

Tum algoritmalar gibi, en iyi, en kötu ve ortalama karmaşıklıkları dikkate almak önemlidir. Bu bize algoritmanın işini yaparken ne kadar etkili olduğuna dair bir fikir verecektir: bu örnekte , listeleri sıralama.

En k√∂tu durum ve ortalama karma≈üƒ±klƒ±klar O(n2)’dir. Bu, listenize sƒ±ralamak için daha fazla deƒüer ekledikçe algoritmanƒ±n katlanarak daha yava≈ü buyuyeceƒüi anlamƒ±na gelir.

En iyi durum senaryosu A烱k). Bu, algoritmayƒ± sƒ±ralanmƒ±≈ü bir listede çalƒ±≈ütƒ±rdƒ±ƒüƒ±mƒ±zda olur. Algoritma, √∂ƒüelerin sƒ±ralanƒ±p sƒ±ralanmadƒ±ƒüƒ±nƒ± kontrol eder ve ardƒ±ndan çalƒ±≈ümayƒ± durdurur.

Algoritma karmaşıklığını nasıl temsil ettiğimiz hakkında daha fazla bilgiyi Big O Notation.

Sonuç

Ekleme sıralamaları, bir kart oyununda elinizdeki kartların listesini sıralamak gibidir. İki liste tutarsınız: sıralanmış öğelerin bir listesi ve sıralanacak öğelerin bir listesi. Ardından, sıralanmamış öğeler listesinde ilerleyin ve hepsi sıralanana kadar konumlarını karıştırın.

Daha fazla Python programlama dili kaynaƒüƒ± mƒ± arƒ±yorsunuz? Tam Python Nasƒ±l √ñƒürenilir kƒ±lavuzumuza g√∂z atƒ±n. Python’u nasƒ±l √∂ƒüreneceƒüinize dair en iyi ipuçlarƒ±nƒ± ve çevrimiçi kurslarƒ±n, kitaplarƒ±n ve diƒüer kaynaklarƒ±n bir listesini bulacaksƒ±nƒ±z.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method