나는이 사이트를 처음 접했고이 질문은 확실히 연구 수준은 아니지만 오. 저는 소프트웨어 엔지니어링에 약간의 배경 지식이 있고 CSTheory에는 거의 경험이 없지만 매력적입니다. 간단히 말해서이 사이트에서이 질문이 수용 가능한 경우 다음에 대한 자세한 답변을 원합니다.
따라서 모든 재귀 프로그램에는 반복적 인 아날로그가 있다는 것을 알고 있으며 "시스템 스택"과 비슷한 것을 유지하고 반송 주소 등의 환경 설정을 푸시하여 제공되는 대중적인 설명을 이해합니다. .
좀 더 구체적으로, 나는 체인 호출하는 함수가있는 경우 어떻게이 공식이이 진술을 증명하는지 알고 싶습니다 . 또한, F i 가 F j를 호출 할 수있는 조건문이있는 경우 어떻게해야 합니까? 즉, 잠재적 인 함수 호출 그래프에는 일부 강하게 연결된 구성 요소가 있습니다.
반복적 인 변환기를 반복적으로 사용하여 이러한 상황을 처리하는 방법을 알고 싶습니다. 그리고 앞에서 언급 한 손으로 쓴 설명이이 문제에 대해 충분한가? 그렇다면 왜 어떤 경우에는 재귀를 쉽게 제거 할 수 있습니까? 특히 이진 트리의 사전 주문 통과에서 재귀를 제거하는 것은 정말 쉽습니다. 표준 인터뷰 질문이지만 포스트 주문의 경우 재귀를 제거하는 것은 항상 악몽이었습니다.
내가 정말로 묻는 것은 가지 질문입니다.
(1) 재귀를 반복으로 변환 할 수 있다는보다 공식적인 설득력있는 증거가 있습니까?
(2)이 이론이 실제로 존재한다면, 왜 예를 들어, 더 쉽게 사전 주문을 반복 하고 , 너무 많은 주문을 반복 하는가? (제한된 정보 이외)