Which of the following statements are CORRECT? 1) Static allocation of all data areas by a compiler makes it impossible to implement recursion. 2) Automatic garbage collection is essential to implement recursion 3) Dynamic allocation of activation records is essential to implement recursion 4) Both heap and stack are essential to implement recursion

Which of the following statements are CORRECT? 1) Static allocation of all data areas by a compiler makes it impossible to implement recursion. 2) Automatic garbage collection is essential to implement recursion 3) Dynamic allocation of activation records is essential to implement recursion 4) Both heap and stack are essential to implement recursion Correct Answer 1 and 3 only 

Statement 1 – True

Dynamic allocation of memory is required for implementing recursion using function call stack as number of calls is not known in advance.

Statement 2 – False

Having automatic garbage collection is not essential to implement recursion. Languages have specific functions for manual garbage management.

Statement 3 – True

Dynamic allocation of memory is required for implementing recursion as in recursion, we cannot determine in prior, how many times the function will be called.

Statement 4 - False

Recursion needs a stack structure. If heap is used, it needs to be simulated into a stack for recursion. Heap is not needed for function calls. It is generally used for dynamic memory allocation by user.

In any case, both stack and heap are not required at the same time. Any one of them is sufficient to implement recursion.

Hence statement 1 and 3 are true.

Related Questions

In the question below, are given a statement followed by three courses of actions numbered I, II and III. On the basis of the information given, you have to assume everything in the statement to be true, and then decide which of the suggested course of action logically follow (s) for pursuing. Statement: The India Risk Survey 2017 report ranks 'Information & Cyber Insecurity' as the biggest risk facing Indian companies. Indian organizations, both public and private, had witnessed over 27,000 incidents of security threat, from January 2017 till June 2017 alone. Phishing, scanning/probing, website intrusions and defacements, virus/malicious code, ransomware, Denial of Service attacks, and data breaches are some ways in which hackers attack business websites, which can cause operational disruptions and potentially steal sensitive information. Small and medium businesses (SMBs), unfortunately, have been seeing rising incidences of cybercrime. In fact, 70 percent of cyberattacks occur at organizations with lesser than 100 employees  Courses of action: I. Mandate basic security practices and policies for all employees, such as 2-factor authentication, internet use guidelines and create and enforce rules on handling and protecting sensitive data. Conduct frequent training to sensitize employees about opening suspicious emails, encrypting their data, using strong passwords on their devices, installing security apps, and limiting activity over public Wi-Fi. Implement and enforce incident reporting to help ensure that even the smallest breach is report to management as well as the IT teams. II. Basics still matter and are some of the best defenses against viruses, malware, and other online threats. Assess the assets that are most at risk - data, servers, network - and ensure that the systems are updated with the latest security software, web browser, and operating system. Implement firewall security and run antivirus software after each update.  III. Ensure regular backup of all critical data - whether stored in-house or on the cloud. Run scheduled attack drills and stress tests to identify vulnerabilities and ensure that data restoration and business continuity are executed as planned.