0Pricing
Coding Interview Prep · Ders

Orana Göre Kesirli Sırt Çantası

Önce ağırlık başına değeri en yüksek olanı alın.

Orana Göre Kesirli Sırt Çantası, CoddyKit'te ücretsiz bir Coding Interview Prep 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, 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.

Sırt Çantası Kurulumu

Değeri ve ağırlığı olan öğeleriniz ile sınırlı kapasiteye sahip bir çantanız var. Amaç, taşıyabileceğiniz toplam değeri en yüksek düzeye çıkarmaktır. 🎒

Kesirli, Bölünebilir Demektir

Kesirli sürümde bir öğenin bir parçasını, örneğin bir çuval tahılın yarısını alabilirsiniz. Açgözlü yaklaşımın burada kazanmasını sağlayan özgürlük budur.

Ağırlık Başına Değer

Temel ölçüt, her öğenin değerinin ağırlığına oranıdır. Yüksek oran, çok küçük bir alana çok fazla değer sığdığı anlamına gelir.

ratio = value / weight

En İyi Orana Göre Sıralayın

Öğeleri ağırlık başına değerlerine göre, en yüksek değer başta olacak şekilde sort edin. Açgözlü plan, mevcut en yoğun değeri sürekli almaktır.

items.sort(key=lambda i: i[0] / i[1], reverse=True)

Sığdığı Sürece Tümünü Alın

Sıralanmış listede ilerleyin ve her öğe kalan kapasiteye sığıyorsa onu tamamen alın. Toplamınıza öğenin tam değerini ekleyin.

if weight <= cap:
    total += value
    cap -= weight

Son Boşluğu Doldurun

Bir öğe çok büyük olduğunda, kalan alanı tam olarak dolduran bir kesir alın. Ardından çanta dolar ve durursunuz.

total += value * (cap / weight)

Oran Sırası Neden Çalışır

Kapasitenin her birimi mümkün olan en yüksek değeri taşımalıdır; bu nedenle en yoğun öğe önce alınmalıdır. Daha düşük yoğunluklu bir öğeyi seçmek yalnızca değer kaybettirir.

0/1 Sırt Çantası Farklıdır

Öğeler bölünemiyorsa, orana göre açgözlü seçim bozulur. 0/1 sürümü bu basit sıralama yerine dinamik programlama, yani DP, gerektirir.

Çalışma Süresi

Orana göre sıralama O(n log n) maliyetindedir ve doldurma döngüsü doğrusaldır. Bu, tipik yarışma sınırları için fazlasıyla hızlıdır.

Son Kesre Dikkat Edin

Kısmi öğe için kayan nokta sayıları veya tam rasyonel sayılar kullanın. Erken kesmek değeri azaltabilir ve yanlış sonuç almanıza neden olabilir.

Nerelerde Karşınıza Çıkar

Yük taşıdığınızı, yakıtları karıştırdığınızı veya kaynakları böldüğünüzü düşünün. Parçaların bölünebildiği her durumda orana dayalı açgözlü yaklaşım aracınızdır.

Hızlı Kontrol

Kesirli sırt çantası probleminde bir çantayı dolduruyorsunuz.

Özet

Öğeleri ağırlık başına değere göre sıralayın, sığdıkları sürece bütün öğeleri alın, ardından çantayı tamamen doldurmak için bir kesir alın. Bu açgözlü yaklaşım yalnızca öğeler bölünebildiğinde en iyi sonucu verir. 🚀

Sıkça Sorulan Sorular

“Orana Göre Kesirli Sırt Çantası” dersi ücretsiz mi?

Evet — “Orana Göre Kesirli Sırt Çantası” 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.

“Orana Göre Kesirli Sırt Çantası” dersinde ne öğreneceğim?

Önce ağırlık başına değeri en yüksek olanı alı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 3. dersidir.

“Orana Göre Kesirli Sırt Çantası” 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

  1. Açgözlü Düşünce Tarzı
  2. En Erken Bitişe Göre Etkinlik Seçimi
  3. Orana Göre Kesirli Sırt Çantası
  4. Açgözlü Yaklaşımın Ne Zaman Başarısız Olduğunu Fark Etme
← Coding Interview Prep Sayfasına Dön