Permütasyonlar ve N-Queens Fikri
Öğeleri yerleştirin ve çakışmalarda geri dönün.
Permütasyonlar ve N-Queens Fikri, CoddyKit'te ücretsiz bir Competitive Programming Academy dersidir. Bu, 4 dersinin 3. 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.
Alt kümelerden sıralamalara
Bir permutation, tüm öğelerin belirli bir sıradaki dizilimidir. Bunları üretmek, alt kümelerden sonraki geri izleme becerisidir. 🔀
Kaç permutations vardır
n öğe için n faktöriyel permutations vardır; çünkü ilk konumda n seçenek, sonraki konumda n eksi bir seçenek bulunur ve böyle devam eder. Sayı hızla büyür.
Her seferinde bir öğe yerleştirin
Özyineleme konumları soldan sağa doldurur. Her adımda kullanılmamış bir öğe seçer, onu yerleştirir ve geri kalanla özyinelemeye devam eder.
Kullanılanları izleyin
Bir mantıksal kullanılan dizi, hangi öğelerin zaten yerleştirildiğini belirtir; böylece her öğe her permutation içinde tam olarak bir kez görünür.
Kodda permutations
Bu geri izleme, kullanılmamış bir değer yerleştirir, özyinelemeye devam eder ve ardından sonraki dal için değeri serbest bırakır.
def perm(cur):
if len(cur) == n:
out.append(cur[:]); return
for x in a:
if x not in cur:
perm(cur + [x])İzin verildiğinde itertools kullanın
Hızlı yarışmalarda Python'ın itertools.permutations işlevi, özyinelemeyi kendiniz yazmanıza gerek kalmadan tüm sıralamaları üretir.
from itertools import permutations
for p in permutations(a):
print(p)N-Vezirleri problemi
N-Vezirleri, n veziri n × n'lik bir tahtaya birbirlerini tehdit etmeyecek şekilde yerleştirmenizi ister. Bu, klasik geri izleme bulmacasıdır. 👑
Her satıra bir vezir
İki vezir aynı satırı paylaşmadığından, tam olarak her satıra bir vezir yerleştirir ve yalnızca sütununu seçersiniz. Bu, arama alanını büyük ölçüde küçültür.
Üç çakışmayı denetleyin
Yerleştirmeden önce, daha önce kullanılmış herhangi bir sütunu veya köşegeni reddedin. Kullanılan sütunları ve köşegenlerin her iki yönünü kümelerde izleyin.
if c in cols or r-c in d1 or r+c in d2:
continueÇıkmazda geri izleme yapın
Bir satırda hiçbir sütun işe yaramazsa dal başarısız olur. Geri izleme yapın, son veziri kaldırın ve sonraki seçeneğini deneyin.
Ortak örüntü
Permutations ve N-Vezirleri aynı yapıyı paylaşır: seçin, özyineleyin, geri alın. Bunu gördüğünüzde çoğu yerleştirme bulmacası aynı şablonla çözülür.
Hızlı kontrol
N-Vezirleri neden her satıra yalnızca bir vezir yerleştirir?
Özet: Seçin, özyineleyin, geri alın
Kullanılmamış öğeleri yerleştirerek permutations ürettiniz ve N-Vezirleri'nin çakışma denetimleriyle aynı seç-özyinele-geri al örüntüsünü kullandığını öğrendiniz. 🎯
Yapay zeka eğitmeniyle Python öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“Permütasyonlar ve N-Queens Fikri” dersi ücretsiz mi?
Evet — “Permütasyonlar ve N-Queens Fikri” 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.
“Permütasyonlar ve N-Queens Fikri” dersinde ne öğreneceğim?
Öğeleri yerleştirin ve çakışmalarda geri dönü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 3. dersidir.
“Permütasyonlar ve N-Queens Fikri” 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
- Ö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