Introduction to Recursive Programming
暫譯: 遞迴程式設計入門

Manuel Rubio-Sanchez

  • 出版商: CRC
  • 出版日期: 2017-09-06
  • 售價: $2,980
  • 貴賓價: 9.5$2,831
  • 語言: 英文
  • 頁數: 450
  • 裝訂: Paperback
  • ISBN: 1498735282
  • ISBN-13: 9781498735285
  • 相關分類: Computer Graphics
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

相關主題

商品描述

Recursion is one of the most fundamental concepts in computer science and a key programming technique that allows computations to be carried out repeatedly. Despite the importance of recursion for algorithm design, most programming books do not cover the topic in detail, despite the fact that numerous computer programming professors and researchers in the field of computer science education agree that recursion is difficult for novice students.

 

Introduction to Recursive Programming provides a detailed and comprehensive introduction to recursion. This text will serve as a useful guide for anyone who wants to learn how to think and program recursively, by analyzing a wide variety of computational problems of diverse difficulty.

 

It contains specific chapters on the most common types of recursion (linear, tail, multiple, and mutual), as well as on algorithm design paradigms in which recursion is prevalent (divide and conquer, and backtracking). Therefore, it can be used in introductory programming courses, and in more advanced classes on algorithm design. The book also covers lower-level topics related to iteration and program execution, and includes a rich chapter on the theoretical analysis of the computational cost of recursive programs, offering readers the possibility to learn some basic mathematics along the way.

 

It also incorporates several elements to foster pedagogical effectiveness. First, it contains a larger collection of simple problems in order to provide a solid foundation of the core concepts, before diving into more complex material. In addition, one of the book's main assets is the use of a step-by-step methodology, together with specially designed diagrams, for guiding and illustrating the process of developing recursive algorithms. Furthermore, the book covers combinatorial problems and mutual recursion. These topics can broaden students' understanding of recursion by forcing them to apply the learned concepts differently, or in a more sophisticated manner.

 

The code examples have been written in Python 3, but should be straightforward to understand for students with experience in other programming languages. Finally, worked out solutions to over 120 end-of-chapter exercises are available for instructors.

 

 

About the Author

 

Manuel Rubio-Sánchez received MS and PhD degrees in computer science from Universidad Politécnica de Madrid in 1997 and 2004, respectively. Since, he has had a faculty position at Universidad Rey Juan Carlos (Madrid, Spain), where he is currently an associate professor in the Superior Technical School of Computer Science. His teaching has focused on computer programming, ranging from introductory CS1 courses to more advanced courses on algorithms and data structures. He has published several research studies related to recursion in the computer science education conferences. His other research interests include machine learning, and exploratory data analysis and visualization. Finally, he has been a lecturer at St. Louis University (Madrid campus), and has carried out research visits at Université de Cergy-Pontoise (Paris), and the University of California, San Diego.

 

商品描述(中文翻譯)

遞迴是計算機科學中最基本的概念之一,也是關鍵的程式設計技術,允許計算重複進行。儘管遞迴對於演算法設計的重要性,許多程式設計書籍並未詳細涵蓋此主題,儘管許多計算機程式設計教授和計算機科學教育領域的研究者一致認為,遞迴對於初學者來說是困難的。

《遞迴程式設計入門》提供了對遞迴的詳細和全面的介紹。本書將作為任何希望學習如何進行遞迴思考和程式設計的人的有用指南,通過分析各種不同難度的計算問題。

本書包含了有關最常見的遞迴類型(線性、尾遞迴、多重遞迴和相互遞迴)的特定章節,以及遞迴普遍存在的演算法設計範式(分治法和回溯法)。因此,它可以用於入門程式設計課程,以及更高級的演算法設計課程。本書還涵蓋了與迭代和程式執行相關的低層次主題,並包括一章豐富的內容,專門分析遞迴程式的計算成本,讓讀者在學習過程中有機會學習一些基本數學。

本書還融入了幾個元素以促進教學效果。首先,它包含了更多簡單問題的集合,以提供核心概念的堅實基礎,然後再深入更複雜的材料。此外,本書的一大優勢是使用逐步的方法論,結合特別設計的圖示,來指導和說明開發遞迴演算法的過程。此外,本書還涵蓋了組合問題和相互遞迴。這些主題可以通過迫使學生以不同或更複雜的方式應用所學概念,來擴展他們對遞迴的理解。

程式碼範例是用 Python 3 編寫的,但對於有其他程式語言經驗的學生來說應該是容易理解的。最後,為教師提供了超過 120 道章末練習題的詳細解答。

關於作者

Manuel Rubio-Sánchez 於 1997 年和 2004 年分別在馬德里理工大學獲得計算機科學碩士和博士學位。此後,他在雷伊胡安卡洛斯大學(西班牙馬德里)擔任教職,目前是計算機科學高等技術學院的副教授。他的教學專注於計算機程式設計,涵蓋從入門的 CS1 課程到更高級的演算法和資料結構課程。他在計算機科學教育會議上發表了幾篇與遞迴相關的研究。其他研究興趣包括機器學習,以及探索性資料分析和視覺化。最後,他曾在聖路易斯大學(馬德里校區)擔任講師,並在巴黎的瑟爾吉-龐圖瓦茲大學和加州大學聖地牙哥分校進行過研究訪問。