İstatistik yazdır
- Algoritmalar kursu
- Orta seviye
- Ders 24/80
- 4 dk
En düşük, en yüksek ve medyan puanı yazdırırsın.
İstatistik yazdır
Son adımda sıralı dizinin en düşük ve en yüksek puanını yazdıracağız. Sıralı dizi [78, 85, 88, 90, 92] ise min 78, max 92.
Sıralı dizide min ilk eleman sorted[0], max son eleman sorted[-1]. İkisini ayrı satırda yazdırabiliriz.
Bu, projenin son parçası; tüm fonksiyonlar bir arada çalışır.
Min ve max
Sıralı bir dizide en küçük değer ilk elemandır sorted[0], en büyük değer son elemandır sorted[-1]. Arama gerekmez.
Bu, sıralamanın bir yan faydasıdır: sıralı veri üzerinde min/max sorgusu O(1) olur. Sırasız veride ise O(n).
İstatistik hesaplarında bu fark önemlidir; sıralı tutmak hız kazandırır.
Uygulama İstatistik yazdır
print_stats(scores) yaz. Sırala, min ve max'ı yazdır. print_stats(init_scores()) ile 78 92 yazdır.
Başlangıç kodu
def init_scores():
# Puan dizisi döndür
return [85, 92, 78, 90, 88]
def merge_sort_scores(scores):
# Skorları sırala
if len(scores) <= 1:
return scores
mid = len(scores) // 2
left = merge_sort_scores(scores[:mid])
right = merge_sort_scores(scores[mid:])
return merge(left, right)
def top_k(scores, k):
# En büyük k taneyi al
sorted_scores = merge_sort_scores(scores)
return sorted_scores[-k:]
def print_stats(scores):
# İstatistik yazdırÖrnek çözüm
def merge(left, right):
result = []
i = j = 0
while i < len(left) and j < len(right):
if left[i] <= right[j]:
result.append(left[i]); i += 1
else:
result.append(right[j]); j += 1
result.extend(left[i:]); result.extend(right[j:])
return result
def init_scores():
# Puan dizisi döndür
return [85, 92, 78, 90, 88]
def merge_sort_scores(scores):
# Skorları sırala
if len(scores) <= 1:
return scores
mid = len(scores) // 2
left = merge_sort_scores(scores[:mid])
right = merge_sort_scores(scores[mid:])
return merge(left, right)
def top_k(scores, k):
# En büyük k taneyi al
sorted_scores = merge_sort_scores(scores)
return sorted_scores[-k:]
def print_stats(scores):
# İstatistik yazdır
sorted_scores = merge_sort_scores(scores)
print(sorted_scores[0], sorted_scores[-1])
print_stats(init_scores())Beklenen çıktı
78 92
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 İstatistik yazdır: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
Min |
sorted[0] |
Max |
sorted[-1] |
Sırala |
merge_sort_scores |
Top N |
[-k:] |
2 Sıralı dizide max nerededir?
- Son eleman Doğru cevap
- Ortanca
- Rastgele
- İlk eleman
Açıklama: Son eleman
3 Min erişim
print(sorted_scores[____])
print(sorted_scores[0])
Açıklama: 0 doğru.