Algoritma Üzerinden Çalışma Zamanı Hesaplamaları | Algoritma Analizi

  Рет қаралды 15,245

Hakan Cem Gerçek

Hakan Cem Gerçek

Күн бұрын

Algoritma'nın kodlar üzerinden analizi.
#algoritma #algoritmaanalizi
Instagram: hkn.cem
Twitter: eightjune95

Пікірлер: 42
@didem3821
@didem3821 10 ай бұрын
Şu konuyu mantığıyla anlatan tek kişi sizsiniz , çok teşekkürler
@siberstar8657
@siberstar8657 6 ай бұрын
Harika!!! Lafı dolandırmadan en iyi şekilse anlatmışsınız çok teşekkür ederim! Sizin gibi anlatan olduda biz mi anlamadık. Lütfen videolarınız artsın ❤
@hakancemgercek
@hakancemgercek 6 ай бұрын
Teşekkür ederim, umarım faydası olmuştur. Yakın zamanda yeni videolar çekmeyi planlıyorum, iyi çalışmalar :)
@ScienceScope7
@ScienceScope7 Жыл бұрын
teşekkürler hocam çok yardımcı oldunuz
@sena_1616
@sena_1616 8 ай бұрын
izlediğim en açık ve net anlatım teşekkürler
@hakancemgercek
@hakancemgercek 8 ай бұрын
Rica ederim, iyi çalışmalar
@Ayse-hc7ou
@Ayse-hc7ou Ай бұрын
anlatımın gayet iyi yazılımla ilgili daha fazla video çekip yüklersen bence başarılı olacaktır. dersten sonra senin videonla konuyu daha iyi anladım sağ ol :)
@mutifam561
@mutifam561 2 ай бұрын
SÜPER ANLATIM TEBRİK EDERİM
@efc0734
@efc0734 9 ай бұрын
Bilgisayar mühendisliği Doktora öğrencisiyim. Ben bile şuana kadar bu kadar net anlamamıştım bu konuyu. Çok teşekkürler. Basit ama çok temiz ve güzel anlatım 😊
@hakancemgercek
@hakancemgercek 9 ай бұрын
Ben teşekkür ederim, işinize yarıyorsa ne mutlu bana. İyi çalışmalar, başarılar
@engn5608
@engn5608 7 ай бұрын
temiz ve kaliteli bir anlatim olmus, tesekkurler.
@hakancemgercek
@hakancemgercek 7 ай бұрын
Rica ederim, iyi çalışmalar
@mustafabye
@mustafabye 3 ай бұрын
harika bir anlatim olmus...
@teknodayi694
@teknodayi694 11 ай бұрын
Algoritmanın yazımı ile ayni zamanda ingilizce önemli anladığım kadarıyla ve çok güzel bunu linuxta kullanmak isterim umarım yararı olur beklediğim ve aradığım tarzda bir video script yazma ile ilgili bir video var mı acaba?
@onurozek6769
@onurozek6769 2 ай бұрын
İf ve while bakalım demişsiniz sonda ama sadece while bakmışsınız. Video yarım mı kaldı acaba devamını bulamadım. Ama for harika anlatmışsınız maşallah.
@hakancemgercek
@hakancemgercek 2 ай бұрын
if’in içinde başka bir döngü yoksa ve koşul sabit zamanda değerlendirilebiliyorsa, if’in çalışma zamanı her zaman O(1)’dir. if yapısı, bir döngüyle birlikte n kez çalıştırılıyorsa, elbette toplam çalışma zamanı O(n) olur. Ancak bu, if yapısının kendi başına değil, döngünün etkisiyle artan bir çalışma zamanıdır. if ile ilgili en fazla bu kadarını söyleyebiliriz zaten, iyi çalışmalar.
@onurozek6769
@onurozek6769 2 ай бұрын
@ teşekkürler if de for içinde de olsa n den etkilenmiş if içinde şartı sağlıyorsa başka , sağlamıyorsa başka bir komutu çalıştıracak ya ! öyle ise çalışacak olan n değil de şarta bağlı olarak n den daha düşük olmayacak mı ne bilim n\2 gibi misal. bir de while ve for aynı etkiye sahip sanırım ben öyle anladım.
@hakancemgercek
@hakancemgercek 2 ай бұрын
Tabi, şöyle ki; if kaç kez çalıştırılacağı döngüye bağlıdır (örneğin, n kez). Ancak, if koşulunun ne sıklıkla doğru veya yanlış olacağı, şarta bağlıdır. Bu nedenle toplam çalıştırma sayısı genellikle en fazla n olur, ama bu sayı koşula göre n/2, n/3 gibi bir değere düşebilir. For döngüsü, genelde sabit bir iterasyon sayısına sahiptir. While döngüsü, koşula bağlı olarak farklı sayıda iterasyon yapabilir. Sonuç: if için toplam çalışma, en kötü durumda döngünün iterasyon sayısı (örneğin, n) kadar olur, ama gerçek sıklık, koşulun sağlanma oranına göre azalabilir.
@Adream-fftr
@Adream-fftr 3 ай бұрын
Hocam dk 27:11 de bu dongülerin kendi içinde big-o değeri doğru ama big-o = en kotu durum analizi oldugu icin zaman karmasiklginda ard arda olan dongulerden yavas calisan yani log(n) cevap olmaz mi cunku yanliş bilmiyorsam log(log(n)) karmasikligi log(n)e gore daha hizli calisiyor
@hakancemgercek
@hakancemgercek 3 ай бұрын
Eğer bu algoritmada bir if döngüsü olsaydı ve program bu if koşullarından birine göre sonlansaydı dediğin sonuç kabul edilirdi lakin burada iki adet "for" döngüsü var. Yani her halukarda iki döngü de çalışmak zorundadır. Burada zaten "toplam" çalışma zamanını hesapladık ki onun sonucu da O(loglogn)'dir. Ancak eğer genel çalışma zamanını hesaplayacak olsaydık senin dedediğin gibi O(logn) olurdu çünkü baskın terim O(logn)'dir.
@Adream-fftr
@Adream-fftr 3 ай бұрын
kusura bakmayin hocam cuma algoritma analizi dersinin sınavi var ondan tam oturtmak için soruyorum. O halde döngüler ard arda oldugu için T(n) toplam çalışma zamanı (log(n)(ilk for)+(log(log(n)(2. For)) olmaz mı bi de soruda T(n) sorulunca her zaman toplam diye mi anlamalıyız veya O(n) sorulunca da soruda belirtilmemiş ise hep en geç çalışanı yani baskın olanı mı almalıyız ?
@hakancemgercek
@hakancemgercek 3 ай бұрын
​​@@Adream-fftr Estağfurullah, sorun oldukça sor. Şöyle düşün O(loglogn), O(logn)'den çok daha yavaş büyür. Dolayısıyla sınavda bu tipte bir soru karşına çıkarsa O(logn) olarak seç.
@finaldestruction6652
@finaldestruction6652 2 ай бұрын
n+1 + n +1 2n+2 değil mi
@elifcihat
@elifcihat 8 ай бұрын
tesekkurler
@hakancemgercek
@hakancemgercek 8 ай бұрын
Rica ederim, iyi çalışmalar
@isocnt
@isocnt 3 ай бұрын
16.40 dan önceki sorularda f(n) bulunurken döngülerin sonundaki şart kontrolünü f(n) e ekledik ama 16.40 daki soruda i 0 j 0x olduğu durumda j bir şart kontrolü yapıyor ama yine de f(n) bundan etkilenmedi aynı şekilde en dıştaki döngüde n kere dönüyor ancak n+1 tane şart kontrolü yapıyor ama şart kontrolü yüzünden olan +1 leri f(n) e katmadık diye anladım neden acaba
@hakancemgercek
@hakancemgercek 3 ай бұрын
Öncelikle 16:40'taki örnekte i, n'e kadar giderken, j ise i'ye kadar gider. Her iki döngüde de her zamanki gibi zaten halihazırda son durum kontrolü yapılır ancak j her seferinde i'ye kadar gittiği için karışıklık olmasın diye örüntüyü yakaladık ve soruyu o şekilde çözdük. Örüntümüz ardışık sayıların toplam formülüdür. O formülden de çalışma zamanını hesapladık. f(n)'e takılma, o sadece bir formül. Mantığı kavramalısın. Buradaki mantık, algoritmanın çalışma koşullarının yerine getirilirken nasıl ilerlediğidir.
@isocnt
@isocnt 3 ай бұрын
@ teşekkür ederim hocam
@hakancemgercek
@hakancemgercek 3 ай бұрын
Rica ederim, iyi çalışmalar
@abcdef3893
@abcdef3893 6 ай бұрын
Merhaba, 18:42'de i değişkeni n'ye kadar gitti ve n^2 bulundu. 22:52'de k nereden geldi? 2^k yerine 2^n olması gerekmez mi? Ya da k olarak yazılacaksa neden 18:42'de k yerine n kullanıldı? İki örnekte de i>=n olduğunda döngü sonlanıyor. Teşekkürler
@hakancemgercek
@hakancemgercek 6 ай бұрын
Şimdi öncelikle 22:52'deki for döngüsünde, i'nin artış koşuluna dikkat etmeni istiyorum. i her seferinde 2'nin katları şeklinde artıyor. Dizi n boyutlu ama i'nin hangi 2. katında son duruma geleceğimi kesin olarak hesaplayamayacağım için k'yı kullanıyorum. Diyorum ki, 2^k'ya ulaşıldığında döngü sonlansın yani i>=n durumunu sağlasın. Yani 2^n değil, 2^k olması gerekir. i = 2^k , 2^k >=n , k = logn. 18:42'deki for döngüsünde i değişkeni, her seferinde 1'er 1'er artıyor. Yani 22:52'deki for döngüsünün aksine dizinin boyutu olan n'e kaç adımda ulaşacağımı hesaplayabilirim. Bu hesap da n(n+1)/2 olduğu için direkt, n^2 olarak bulunur. Burada, k'yı kullanmaya gerek yoktur çünkü hesaplayamadığımız, bilinmeyen bir durum yoktur. Umarım açıklayıcı olmuştur. Kafana takılan bir yer varsa yazabilirsin yine
@Someone-sv8hj
@Someone-sv8hj 8 ай бұрын
Merhaba anlatımınız için teşekkürler. Aklıma bir şey takıldı 28:18'de for döngüsü logn kez çalışır fakat içerisindeki kod satırı n kez çalışması gerekmez mi ? yani içerdeki kod satırı için n.n olmalı diye düşündüm ( örneğin önceki bir for döngüsünde (n+1) kez çalışınca içerisindeki kod satırı n kez çalışmıştı )
@hakancemgercek
@hakancemgercek 8 ай бұрын
21:30 'da tam olarak bu for döngüsünün aynısını var (sadece j yerine i var) ve orada da anlattığım gibi, bu örnekteki for döngüsünün ilerleyişi her seferinde i'nin 2 ile çarpılarak devam etmesinden dolayı son durum olan n'e logaritmik bir yaklaşım söz konusudur. Yani verdiğin örnekteki gibi n+1 kez çalışmasından farklıdır ( farkı, i = 2^k, k=logn olması). İstersen orayı tekrar incele, soruna çok daha rahat cevap bulabilirsin. Teşekkürler, iyi çalışmalar
@Someone-sv8hj
@Someone-sv8hj 8 ай бұрын
@@hakancemgercek Bu sefer tam olarak anladım çok teşekkür ederim.
@hakancemgercek
@hakancemgercek 8 ай бұрын
Rica ederim ^^
@dogukansume2967
@dogukansume2967 10 ай бұрын
merhaba dakika 16.40 daki soruda dış döngü ilk başta n+1 kere döndü iç ise n kere sonra iç döngü n*(n+1)/2 kere döndü sonuç olarak ilk başan gelen n*(n+1)/2*n den dolayı n3 olmazkı karmaşıklık size zahmet cevaplarsanız sevinirim
@hakancemgercek
@hakancemgercek 10 ай бұрын
1. Dıştaki döngü n+1 kez dönmüyor. 2. İçteki döngü de n kez dönmüyor. İçteki döngü hiç olmasaydı bile en dıştaki döngü n defa çalışacaktı. En son çalışmadan sonra bir kez de döngü şartı kontrolü yapıldığı için sadece for satırı n+1 kez çalışacaktır. Sanırım konuyu tam olarak oturtamamışsın. En baştan izlemeni tavsiye ediyorum.
@Shadow35761
@Shadow35761 Ай бұрын
for (i = 0; i < n; i++) { // Dış döngü for (j = 0; j < n; j++) { // İç döngü if (x < 6) { // Şart kontrolü c = a[i]; // Atama işlemi } ++x; // Artırma işlemi } } Hocam bundan ne gelir Fn
@hakancemgercek
@hakancemgercek Ай бұрын
T(n) = O(n²)
@yavbennebilim
@yavbennebilim 3 ай бұрын
hocam dakika 10dakş örnekte nasıl 2n+3 bulduk
@hakancemgercek
@hakancemgercek 3 ай бұрын
for döngüsünün koşul satırı ---> n+1 kez for döngüsünün içindeki ifade ---> n kez return S; ifadesi ---> 1 kez çalışır (Aslında S=0 ifadesi de sayılabilir ancak zaten sabit sayılar ve katsayılar ihmal edilir. 3 de olsa 4 de olsa 100 de olsa bir etkisi yoktur) Toplam : 2n+3 o da O(n)'dir
Koddan Karmaşıklık Analizi Yapılması
14:09
BilgisayarKavramlari
Рет қаралды 78 М.
Karmaşıklık Analizi Örnekleri
19:44
Kenan İnce
Рет қаралды 31 М.
Как Ходили родители в ШКОЛУ!
0:49
Family Box
Рет қаралды 2,3 МЛН
Counter-Strike 2 - Новый кс. Cтарый я
13:10
Marmok
Рет қаралды 2,8 МЛН
Algoritma Analizi ve Big O (Time Complexity, Space Complexity)
10:57
Trakyalı Terapist - 384. Bölüm (Güldür Güldür Show)
19:04
Güldür Güldür
Рет қаралды 2,4 МЛН
Big O Notasyonu - Örneklerle - Time Complexity
22:07
Dilruba Köse
Рет қаралды 22 М.
Odağını Kaybetmeden Saatlerce Nasıl Çalışabilirsin?
15:25
Barış Özcan
Рет қаралды 1,1 МЛН
Devletin Ta Kendisi: Doğu Bey | Kurtlar Vadisi Pusu
2:18:09
Kurtlar Vadisi Pusu
Рет қаралды 1,3 МЛН
Algoritma Analizi ve Big-O (Algoritma Analizi 1)
37:15
BilgisayarKavramlari
Рет қаралды 304 М.
Как Ходили родители в ШКОЛУ!
0:49
Family Box
Рет қаралды 2,3 МЛН