İki Sıralı Diziyi Birleştirme
Her listeyi bir işaretçiyle tarayın.
İki Sıralı Diziyi Birleştirme, CoddyKit'te ücretsiz bir Competitive Programming Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Competitive Programming Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
Birleştirme Adımı
İki sıralanmış listeyi tek bir sıralanmış listede birleştirin. Bu birleştirme, birleştirmeli sıralamanın kalbidir ve her yerde karşınıza çıkar. 🔗
İki Girdi, Her Biri İçin Bir İşaretçi
Her listeye, ikisi de 0 indeksinden başlayacak şekilde kendi işaretçisini verin. Geriye dönmeden birlikte ileri doğru ilerleyeceksiniz.
i = 0
j = 0Her Zaman Küçük Olanı Alın
Her adımda iki listenin başındaki öğeleri karşılaştırın. Sıralı düzende sıradaki öğe olması gerektiğinden küçük olanı sonuca append edin.
Kazananı İlerletin
Bir değeri aldıktan sonra yalnızca geldiği işaretçiyi advance edin. Diğer listede hâlâ onu bekleyen en küçük öğe vardır.
if a[i] <= b[j]:
out.append(a[i])
i += 1
else:
out.append(b[j])
j += 1Ana Döngü
Her iki listede de hâlâ öğe bulunduğu sürece birleştirmeye devam edin. Listelerden biri tükendiğinde karşılaştırmanın artık anlamı kalmaz.
while i < len(a) and j < len(b):
# compare and append
passKalanları Tüketin
Bir liste boşaldığında diğeri zaten sıralıdır; bu nedenle kalan kuyruğunu doğrudan sonuca append edin.
out.extend(a[i:])
out.extend(b[j:])Kuyruklar Neden Ücretsizdir
Kalan kuyruk zaten sıralı olduğundan başka karşılaştırma gerekmez. Bu iki extend çağrısından biri yalnızca hiçbir şey eklemez.
Toplam Süre Doğrusaldır
Her öğeye bir kez bakılır; bu nedenle n ve m boyutlarındaki iki listeyi birleştirmek O(n + m) zaman alır. Bundan daha hızlısı mümkün değildir.
Kararlılığı Koruyun
Değerler eşit olduğunda <= kullanmak, eşit öğelerin özgün sırasını korur. Ek veriler taşıdığınızda bu kararlılık önemlidir.
Ters Yönde de Birleştirin
Yedek alanı olmayan bir arabellekte birleştirmek için bunun yerine arkadan ilerleyin ve en büyük öğeyi en sona yerleştirin. Aynı fikir ters çevrilmiş hâliyle uygulanır.
Birleştirmeden Sıralamaya
Ayırın, yarıları sıralayın, sonra birleştirin: bu özyineleme birleştirmeli sıralamadır. Az önce öğrendiğiniz iki işaretçili birleştirme, bunun temel işlemidir.
Hızlı Kontrol
Her birinde bir işaretçi bulunan iki sıralanmış listeyi birleştiriyorsunuz.
Özet
İki sıralanmış listede birer işaretçiyle ilerleyin, her zaman baştaki küçük öğeyi alın, ardından kuyruğu tüketin. O(n + m) sürede çalışır ve birleştirmeli sıralamaya güç verir. 🚀
Sıkça Sorulan Sorular
“İki Sıralı Diziyi Birleştirme” dersi ücretsiz mi?
Evet — “İki Sıralı Diziyi Birleştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Competitive Programming Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
“İki Sıralı Diziyi Birleştirme” dersinde ne öğreneceğim?
Her listeyi bir işaretçiyle tarayın. Competitive Programming Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Competitive Programming Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Competitive Programming Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“İki Sıralı Diziyi Birleştirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Competitive Programming Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Competitive Programming Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Sıralanmış Dizide İki İşaretçi
- Verilen Toplama Sahip Bir Çift Bulma
- Yinelenenleri Yerinde Kaldırma
- İki Sıralı Diziyi Birleştirme