Algoritma Analizi ve Big O (Time Complexity, Space Complexity)
Vložit
- čas přidán 30. 07. 2024
- Bu videoda iyi kod nasıl yazılır, karmaşıklık analizi ve Big O nedir nasıl hesaplanır bunlardan bahsettim. Keyifli seyirler.
00:00 - 00:40 Giriş
00:40 - 2:55 En iyi kod
2:55 - 4:18 Big O
4:18 - 5:31 O(n)
5:31 - 6:21 Best, Avrg., Worst Case
6:21 - 7:19 O(1)
7:19 - 8:39 BigO Hesaplama-1
8:39 - 9:36 O(n^2)
9:36 - 10:07 BigO Hesaplama-2
10:07 - 10:43 O(logn)
10:43 - 10:56 Kapanış
muazzam bir anlatım..güzel anlatım gerçekten ayrı bir disiplin ayrı bir yetenek bence
Değerli düşünceleriniz için çok teşekkür ederim.
Merhaba Hocam, yazılım mülakatı için veri yapıları konusunu araştırırken videonuza denk geldim. Çok sade ve anlaşılır bir anlatım olmuş. Emeğinize sağlık.
Teşekkür ederim Şafak, umarım mülakatın güzel geçer🙏🏻
hocam mukemmelsiniz lütfen devami gelsin çok teşekkürler
Süper süper bir anlatım.
mükemmel bir anlatım
Cok basit ve yalin anlatim, tesekkürler. Ayrica Kafka stream ile yeni videolarinizi bekleriz 👍
Teşekkür ediyorum, sağolun. Kafka stream gelecek planlar arasında var.
Sizleri görüyorum okuldaki hocalara düşman oluyorum. Çok teşekkürler hocam
Yok yapmayın öyle şeyler 😊 teşekkürler 🙏🏻
Guzel anlatimdi bence devam etmelisiniz videolarin devami gelecekmi acaba?
Video'lar devam ediyor da algoritma serisini kastettiyseniz ona biraz ara vermiştim, ancak yakın zamanda bu seriye yeni videolar gelecek.
Hocam peki, karar yapıları burada ne oluyor? döngülerden ve atamalardan bahsettik ancak bir if bloğu nedir?
If bloğu ve diğer karar yapıları 1 işlem adımında tamamlandığı için O(1) dir.
Teşekkürler. @@sezginseven
for (int i = 0; i < strs.Length; i++)
{
Console.WriteLine(strs[i]);
}
for (int i = 0; i < strs.Length/2; i++)
{
Console.WriteLine(strs[i] +" " + strs[strs.Length-i]);
}
hocam bu iki kod arasında time complexity olarak fark yokmu dizinin boyutu 10 olsun biri 10 defa dönecek diğeri 5 defa.
videoda 5 defa dönenin 10 defa dönenden daha iyi olduğu söylendi
ama şu da var sabit sayı ile çarpı artı bölü gibi işlemlerin bir anlamı yok yani O(n/2) = O(n) deye biliriz.
bu durumda bu döngünün Length/2 defa dönmesinin her hangi bir artısı yokmu demek oluyor. böyle düşününce daha hızlı çalışır gibi geliyor.
Burada arrayin boyutunu nicelik olarak hesaba katmıyoruz çünkü worst case tarafını düşündüğümüzde bu boyut çok çok fazla da olabilir. Bilgisayar bizim beynimiz gibi çalışmaz, onun için /2 veya *2 sonsuzun yanında hiç bir şeydir. Buradaki çarpanların bir önemi yoktur. O(n/2) şeklinde bir gösterim yok, videoda öyle denmesinin sebebi ise O(N)’deki N : işlem sayısı ve bu sayı arttıkça time complexity yükselecektir ve çalışması daha fazla zaman alacaktır. Özetle N bir arrayin boyutu değil, işlem sayısıdır.
@@sezginseven anladım hocam teşekkürler.
tamam da space complexity'yi anlatmadin?