İPUCU

Yazılım ve Matematik Matematiksel problemlerin yazılıma entegre edildiği kategoridir.

Seçenekler

Big-O Notation -1

03-12-2018 17:27
#1
AngelRayt - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2015
Nereden:
Python
Mesajlar:
1.304
Teşekkür (Etti):
62
Teşekkür (Aldı):
243
Konular:
211
Evet, Kavramları tanımakla başlayalım.



O(n) Linear



Algoritma (Algorithms) : Bir problem için üretilen çözüm yolu.
Örneğin 1 den 100e kadar olan sayılar toplamı kaçtır?

Çözüm 1:
Kod:
def bul(n):
    n = int(n)
    sonuc = n*((n+1)/2)
    return sonuc

>>>
5050.0
CPU times: user 0 ns, sys: 0 ns, total: 0 ns
Wall time: 85.8 µs

Çözüm 2 :
Kod:
def bul(n):
    n = int(n)
    ts = n-1+1
    ort = (n+1)/2
    return ts*ort

5050.0
CPU times: user 0 ns, sys: 0 ns, total: 0 ns
Wall time: 259 µs

İlk kod daha hızlı çalışmış. Şimdi aynı kodları tekrardan çalıştırıyorum ve değerlere tekrar bakıyorum.

Wall time: 59 µs
Wall time: 54 µs
Wall time: 340 µs
Wall time: 416 µs


Demek ki bu yöntem karşılaştırmak için iyi bir yöntem değil. Çünkü her seferinde farklı sonuçlar verebilir, donanım açık uygulamalar vesaire. Her şey bu değere etki edebilir.

Peki nasıl karşılaştırma yapabiliriz? Yukarıda bir soruna 2 tane çözüm verdik ama hangisi daha etkili?
Kullanıcı İmzası




İşletim SistemiLinux Mint Cinnamon 18.03

Ekran Kartı : Nvida GT840M

İşlemci
Intel® Core™ i3-5005U İşlemci
3M Önbellek, 2,00 GHz



Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı