Sol kıvrımın sola yaslanmış ağaçlar ürettiğinin ve sağa kıvrılmanın sağa yaslanmış ağaçlar ürettiğinin farkındayım, ancak bir kıvrıma uzandığımda, bazen ne tür bir kıvrım olduğunu belirlemeye çalışırken baş ağrısına neden olan düşüncede tıkılıp kalıyorum. uygun. Genelde tüm sorunu çözerim ve sorunuma uygulandığı şekilde katlama işlevinin uygulanmasına adım atarım.
Yani bilmek istediğim şey:
- Sola mı yoksa sağa mı katlanacağına karar vermek için bazı temel kurallar nelerdir?
- Karşılaştığım sorun göz önüne alındığında hangi tür katlamayı kullanacağıma hızlıca nasıl karar verebilirim?
Örnek olarak Scala'da (PDF), katlama adı verilen ve eleman listelerinin bir listesini tek bir listede birleştiren bir işlev yazmak için kullanılan bir örnek vardır . Bu durumda, doğru katlama doğru seçimdir (listelerin birleştirilme şekli göz önüne alındığında), ancak bu sonuca varmak için biraz düşünmem gerekiyordu.
Bölünme, (işlevsel) programlamada çok yaygın bir eylem olduğu için, bu tür kararları hızlı ve güvenli bir şekilde verebilmek istiyorum. Peki ... herhangi bir ipucu?