{"title":"Recursive and Dynamic Programming","authors":"","doi":"10.1145/3568325.3568333","DOIUrl":null,"url":null,"abstract":"is easier to solve if its solution is known or if it is an instance of the original problem but over a smaller data set. For example, if you have to sum eight numbers, you may divide the task into two subtasks of summing four numbers each, and then add the two results. Each subtask may be further divided into two subtasks of adding a pair of numbers. A problem is typically divided into subproblems of the same kind in recursive programming, and the same solution procedure is applied to each of the subprob lems, further subdividing them. A recursive program has to specify the method of problem decomposition and solution combination and also the solutions for the very smallest subproblems that cannot be decomposed any further. The theoretical justification of recursive programming is mathematical induc tion. In fact, recursion and induction are so closely linked that they are often mentioned in the same breath; we ought to have used the term “inductive pro gramming” for this style of programming.","PeriodicalId":302246,"journal":{"name":"Effective Theories in Programming Practice","volume":"13 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Effective Theories in Programming Practice","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3568325.3568333","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
is easier to solve if its solution is known or if it is an instance of the original problem but over a smaller data set. For example, if you have to sum eight numbers, you may divide the task into two subtasks of summing four numbers each, and then add the two results. Each subtask may be further divided into two subtasks of adding a pair of numbers. A problem is typically divided into subproblems of the same kind in recursive programming, and the same solution procedure is applied to each of the subprob lems, further subdividing them. A recursive program has to specify the method of problem decomposition and solution combination and also the solutions for the very smallest subproblems that cannot be decomposed any further. The theoretical justification of recursive programming is mathematical induc tion. In fact, recursion and induction are so closely linked that they are often mentioned in the same breath; we ought to have used the term “inductive pro gramming” for this style of programming.