Algoritmalar, Graflar, Dinamik Programlama ve İlişkisel Veritabanları
Sıralama, graf algoritmaları, dinamik programlama, SQL, indeksler ve işlemler üzerine lisans düzeyinde 32 tekrar kartı. Temel programlama, veri yapıları ve SQL bilgisi varsayar.
- Level
- basic
- Languages
- tr → tr
- Cards
- 32
- Markdown
- Algoritmalar, Graflar, Dinamik Programlama ve İlişkisel Veritabanları (.md)
Flashcards (32)
| # | Front (Term / Question) | Back (Definition / Answer) | Example | Multiple-Choice Options |
|---|---|---|---|---|
| 1 | Hayalet okuma nedir ve nasıl önlenir? | Başka bir işlem değişikliklerini onayladıktan sonra koşullu sorgunun tekrarı farklı bir eşleşen satır kümesi bulur. Standart modelde SERIALIZABLE hayaletleri önler; PostgreSQL REPEATABLE READ dahil bazı uygulamalar bunları daha düşük bir düzeyde de önler. | ||
| 2 | Tekrarlanamayan okuma nedir ve hangi standart yalıtım düzeyi bunu önler? | Başka bir işlem güncelleme veya silmeyi onayladıktan sonra bir satırı yeniden okumak değişmiş veri verir ya da satır artık bulunmaz. REPEATABLE READ ve SERIALIZABLE bu anomaliyi yasaklar. | ||
| 3 | Gruplanmış sorguda WHERE ile HAVING nasıl farklılaşır? | WHERE girdi satırlarını gruplamadan önce süzer. HAVING oluşan grupları süzer ve COUNT(*)>1 gibi toplulaştırmalı koşullar kullanabilir. | ||
| 4 | ACID işlem özellikleri ne anlama gelir? | Atomiklik: etkilerin tümü veya hiçbiri. Tutarlılık: doğru işlemler kısıtları ve uygulama değişmezlerini korur. Yalıtım: eşzamanlı davranış seçilen yalıtım düzeyine uyar. Kalıcılık: onaylanmış etkiler, veritabanının yapılandırılmış garantilerinin kapsadığı arızalarda korunur. | ||
| 5 | En uzun ortak alt dizi (LCS) uzunluğu için dinamik programlama bağıntısı nedir? | L[i,j], uzunlukları i,j olan öneklerin LCS uzunluğu olsun. L[0,j]=L[i,0]=0 koy. Son karakterler eşitse L[i,j]=1+L[i−1,j−1]; değilse L[i,j]=max(L[i−1,j],L[i,j−1]). Tam tablo O(mn) zaman ve alan kullanır. | ||
| 6 | Sayma sıralaması veya basamak sıralaması ne zaman doğrusal çalışabilir? | Sayma sıralaması, k değerlik aralıktaki n anahtar için O(n+k) maliyetlidir. Tabanı b olan, d kararlı basamak geçişli basamak sıralaması O(d(n+b)) maliyetlidir. Ancak bu parametreler elverirse doğrusaldırlar; yalnızca karşılaştırmadan öte anahtar yapısını kullanırlar. | ||
| 7 | B+ ağaçları veritabanı indeksleri ve aralık sorguları için neden yararlıdır? | Yüksek dallanma sayısı ağaçları sığ tutarak sayfa erişimlerini azaltır. Sıralı anahtarlar ve bağlantılı yapraklar aralık taramalarını destekler. Özetleme indeksleri eşitlik aramalarını hedefler ve aynı sıralı aralık erişimini kendiliğinden sağlamaz. | ||
| 8 | Kruskal ve Prim algoritmaları minimum kapsayan ağacı nasıl kurar? | Bağlantılı, yönsüz, ağırlıklı grafikte Kruskal kenarları artan ağırlıkla ele alır ve döngüleri reddetmek için Union–Find kullanır. Prim tek bir ağacı, ağaçtan dışarıdaki bir köşeye uzanan minimum ağırlıklı kenarı seçerek büyütür. | ||
| 9 | İkili arama ne gerektirir ve ne zaman O(log n) sürede çalışır? | Karşılaştırma düzenine göre sıralanmış veride arama aralığını sürekli ikiye böler. İndeks erişimi O(1) ve karşılaştırmaları sabit zamanlı olan bir dizide n eleman arasında arama O(log n) sürer. | ||
| 10 | Dijkstra algoritması ne zaman geçerlidir ve yığın tabanlı olağan sınırı nedir? | Negatif olmayan kenar ağırlıklarında en küçük geçici uzaklıklı köşeyi sırayla kesinleştirir. Komşuluk listesi ve ikili min-yığın uygulaması O((V+E) log V) sürer. Negatif kenarlar uzaklığın kesinleştiği gerekçesini geçersiz kılabilir. | ||
| 11 | Bir SQL SELECT sorgusunun basitleştirilmiş mantıksal işleme sırası nedir? | CTE, pencere fonksiyonları ve küme işlemleri olmayan sorgu için: FROM/JOIN → WHERE → GROUP BY ve toplulaştırmalar → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT/OFFSET. Bu mantıksal model, iyileştiricinin fiziksel yürütme sırası olmak zorunda değildir. | ||
| 12 | PostgreSQL WAL, olağan senkron onaylamada kalıcılığı nasıl destekler? | İlgili günlük kayıtları, onaylama bildirimi verilmeden ve değişen veri sayfaları yazılmadan önce kalıcı depolamaya ulaşır. Çökmeden sonra WAL, veri sayfalarında eksik değişiklikleri yeniden uygulayabilir. Asenkron onaylama, yakın zamanda onaylandığı bildirilen işlemleri kaybedebilir. | ||
| 13 | Notlama ve aşağıdan yukarıya dinamik programlama nasıl farklılaşır? | Notlama, alt problemleri gerektikçe, genellikle özyinelemeli hesaplar ve sonuçları önbelleğe alır. Aşağıdan yukarıya DP, durumları bağımlılıkları önceden hazır olacak sırada, genellikle tablo doldurarak hesaplar. | ||
| 14 | Dinamik programlama birçok optimizasyon probleminde neden yararlıdır? | Optimal alt yapı, optimumu alt problemlerin optimumlarıyla ifade etmeyi sağlar. Alt problemler örtüşüyorsa yanıtlarını saklamak yinelenen işi önler. Durum tanımları ve bağıntı, asıl problemi doğru temsil etmelidir. | ||
| 15 | Yerinde yığın sıralamasının en kötü zaman ve ek alan sınırları nedir? | Yığın kurmak O(n), ardından tüm çıkarma işlemleri toplam O(n log n) sürer. Girdi dizisinde yinelemeli aşağı süzme kullanılırsa yığın sıralaması en kötü O(n log n) zaman ve O(1) ek alan kullanır. | ||
| 16 | Bir sıralama algoritmasını kararlı yapan nedir? | Eşit anahtarlı öğeler başlangıçtaki göreli sıralarını korur. Eşitlikte soldaki öğeyi önce alan birleştirmeli sıralama kararlı olabilir; standart yerinde hızlı sıralama genellikle kararsızdır. Kararlılık uygulamaya bağlıdır. | ||
| 17 | Komşuluk matrisi ile sıradan komşuluk listeleri nasıl karşılaştırılır? | V köşe ve E kenar için matris O(V²) alan kullanır ve bir kenarı O(1) sürede sınar. Listeler O(V+E) alan kullanır; sırasız listede (u,v) kenarını aramak O(deg(u)) sürer; deg(u) o listenin uzunluğudur. | ||
| 18 | SQL Server'da kümelenmiş ve kümelenmemiş satır depolama indeksleri nasıl farklılaşır? | Kümelenmiş indeks tablo satırlarını anahtar sırasıyla sakladığından tabloda en fazla bir tane olabilir. Kümelenmemiş indeksin kendi anahtarları ve satır konumlayıcıları vardır; başka sütunlar da içerebilir. Terimler ve depolama ayrıntıları veritabanı sistemleri arasında değişir. | ||
| 19 | Açgözlü algoritma dinamik programlamadan nasıl ayrılır? | Açgözlü yaklaşım yerel bir seçime bağlanır ve bu seçimlerin optimumu koruduğunun kanıtını gerektirir. DP alternatifleri bir bağıntıyla karşılaştırır ve alt problem sonuçlarını yeniden kullanır. Küresel optimum yalnızca “DP” adı değil, doğru model ve bağıntı gerektirir. | ||
| 20 | Hızlı sıralama neden Θ(n²) sürebilir ve rastgeleleştirme nasıl yardımcı olur? | Her seferinde farklı anahtarların en küçüğünü seçmek gibi tekrarlanan çok dengesiz bölmeler karesel iş üretir. Farklı anahtarlar veya yinelenenleri uygun biçimde işleme koşuluyla rastgele pivotlar beklenen O(n log n) süre verir. Üçün medyanı yararlı bir sezgiseldir, en kötü durum garantisi değildir. | ||
| 21 | Birinci, ikinci ve üçüncü normal form ne gerektirir? | 1NF: atomik öznitelik değerleri. 2NF: 1NF ve hiçbir anahtar dışı özniteliğin herhangi bir aday anahtarın öz alt kümesine bağımlı olmaması. 3NF: 1NF ve her aşikâr olmayan X→A bağımlılığında X'in süper anahtar veya A'nın bir aday anahtara ait olması. Anahtar dışı öznitelik hiçbir aday anahtara ait değildir. | ||
| 22 | Eklemeli sıralama nasıl çalışır ve neredeyse sıralı girdide süresini ne belirler? | Her öğeyi sıralanmış öneke yerleştirir. Komşu kaydırma veya komşu takası kullanan olağan sürüm Θ(n+I) sürer; I ters sıralı çiftlerin sayısıdır. I=O(n) ise doğrusaldır; yalnızca girdinin küçük olması en kötü Θ(n²) sınırını değiştirmez. | ||
| 23 | Standart dizi birleştirmeli sıralaması nasıl çalışır, zaman ve alan sınırları nedir? | İki yarıyı özyinelemeli sıralar ve doğrusal zamanda birleştirir. Standart sürüm, sabit zamanlı karşılaştırmalar varsayımıyla Θ(n log n) zaman ve O(n) yardımcı alan kullanır. | ||
| 24 | INNER JOIN ile LEFT JOIN nasıl farklılaşır? | INNER JOIN birleştirme koşulunu sağlayan satır kombinasyonlarını döndürür. LEFT JOIN ayrıca eşleşmeyen her sol satırı korur ve sağ taraf sütunlarına NULL koyar. Birden çok eşleşen sağ satır, tek sol satır için birden çok çıktı satırı üretebilir. | ||
| 25 | Tamsayı kapasite W için standart 0/1 sırt çantası bağıntısı nedir? | D[i,w], pozitif tamsayı ağırlıkları wᵢ olan ilk i öğeden w kapasitesiyle elde edilebilen en iyi değer olsun. D[0,w]=0 koy. wᵢ>w ise D[i−1,w] değerini kopyala; değilse max(D[i−1,w],vᵢ+D[i−1,w−wᵢ]) al. O(NW) süre sözde polinomdur. | ||
| 26 | PostgreSQL'de birincil anahtar ile yabancı anahtar nasıl farklılaşır? | Birincil anahtar, satırları benzersiz ve NULL olmayan değerlerle tanımlar. Yabancı anahtar, NULL kurallarına bağlı olarak başvurulan anahtar değerleriyle eşleşme gerektirir. Aynı veya başka tabloda uygun bir UNIQUE anahtara ya da birincil anahtara başvurabilir. | ||
| 27 | Kirli okuma nedir ve bunu ilk önleyen standart yalıtım düzeyi hangisidir? | Başka bir işlemin henüz onaylanmamış verisini okumaktır; o işlemin daha sonra geri alınması şart değildir. READ COMMITTED ve daha güçlü standart yalıtım düzeyleri kirli okumayı yasaklar. | ||
| 28 | Topolojik sıralama nedir ve Kahn algoritması bunu nasıl bulur? | Yönlü döngüsüz grafikte her u→v kenarı u'nun v'den önce olmasını gerektirir. Giriş derecesi sıfır olan bir köşeyi tekrar tekrar çıktıla, çıkan kenarlarını kaldır ve yeni sıfır giriş dereceli köşeleri kuyruğa ekle. V'den az köşe çıktılanırsa yönlü grafikte döngü vardır. | ||
| 29 | Derinlik öncelikli arama yönlü grafikte döngüyü nasıl bulur? | DFS özyineleme veya açık bir yığınla derine ilerler. Mevcut DFS yolunda hâlâ etkin olan bir köşeye giden kenar geri kenardır ve yönlü döngüyü kanıtlar; daha önce ziyaret edilmiş herhangi bir köşeye kenar olması yetmez. | ||
| 30 | İki aşamalı kilitlemenin (2PL) iki aşaması nedir? | Büyüme: kilit bırakmadan kilit edinme. Küçülme: yeni kilit edinmeden kilit bırakma. Uygun çakışan okuma/yazma kilitleriyle 2PL, çakışmaya göre serileştirilebilir çizelgeleri garanti eder; ancak karşılıklı kilitlenmeler yine mümkündür. | ||
| 31 | Bellman–Ford negatif kenarları nasıl ele alır ve erişilebilir negatif döngüyü nasıl saptar? | Tüm kenarları en fazla V−1 kez gevşetir. Erişilebilir bir köşeden gelen sonraki iyileşme, kaynaktan erişilebilir negatif döngüyü gösterir. En kötü süre O(VE)'dir; böyle bir döngüden erişilebilen köşelerin sonlu en kısa yol maliyeti yoktur. | ||
| 32 | Genişlik öncelikli arama ağırlıksız grafikte en kısa yolları nasıl bulur? | BFS, FIFO kuyruğu kullanarak köşeleri kenar sayısıyla ölçülen uzaklığa göre gezer. Köşeyi kuyruğa eklerken işaretlemek tekrar ziyaretleri önler. Erişilebilir bir köşeye ilk bulunan yol en az sayıda kenara sahiptir. |