Seven Fundamental Principles in the Effectuation of Recursion
DOI:
https://doi.org/10.26438/ijcse/v7i7.6367Keywords:
Recursion, Principles, Programming, Functions, MethodsAbstract
Recursion is a programming methodology used to write efficient computer programs. A recursion based solution to a given programming problem can be translated to an iteration based solution or by using some other programming constructs which do not accord with the methodology of recursion. Computer programmers and software engineers usually face this kind of confusion that which methodology to implement in a particular case or to some specific problem class as there are no candid guidelines regarding the implementation of recursive solution, leaving the developers in a state of taking decisions upon their choices and preferences. This paper explores the issue of recursion in various aspects of developing a computer program and discovers the seven fundamental principles behind the use and implementation of recursion in generating a solution for a problem of specific nature and class. These seven principles can be referred as pillars of foundation on which recursion is employed by many programmers as a tool to generate an effective solution which adheres to the quality standards of software engineering.
References
[1] Ronald L. Graham, Donald E. Knuth, Oren Patashnik, "Concrete mathematics", Addison-Wesley Publishing Company, United States of America, pp. 1-20, 1990, ISBN-13: 978-0201558029.
[2] John Hudson Tiner, "Exploring the World of Mathematics: From Ancient Record Keeping to the Latest Advances in Computers", New Leaf Publishing Group, United States of America, pp. 81-83, 2004, ISBN 978-1-61458-155-0.
[3] Nguyen, V., Deeds-Rubin, S., Tan, T., & Boehm, B. (2007, October). A SLOC counting standard. In Cocomo ii forum (Vol. 2007, pp. 1-16). Citeseer.
[4] Seymore Lipschutz and Marc Lipson, “Schaum`s Outline of Discrete Mathematics”, McGraw-Hill Education, United States of America, pp. 164-263, 2007, ISBN-13: 978-1259062537
[5] H. Schildt, “Java The Complete Reference Ninth Edition”, McGraw-Hill Education, United States of America, pp. 178-179, 2014, ISBN: 978-0-07-180856-9
[6] E. Rich, K Knight, S. B. Nair, “Artificial Intelligence”, McGraw-Hill Education, United States of America, pp. 25-30, 2009, ISBN: 978-0-07-008770-5
[7 ] U. Ray, T.K. Hazra, U.K. Ray, "Matrix Multiplication using Strassen’s Algorithm on CPU & GPU", International Journal of Computer Sciences and Engineering, Vol.4, Issue.10, pp.98-105, 2016.
[8] N. Karthikeyan, "Shortest Route Algorithm Using Dynamic Programming by Forward Recursion", International Journal of Computer Sciences and Engineering, Vol.2, Issue.2, pp.44-48, 2014.
Downloads
Published
How to Cite
Issue
Section
License

This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors contributing to this journal agree to publish their articles under the Creative Commons Attribution 4.0 International License, allowing third parties to share their work (copy, distribute, transmit) and to adapt it, under the condition that the authors are given credit and that in the event of reuse or distribution, the terms of this license are made clear.
