Competitive Programming Academy · Ders

Adım Adım Düzenleme Mesafesi

Dönüştürmek için ekleyin, silin veya değiştirin.

4. ders / 413 adım

Adım Adım Düzenleme Mesafesi, 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.

Düzenleme Uzaklığı Ne Ölçer

Düzenleme uzaklığı, bir dizeyi diğerine dönüştürmek için gereken en az tek karakterli düzenleme sayısıdır. İki kelimenin gerçekte ne kadar farklı olduğunu ölçer.

Üç İşlem

Her düzenlemede bir karakteri ekleyebilir, silebilir veya değiştirebilirsiniz. Standart problemde her işlemin maliyeti tam olarak birdir.

Durumu Tanımlama

dp[i][j], A'nın ilk i karakterini B'nin ilk j karakterine dönüştürmek için gereken düzenleme sayısı olsun.

Ücretsiz Eşleşme

Mevcut karakterler zaten eşleşiyorsa düzenleme gerekmez. Köşegen değeri doğrudan aşağıya taşırsınız.

if a[i-1] == b[j-1]:
    dp[i][j] = dp[i-1][j-1]

Aksi Durumda Bir Ödeyin

Karakterler farklı olduğunda en ucuz komşuyu seçip bir düzenleme ekleyin. Bu en küçük artı bir yaklaşımı üç işlemin tamamını kapsar.

dp[i][j] = 1 + min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1])

Hangi Komşu Hangisi

Üstteki hücre bir silme işlemidir, soldaki hücre ekleme işlemidir ve köşegen hücre değiştirme işlemidir. En küçük değer, en ucuz olanı seçer.

Boş Dize İçin Temel Durumlar

Uzunluğu i olan bir dizeyi boşa dönüştürmek için i silme işlemi gerekir. Bu nedenle ilk satır ve sütunu 0, 1, 2 ve devam eden değerlerle doldurun.

for i in range(n+1):
    dp[i][0] = i
for j in range(m+1):
    dp[0][j] = j

Tablo Boyutunu Belirleme

Boş öneklerin kendilerine ait bir satır ve sütunu olması için n+1'e m+1 boyutunda bir ızgara kullanın. Bu dolgu, döngüleri basit tutar.

dp = [[0] * (m+1) for _ in range(n+1)]

Sırayla Doldurma

i ve j değerleri için 1'den başlayarak yukarı doğru döngü kurun. Her hücre yalnızca üstteki, soldaki ve köşegendeki önceden doldurulmuş komşulara bağlıdır.

for i in range(1, n+1):
    for j in range(1, m+1):
        ...

Uzaklığı Okuma

En az düzenleme sayısı köşede bulunur. Tablo tamamlandığında sonucunuz dp[n][m] değeridir.

distance = dp[n][m]

Maliyet ve Çeşitlemeler

Bu işlem O(n çarpı m) zamanda çalışır. Gerçek görevlerde her işlem için farklı maliyetler uygulanabilir, ancak aynı yineleme bağıntısı yine çalışır.

Hızlı Kontrol

A[i-1] ve B[j-1] karakterleri farklı. Düzenleme uzaklığını hangi yineleme bağıntısı verir?

Tekrar: Düzenleme Uzaklığı

Eşleşme, köşegen değeri taşımak; uyuşmazlık ise üç komşunun en küçüğüne 1 eklemek demektir. Sınırları başlatın ve dp[n][m] değerini okuyun. ✏️

Başlamak ücretsiz

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

“Adım Adım Düzenleme Mesafesi” dersi ücretsiz mi?

Evet — “Adım Adım Düzenleme Mesafesi” 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.

“Adım Adım Düzenleme Mesafesi” dersinde ne öğreneceğim?

Dönüştürmek için ekleyin, silin veya değiştirin. 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.

“Adım Adım Düzenleme Mesafesi” 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

  1. Izgarada Yol Sayma
  2. Engellerle Minimum Yol Toplamı
  3. En Uzun Ortak Alt Dizi
  4. Adım Adım Düzenleme Mesafesi
← Competitive Programming Academy Sayfasına Dön