Zaman Karmaşıklığı ve Veri Yapıları

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Aşağıdaki kod parçacığının zaman karmaşıklığı nedir?

fonksiyon(n)
temp ← 0
for (i = 1 to n){
  temp ← temp + i
}
return temp

  • O(log n)
  • O(n) (correct)
  • O(n²)
  • O(1)

Aşağıdaki veri yapıları arasında hangisi değildir? (Bir veya daha fazla seçenek doğru olabilir)

  • Yığın (Stack)
  • AVL Ağacı
  • Dizi (Array) (correct)
  • Kuyruk (Queue)

Bir algoritmanın zaman karmaşıklığı $O(n^2)$ ise, bu algoritma aşağıdaki işlemlerden hangisini yapar? (Bir veya daha fazla seçenek doğru olabilir)

  • Girdi boyutunun logaritmasıyla orantılı sayıda işlem yapar.
  • Girdi boyutuyla orantılı sayıda işlem yapar.
  • Girdi boyutunun karesiyle orantılı sayıda işlem yapar. (correct)
  • İstemci boyutuyla bağımsız sayıda işlem yapar.

Aşağıdaki sıralama algoritmalarından hangisi en kötü durum senaryosunda $O(n^2)$ zaman karmaşıklığına sahiptir? (Bir veya daha fazla seçenek doğru olabilir)

<p>Hızlı (Quick) Sıralama (A), Kabarcık (Bubble) Sıralama (B)</p> Signup and view all the answers

Doğrusal arama algoritması, aşağıdaki senaryolardan hangisinde en etkili şekilde kullanılır? (En doğru cevabı seçin)

<p>Sırasız ve küçük bir veri kümesinde bir öğe aramak (B)</p> Signup and view all the answers

Aşağıdaki algoritmalardan hangisi açgözlü bir algoritma olarak uygulanabilir? (Bir veya daha fazla seçenek doğru olabilir)

<p>Kruskal algoritması (D)</p> Signup and view all the answers

Aşağıdakilerden hangisi doğru bir Büyük-O notasyonu ifadesi değildir?

<p>O(log n) = O(n) (C)</p> Signup and view all the answers

Aşağıdaki kod parçacığının zaman karmaşıklığı nedir?

fonksiyon(n)
temp ← 0
for (i = 0 to n - 1){
  for (j = i to n - 1){
    temp ← temp + 1
  }
}
return temp

<p>O(n²) (A)</p> Signup and view all the answers

Flashcards

Zaman Karmaşıklığı

Algoritmanın çalışma süresinin n girdi boyutuna göre ifadesidir.

O(n³)

Üç katmanlı döngü yapılarını temsil eden Big-O notasyonu.

FIFO

İlk giren ilk çıkar prensibini uygulayan veri yapısıdır.

Böl-ve-Fethet

Bölünerek çözümleyen algoritma tasarım tekniğidir.

Signup and view all the flashcards

En iyi durum Zaman Karmaşıklığı

En hızlı sonucu veren durumun karmaşıklığıdır.

Signup and view all the flashcards

Kabarcık Sıralama

Böl-ve-fethet prensibini kullanmayan sıralama algoritması.

Signup and view all the flashcards

Açgözlü Algoritmalar

Her adımda en iyi görünen seçeneği tercih eden algoritmalardır.

Signup and view all the flashcards

İkili Arama

Bir dizide hedef değeri bulmak için kullanılan etkili bir arama yöntemidir.

Signup and view all the flashcards

Study Notes

Zaman Karmaşıklığı ve Veri Yapıları

  • Sözde kod analizi: Verilen sözde kod örneklerinde, iç içe döngülerle oluşan karmaşıklıklar incelenmiştir. for (i = 1 to n){ for (j = 1 to n){ for (k = 1 to n){ ... }}} biçimindeki yapılar O(n³) zaman karmaşıklığını gösterir.
  • FIFO prensibi: Kuyruk (Queue) veri yapısı, İlk Giren İlk Çıkar (FIFO) prensibiyle çalışır.
  • Büyük-O (O) Notasyonu: Asimptotik üst sınır olarak kullanılan Büyük-O notasyonu, fonksiyonun belirli bir büyüme davranışını ifade eder. 7n³ fonksiyonu O(n² logn) ile ifade edilemez. Önemli olan asimptotik davranıştır, sabitler ve düşük dereceli terimler ihmal edilir.
  • Doğrusal Arama: Doğrusal (Linear) Arama algoritmasının en iyi durumu O(1) (eleman ilk eleman ise), en kötü durumu ise O(n) (eleman son eleman ise) zaman karmaşıklığına sahiptir.
  • Böl-ve-Fethet (Divide and Conquer) tekniği: Hızlı (Quick) Sıralama ve Birleşmeli (Merge) Sıralama algoritmaları, böl-ve-fethet tekniğini kullanmaktadır. Kabarcık (Bubble) Sıralama ise bu tekniği kullanmaz.
  • Açgözlü (Greedy) algoritmalar: Prim, Kruskal ve Dijkstra algoritmaları açgözlü yaklaşımlara dayalıdır.
  • İkili Arama: İkili aramada, karşılaştırma sayısı logaritmik (logn) artar. Verilen örneğe göre 51 sayısını bulmak için 3 karşılaştırma yapılır.
  • Hızlı Sıralama (Quick Sort): Pivot eleman, bölümleme (partitioning) işleminden sonra belirli bir konuma yerleştirilir. Örnekte, pivot 7'dir.
  • Sıralama algoritmaları: Seçmeli (Selection) ve Kabarcık (Bubble) sıralama algoritmaları O(n²) zaman karmaşıklıklıdır. Birleşmeli (Merge) sıralama O(n log n) zaman karmaşıklığına sahiptir.
  • Seçmeli sıralama: Seçmeli sıralamada, dizideki en küçük öğe sıralanacak kısma taşınır; örneğin, [8, 3, 7, 5, 2] dizisi en küçük değer (2) ile başa gelir, sonra sırada en küçük olmayan değerle devam eder. Belirli bir adımda dizideki elemanların sıralanması sabit değildir.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Data Structures and Algorithms Basics
37 questions
Algorithm Time Complexities Quiz
53 questions
Algorithm Analysis and Data Structures
5 questions
Algoritmanalys och datastrukturer
8 questions
Use Quizgecko on...
Browser
Browser