Tüm Alt Kümeleri Üretme
Her öğeyi seçin veya atlayın.
Tüm Alt Kümeleri Üretme, CoddyKit'te ücretsiz bir Coding Interview Prep dersidir. Bu, 4 dersinin 2. 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, Coding Interview Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Coding Interview Prep kursu toplamda 4 dersten oluşur.
Alt kümeleri neden üretmelisiniz
Birçok yarışma sorusu, küçük bir kümenin her alt kümesini denemenizi ister. Özyineleme ile bunların tümünü düzenli ve güvenilir biçimde listeleyebilirsiniz. 🧩
Her öğeyi seçin ya da atlayın
Temel fikir şudur: Her öğe için onu dahil etmek veya dışarıda bırakmak üzere bir ikili seçim yaparsınız. Tüm seçimlerin her tam dizisi bir alt küme oluşturur.
Kaç alt küme vardır
n öğeli bir kümenin tam olarak 2 üzeri n alt kümesi vardır; çünkü her öğe sayıyı iki katına çıkarır. Bu nedenle n değerini yaklaşık 20 veya daha küçük tutun.
Özyinelemeli plan
Dizi boyunca bir dizin ilerletin. Her dizinde iki dala ayrılın: birinde öğeyi alın, diğerinde atlayın.
Temel durum
Dizin son öğeyi geçtiğinde, mevcut yol tamamlanmış bir alt kümedir. Bu an, onu kaydetmeniz gereken temel durumdur.
Kodda alt küme özyinelemesi
Bu özyinelemeli tarama, sonunda bir alt kümeyi kaydeder, ardından her dizinde atlama ve alma seçeneklerini inceler.
def gen(i, cur):
if i == len(a):
out.append(cur[:])
return
gen(i + 1, cur)
gen(i + 1, cur + [a[i]])Geri alarak geri izleme yapın
Bir öğeyi eklediğinizde, özyinelemeli çağrıdan sonra onu çıkarın; böylece sonraki dal temiz bir başlangıç yapar. Bu geri alma adımı, geri izlemenin temelidir.
cur.append(a[i])
gen(i + 1, cur)
cur.pop()Bit maskesi alternatifi
0'dan 2 üzeri n eksi 1'e kadar her tam sayıyı, bitleri hangi öğelerin dahil edildiğini belirleyecek şekilde bir alt kümeyle de eşleştirebilirsiniz.
for mask in range(1 << n):
sub = [a[i] for i in range(n) if mask >> i & 1]Saklamadan önce kopyalayın
Mevcut listenin kendisini değil, her zaman bir kopyasını saklayın. Aksi hâlde sonraki değişiklikler kaydettiğiniz tüm alt kümelerin üzerine yazar. ⚠️
Kombinasyonları üretme
Sabit büyüklükteki k alt kümelerini elde etmek için, seçilen sayı k'ya ulaştığında dalı durdurun. Böylece alt kümeler combinations hâline gelir.
Alt kümeler nerede kullanılır
Alt küme listeleme; küçük sırt çantası sorunlarını, takım seçimini ve olası her seçimi sınamanız gereken yapılabilirlik denetimlerini çözer.
Hızlı kontrol
n öğeli bir kümenin kaç alt kümesi vardır?
Özet: Her öğede dallanın
Her öğeyi seçerek veya atlayarak tüm alt kümeleri listelemeyi ve her daldan sonra seçimi geri almayı öğrendiniz. Sayı 2 üzeri n olduğundan n değerini küçük tutun. 🎯
Sıkça Sorulan Sorular
“Tüm Alt Kümeleri Üretme” dersi ücretsiz mi?
Evet — “Tüm Alt Kümeleri Üretme” 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 Coding Interview Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Coding Interview Prep kursu toplamda 4 dersten oluşur.
“Tüm Alt Kümeleri Üretme” dersinde ne öğreneceğim?
Her öğeyi seçin veya atlayın. Coding Interview Prep 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.
Coding Interview Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Coding Interview Prep, 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 2. dersidir.
“Tüm Alt Kümeleri Üretme” 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 Coding Interview Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Coding Interview Prep 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
- Özyinelemeli Düşünün: Temel Durum ve Özyineleme
- Tüm Alt Kümeleri Üretme
- Permütasyonlar ve N-Queens Fikri
- Zaman Sınırını Aşmamak için Budama