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

Manuel Rubio-Sanchez

  • 出版商: CRC
  • 出版日期: 2017-09-21
  • 售價: $5,450
  • 貴賓價: 9.5$5,178
  • 語言: 英文
  • 頁數: 451
  • 裝訂: Hardcover
  • ISBN: 113810521X
  • ISBN-13: 9781138105218
  • 海外代購書籍(需單獨結帳)

商品描述

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, and multiple), 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 aimed at helping students master the material. 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.

 

商品描述(中文翻譯)

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

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

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

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

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