Asimptotik Gösterim
Algoritmaları karşılaştırabilmek için bir algoritmanın zorluk derecesi ölçümüne “Computational Complexity” denir. Aslında problem veya algoritmaların çözüme ulaşmadaki karmaşıklığını ölçmek için kullanılır.Fonksiyon içerisindeki önemsiz kısımlar ve katsayılar atılarak basitleştirilir ve gerçek fonksiyona göre yaklaşık bir değer bulunur. Elde edilen bu yeni etkinlik ölçümüne “Asymptotic Complexity” denir.
Bunun üç türünü göreceğiz: büyük- \Theta Θ gösterimi, büyük-O gösterimi, ve büyük- \Omega Ω gösterimi.
Büyük-O gösterimi: Algoritmanın çalışabileceği en yüksek üst sınırı ifade eder.Yani bu üst sınırdan daha kötü çalışamayacağını gösterir.
Asymptotic upper bound
-f(n) = O(g(n)), eğer sabit bir c ve n0 değeri için
-f(n) >= c.g(n) bütün n >= n0 değerleri için doğruysa
-f(n) ve g(n) pozitif değere sahip fonksiyonlardır.
Örneğin; T(n)=3n²+8n+3 için O(n²) olduğunu gösterelim.
T(n)=3n²+8n+3 g(n)=n²
c.g(n) >= 3n²+8n+3
c.n² >= 3n²+8n+3
3n²+8n²+3n² >= 3n²+8n+3
14n² >= T(n)
n0=1 c=14
Büyük- \Omega Ω :Bazen, üst sınır belirlemeden, bir algoritmanın en az belirli bir süre aldığını söylemek isteriz. Bu durumda büyük-Ω gösterimini kullanırız.
Asymptotic Lower Bound
-f(n) = W (g(n)), eğer sabit bir c ve n0 değeri için
-c.g(n) <= f(n) bütün n >= n0 değerleri için doğruysa
Örneğin; T(n)=4n³+2n²+3 için O(n³) olduğunu gösterelim.
T(n)=4n³+2n²+3 g(n)=n³
c.g(n) <= 4n³+2n²+3
c.n³ <= 4n³+2n²+3
4n³ <= T(n)
Katsayılar atıldığında O(n³) bulunur.
Büyük- \Theta Θ gösterimi:Büyük-Θ gösterimi kullandığımızda, çalışma süresinin üzerinde asimptotik olarak sıkı bir sınır vardır diyebiliriz. "Asimptotik olarak" çünkü sadece n'nin yüksek değerleri için önemlidir. "Sıkı sınır" deriz; çünkü çalışma süresini üstten ve alttan sabit bir çarpana kadar indirebildik.
Asymptotic tight bound
-f(n) = Θ(g(n)), eğer sabit c1, c2, ve n0, değerleri için
-c1.g(n) <= f(n) <= c2.g(n) bütün n >= n0 değerleri için doğruysa
Örneğin;T(n)=2n²+3n+1 için O(n²) olduğunu gösterelim.
T(n)=2n²+3n+1 g(n)=n²
c1.g(n) <= 2n²+3n+1 <= c2.g(n)
c1.n² <= 2n²+3n+1 <= c2.n²
2n² <= 2n²+3n+1 <= 6n²
c1=2 c2=6 n0=1
Bir Sıfır Gücü |
”Bismillahirrahmanirrahim” Resûlullah (sallâllahü aleyhi ve sellem) buyurdu ki: "Ağızların tadını kaçıran [lezzetleri yıkan] ölümü, çokça hatırlayın."(Tirmizi 2307) |
Yazılım,hayallerini elektronların akışına bırakmaktır.
20 Ekim 2017 Cuma
18 Ekim 2017 Çarşamba
Heroku
Heroku nedir?
Heroku, Ruby, Node.js, Java, Python, Clojure, Scala, Go ve PHP ile yazılmış uygulamaları dağıtmanıza, çalıştırmanıza ve yönetmenize izin verir. Kısaca bulut uygulama platformudur.
Heroku Kullanımı
-Kullanmaya başlamadan önce heroku.com bağlantısından üyelik kaydımızı yaptırıyoruz.
-Daha sonra set-up bağlantısından Heroku CLI aracını işletim sistemimize uygun olanı indirip kurulumunu yapıyoruz.
-İşlemlerimizi komut satırı üzerinden gerçekleştireceğiz. (Git versiyon kontrol sistemini kullanmayıda bilmelisiniz.)
-Komut satırında $ heroku login yazıyoruz ve üye olurken kullandığımız e-posta adresini ve parolamızı yazarak giriş yapıyoruz.
-Eğer githubda bulunan projeyi kullanmak istiyorsak öncelikle projeyi bilgisayarımıza indiriyoruz.
-Eğer bilgisayarımızda yeni bir projeyi kullanmak istiyorsak öncelikle git ile projemizi sürüm kontrolü altına alıyoruz.
Komut satırında proje dizinimizi açıyoruz!
-Projemizi herokuya(localde) ekliyoruz.
Komut satırında proje dizinimizdeyken!
-Herokuya eklediğimiz projemizi uzak sunucuya yolluyoruz.
Komut satırında proje dizinimizdeyken!
-Uygulamanın en az bir örneğinin çalıştığından emin olmak için
-Eğer uygulamamızı açmak istersek
*- $ heroku keys:add komutunu girerek heroku public key ortak kullanılmasını sağlıyoruz.
*- $ heroku logs --tail komutu ile heroku üzerinde yapılan aktiviteleri görüntüleriz.
*- Uygulamanızı başlatmak için hangi komutun çalıştırılacağını açıkça bildirmek için uygulamanızın kök dizininde bir metin dosyası olan bir Procfile kullanın. Procfile içerisine web: java -jar target/myApp-1.0.jar projemizin jarını belirtiyoruz.
Heroku, Ruby, Node.js, Java, Python, Clojure, Scala, Go ve PHP ile yazılmış uygulamaları dağıtmanıza, çalıştırmanıza ve yönetmenize izin verir. Kısaca bulut uygulama platformudur.
Heroku Kullanımı
-Kullanmaya başlamadan önce heroku.com bağlantısından üyelik kaydımızı yaptırıyoruz.
-Daha sonra set-up bağlantısından Heroku CLI aracını işletim sistemimize uygun olanı indirip kurulumunu yapıyoruz.
-İşlemlerimizi komut satırı üzerinden gerçekleştireceğiz. (Git versiyon kontrol sistemini kullanmayıda bilmelisiniz.)
-Komut satırında $ heroku login yazıyoruz ve üye olurken kullandığımız e-posta adresini ve parolamızı yazarak giriş yapıyoruz.
$ heroku login
Enter your Heroku credentials.
Email: java@example.com
Password:
-Eğer githubda bulunan projeyi kullanmak istiyorsak öncelikle projeyi bilgisayarımıza indiriyoruz.
$ git clone https://github.com/heroku/myApp.git
-Eğer bilgisayarımızda yeni bir projeyi kullanmak istiyorsak öncelikle git ile projemizi sürüm kontrolü altına alıyoruz.
Komut satırında proje dizinimizi açıyoruz!
$ git init
Initialized empty Git repository in .git/
$ git add .
$ git commit -am "First commit"
-Projemizi herokuya(localde) ekliyoruz.
Komut satırında proje dizinimizdeyken!
$ heroku create myApp
-Herokuya eklediğimiz projemizi uzak sunucuya yolluyoruz.
Komut satırında proje dizinimizdeyken!
$ git push heroku master
-Uygulamanın en az bir örneğinin çalıştığından emin olmak için
$ heroku ps:scale web=1
-Eğer uygulamamızı açmak istersek
$ heroku open
*- $ heroku keys:add komutunu girerek heroku public key ortak kullanılmasını sağlıyoruz.
*- $ heroku logs --tail komutu ile heroku üzerinde yapılan aktiviteleri görüntüleriz.
*- Uygulamanızı başlatmak için hangi komutun çalıştırılacağını açıkça bildirmek için uygulamanızın kök dizininde bir metin dosyası olan bir Procfile kullanın. Procfile içerisine web: java -jar target/myApp-1.0.jar projemizin jarını belirtiyoruz.
Kaydol:
Kayıtlar (Atom)