Dynamic programming is an algorithm design technique that is very difficult to learn and apply. In this paper, we introduce two extensions of the recursion visualization system SRec, intended to support dynamic programming. Firstly, SRec supports the generation of recursion forests (i.e. structured collections of recursion trees) to enhance the understanding of complex, multiple recursive algorithms. Secondly, SRec supports some phases of the systematic development of dynamic programming algorithms: checking recursion redundancy, generation of the dependency graph associated to a recursion tree, and matching the graph to a table. These facilities require high degree of interactivity to be effective. The paper illustrates the new facilities with a dynamic programming algorithm for the sequence alignment problem. We successfully applied the new version of SRec to a number of algorithms, and we are currently using it in a course con advanced algorithms.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.