Bu sitede yeniyim ve bu soru kesinlikle araştırma seviyesi değil - ama iyi. Yazılım mühendisliğinde biraz arka planım var ve CSTheory'de neredeyse hiç yok, ama çekici buluyorum. Uzun bir hikaye kısaca anlatmak gerekirse, bu soru bu sitede kabul edilebilirse aşağıdakilere daha ayrıntılı bir cevap istiyorum.
Yani, her özyinelemeli programın yinelemeli bir analogu olduğunu biliyorum ve "sistem yığını" na benzer bir şey koruyarak ve dönüş adresi vb. Gibi ortam ayarlarını zorlayarak bunun için sunulan popüler açıklamayı anlıyorum. .
Biraz daha somut olmak, (resmi olarak) işlevini çağıran durumlarda bu ifadeyi nasıl kanıtladığını görmek . Ayrıca, bir bazı çağrı yapmasına neden olabilecek bazı koşullu ifadeler varsa ne olur ? Yani, potansiyel fonksiyon çağrısı grafiğinde kuvvetle bağlı bazı bileşenler bulunur.F i F j
Bu durumların nasıl tekrarlanabileceğini bilmek istiyorum, yinelemeli dönüştürücüye özyinelemeliyiz. Daha önce bahsettiğim el yıkama açıklaması bu sorun için gerçekten yeterli mi? Yani neden bazı durumlarda özyinelemeyi kaldırmayı kolay buluyorum. Özellikle, bir İkili ağacın ön sipariş geçişinden özyinelemeyi kaldırmak gerçekten kolaydır - bu standart bir röportaj sorudur, ancak post order durumunda özyinelemeyi kaldırmak benim için her zaman bir kabus olmuştur.
Gerçekten sorduğum şey soru
(1) Özyinelemenin yinelemeye dönüştürülebileceğine dair daha resmi (ikna edici?) Bir kanıt var mı?
(2) Bu teori gerçekten dışarıdaysa, neden ön siparişi yinelemeyi daha kolay ve postorder'ı bu kadar zor buluyorum ? (sınırlı zekam dışında)