Ağaç veri yapısı üzerinde gezinti için farklı yöntemler bulunuyor. Bunlar preorder, inorder, postorder yöntemleri bulunuyor.
Ağacı gezerken ilgili düğüm ile ilgili işlemi ne zaman çağıracağımıza göre algoritmalar değişiklik gösteriyor.
Neden 2 li arama ağacı demişler ?
Tree Structure dediğimizde gerçekten de doğadaki ağaca benzer bir yapı,
Bilgisayar alanındaki ağaç yapısıda buna benzerdir.
Aslında bu konu Fonksiyonel Programlama içerisinde Kalıtımı, Inheritance over Composition üzerinden nasıl yapabiliriz anlatırken bahsettiğim bir konuydu. Bugün code review sırasında tekrardan karşıma çıkınca yazmak istedim.
Özetle aslında objeleri birleştirmek yeni bir obje oluşturmak istediğimizde
Object.assign veya ... (Object Spread faydalanabilirsiniz.)
a= proto + {name:'onur'}
b= proto + {name:'ali'}
Yukarıda bahsi geçen soruyu çözebilmek için yapmamız gereken yukarıdaki basit bir algoritma yazmak. Öncelikle haftanın günlerini numeric değerlere dönüştürelim.
Bir Array içerisinde dayNames içerisinde tanımlıyoruz.
Bu yazının öncesinde Fetch API Pratikleri — 1 yazısını okumanızı öneririm. Bu seferki senaryomuz şu şekilde …
Aşağıdaki Text alanına kullanıcı adını yazdığımızda debounce (0.5s) etirerek. Yani her keyboard tuşuna bastığımızda arama değilde en az 0.5 saniye bekledikten sonra sunucuda arama yapmasını ve bu aramanın sonucunu ekranda göstermesini isteyoruz.
WebAPI kavramını bilmeyenler için ufak bir resim ile olayı özetliyeyim. Bizim yazdığımız JS kodları V8 Engine içerisinde işletilir. Ama bu engine sadece sadece JS işletmeyi gerçekleştirir. Bizim dosya sistemi, network, ekran kartı, ses kartı vb ile iletişimi sağlayacak bir takım C/C++ kütüphanelerindeki API ihtiyacımız varki işletim sistemindeki kaynaklara erişebilelim.
İşte…
Öncelikle buradaki kavramlar birazda JavaScript üzerinden olduğu için öncelike OOP(Object Oriented Programlama) yer alan Association, Composition ve Aggregation kavramlarından bahsedelim
Bu yazıya başlamadan önce bu konu yazmış olduğum ilk 2 yazıyı okumanızı öneririm.
Bu yazıda bildiğimiz Class ve extends yöntemi ile kalıtım yönteminin neden sorunlar çıkardığını bunun yerine Inheritance over Composition nasıl yapacağımızı analiz edeceğiz. …
Favor composition over inheritance → Composition, kalıtıma tercih edin derken Java’daki sınıflar için düşünüldüğünde bu kavram çok doğru, çünkü sınıf kalıtım konusunun çok ciddi yan etkileri ve zararları bulunuyor. Aşağıdaki konulara bir önceki yazımız Object Composition konusunda değinmiştik.
Aşağıdaki kısım Eric Eliott What “you were taught was not prototypal inheritance”…