Using The Srec Visualization System To Construct Dynamic Programming Algorithms

INTERNATIONAL JOURNAL OF ENGINEERING EDUCATION(2017)

引用 23|浏览0
暂无评分
摘要
Dynamic programming is a demanding algorithm design technique. In this article, we introduce an extension of the recursion visualization system SRec, intended to support dynamic programming. The contributions of the chapter are threefold. Firstly, we present SRec support to several phases of the systematic development of dynamic programming algorithms: generation of recursion trees, checking recursion redundancy in a recursion tree, 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 article illustrates these facilities with the construction of a dynamic programming algorithm for the 0/1 knapsack problem. Secondly, we address several pragmatic issues: usage in educational scenarios, our experience with dynamic programming algorithms, and limitations. Thirdly, the article reports on the results of an evaluation of the system usability. The results were very positive, providing evidence on the adequateness of extensions. Furthermore, they allowed identifying minor opportunities for improvements.
更多
查看译文
关键词
algorithms, multiple recursion, dynamic programming, program visualization, human-compter interaction, SRec
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要