算法(4th ed)(4):基础——基础编程模型 3

阅读数:21 2019 年 10 月 26 日 09:58

算法(4th ed)(4):基础——基础编程模型 3

我们学习算法的方法是用 Java 编程语言编写的程序来实现算法。这样做是出于以下原因:

  • 程序是对算法精确、优雅和完全的描述;
  • 可以通过运行程序来学习算法的各种性质;
  • 可以在应用程序中直接使用这些算法。

相比用自然语言描述算法,这些是重要而巨大的优势。

这样做的一个缺点是我们要使用特定的编程语言,这会使分离算法的思想和实现细节变得困难。我们在实现算法时考虑到了这一点,只使用了大多数现代编程语言都具有且能够充分描述算法所必需的语法。

我们仅使用了 Java 的一个子集。尽管我们没有明确地说明这个子集的范围,但你也会看到我们只使用了很少的 Java 特性,而且会优先使用大多数现代编程语言所共有的语法。我们的代码是完整的,因此希望你能下载这些代码并用我们的测试数据或是你自己的来运行它们。

我们把描述和实现算法所用到的语言特性、软件库和操作系统特性总称为基础编程模型。本节以及 1.2 节会详细说明这个模型,相关内容自成一体,主要是作为文档供读者查阅,以便理解本书的代码。我们的另一本入门级的书籍 An Introduction to Programming in Java: An Interdisciplinary Approach 也使用了这个模型。

作为参考,图 1.1.1 所示的是一个完整的 Java 程序。它说明了我们的基础编程模型的许多基本特点。在讨论语言特性时我们会用这段代码作为例子,但可以先不用考虑代码的实际意义(它实现了经典的二分查找算法,并在白名单过滤应用中对算法进行了检验,请见 1.1.10 节)。我们假设你具备某种主流语言编程的经验,因此你应该知道这段代码中的大多数要点。图中的注释应该能够解答你的任何疑问。因为图中的代码某种程度上反映了本书代码的风格,而且对各种 Java 编程惯例和语言构造,在用法上我们都力求一致,所以即使是经验丰富的 Java 程序员也应该看一看。

算法(4th ed)(4):基础——基础编程模型 3

图 1.1.1 Java 程序及其命令行的调用

评论

发布