Performans Ödevi Çözümü
Görevi Anlama ve İzlenecek Adımlar
Bu performans ödevi, belirli sıralama ve arama algoritmalarını analiz etmenizi, bir akış şeması oluşturmanızı ve algoritmanın işleyişini sözde kod ve şemayla ifade ederek sunduğunuz bir çalışmayı hazırlamanızı istemektedir.
Ödev için gereksinimler şu şekilde:
- Bir sıralama veya arama algoritması seçmek.
Kullanılabilecek algoritmalardan bazıları örnek olarak Bubble Sort (Babil Sıralaması), Quick Sort, veya arama algoritması olarak ikili arama (Binary Search) olabilir. - Akış şeması çizmek.
Algoritmanın adım adım işleyişini görsel olarak ifade eden bir şema hazırlanmalı. - Sözde kod oluşturmak.
Algoritmanın mantığını açıklayan şekilde, işlemleri sade şekilde ifade eden kod yazılmalı. - Analiz sonuçları ve rapor hazırlamak.
Algoritmanın nasıl çalıştığını, neden seçildiğini ve analiz sonuçlarını açıklayan bir rapor sunulmalıdır.
Örnek Çözüm - Bubble Sort (Babil Sıralaması)
Bubble Sort algoritması, öğeleri liste üzerinde karşılaştırarak sıralayan basit bir sıralama algoritmasıdır. İlk olarak bu algoritmayı seçebilir ve akış şemasını, sözde kodu ve algoritmanın işleyişini inceleyebilirsiniz.
1. Bubble Sort Akış Şeması
Bir akış şeması, algoritmanın işleyişini adım adım görsel olarak ifade eder. Örneğin:
- Başla.
- Öğeleri sırayla karşılaştır (ilk ikili başlayarak).
- Eğer yanlış sıradaysa (büyük öğe önde) öğeleri yer değiştir.
- Listenin sonuna kadar ilerle.
- Bütün öğeler sıralanıncaya kadar tekrarla.
- Bitir.
Aşağıdaki diyagram Bubble Sort’un akışı örnektir:
[Başla] --> [Karşılaştır ve Yer Değiştir] --> [Sonraki Eleman] --> [Sona Gelildi mi?] --> [Evet: Bitir | Hayır: Tekrarla]
2. Bubble Sort Sözde Kod (Pseudo Code)
Sözde kod daha sade bir tasarım olup gerçek programlama diline çok benzer, ancak basitleştirilmiş şekilde yazılır:
BubbleSort(liste)
Başla:
Tekrarla (liste uzunluğu):
Her iki öğeyi sırayla karşılaştır:
Eğer öğe1 > öğe2 ise yer değiştir.
Döngüyü tamamla.
Sonuç: Sıralı liste
3. Rapor ve Analiz
Rapor, algoritmanın neden seçildiğini, kullanım senaryolarını ve güçlü/zayıf yönlerini açıklamalıdır:
- Bubble Sort basit ve öğrenimi kolay bir algoritmadır, ancak büyük veri kümelerinde daha etkili algoritmalar (Quick Sort, Merge Sort) tercih edilir.
- Zayıflık: Yüksek zaman karmaşıklığı (O(n^2)) nedeniyle büyük veri setlerinde yavaştır.
- Avantaj: Anlaması ve programlaması basit olduğu için küçük veri setlerinde uygundur.
4. Görev Sonucunda Teslim
Çalışmanızda şu bölümleri sistematik bir şekilde hazırlayın:
- Akış şeması (dijital veya elle çizilmiş olabilir).
- Sözde kodu.
- Çalışmanın açıklaması ve raporu (analiz sonuçlarıyla birlikte).
- Net ve anlaşılır bir sunum yazısı.
Genel Hatırlatmalar
- Anlatımı sade ve net bir biçimde yapın.
- Çalışmanızı mutlaka karşılaştırmalı ve algoritmik düzene uygun şekilde hazırlayın.
- İlgili kısımda verilen “analitik dereceli puanlama anahtarı” gibi ölçütleri dikkate alarak notlandırmayı takip edin.
Eğer başka bir algoritma seçmek veya farklı detaylar eklemek isterseniz, size rehberlik edebilirim! ![]()