计算机程序设计艺术

内容简介

本书作者D. E. Knuth是在计算机学界十分著名的学者,在本领域享有很高权威和盛名,他的这部著作是无数计算机专业人员的学习教材和参考读物,也是许多专业研究工作者经常阅读的经典。本书已被翻译为几十种文字在世界各地出版,英文原版书在国外已经是第11次印刷。

该书1999年底被American Scientist列为20世纪最佳12部学术专著之一(与狄拉克的量子力学、爱因斯坦的相对论、曼德布罗特的分形论、鲍林的化学键、罗素和怀特海德的数学原理、冯诺伊曼和摩根斯坦的博弈论维纳控制论、伍德沃和霍夫曼的轨道对称性、费曼的量子电动力学科学史上的经典著作并列)。

本书结合大量数学知识,分析不同应用领域中的各种算法,研究算法的复杂性,即算法的时间、空间效率,探讨各种适用算法等,其理论和实践价值得到了全世界计算机工作者的公认。书中引入的许多术语、得到的许多结论都变成了计算机领域的标准术语和被广泛引用的结果。另外,作者对有关领域的科学发展史也有深入研究,因此本书介绍众多研究成果的同时,也对其历史渊源和发展过程做了很好的介绍,这种特色在全球科学著作中是不多见的。

作者高德纳几十年来对此书倾注的心血难以计量,他力求随着有关领域的最新进展不断更新内容,力求随着原版书的不断重印令其技术的、史实的和出版方面的错误或不当减到极少(他为了能够满意地随时修订自己的著作,发明了计算机排版系统TEX和字形设计系统METAFONT,无偿公诸于世,使全世界的科技文献作者普遍受惠),现在其最新印次已很难找到错误,作者承诺以2.56美元兑奖励来酬谢任何一个错误的头一个发现者。而相关史实的新证据、相关研究的新进展、习题的新解答仍在及时充实到勘误表或新的印次中。 

图书目录

作者计划,整套书共有7卷,其总目录如下:

  • 第1卷 基本算法(Vol 1: Fundamental Algorithms)

    • 第1章 基本概念(Chapter 1: Basic Concepts)

    • 第2章 信息结构(Chapter 2: Information Structures)

  • 第2卷 半数值算法(Vol 2: Seminumerial Algorithms)

    • 第3章随机数(Chapter 3: Random Numbers)

    • 第4章 算术(Chapter 4: Arithmetic)

  • 第3卷 排序与查找(Vol 3: Sorting and Searching)

    • 第5章 排序 (Chapter 5: Sorting)

    • 第6章 查找(Chapter 6: Searching)

  • 第4卷 组合算法(Vol 4: Combinatorial Algorithms)

    • 第7章 组合检索(Chapter 7: Combinatorial Searching)

    • 第8章 递归(Chapter 8: Recursion)

  • 第5卷 语法算法(Vol 5: Syntactic Algorithms)

    • 第9章 词法扫描(Chapter 9: Lexical Scanning)

    • 第10章 语法分析(Chapter 10: Parsing Sechniques)

有关专门课题的另外两卷还在准备中:第6卷语言理论(The Theory of Context-free Languages)(第11章)和第7卷编译程序(Compiler Techniques)(第12章)。

作者简介

Donald E. Knuth是斯坦福大学计算机科学系的荣誉退休教授,算法和程序设计技术的先驱者。1974年获美国计算机协会图灵奖,1979年美国前总统卡特授予的科学金奖以及1996年11月由于发明先进技术荣获的极受尊重的京都奖。他因这些成就和大量创造性的影响深远的著作(19部书和160篇论文)而誉满全球。

对于Knuth教授来说,衡量一个计算机程序是否完整的标准不仅仅在于它是否能够运行,他认为一个计算机程序应该是雅致的、甚至可以说是美的。计算机程序设计应该是一门艺术,一个算法应该像一段音乐,而一个好的程序应该如一部文学作品一般。

如果你认为你是一名真正优秀的程序员……读Knuth的《计算机程序设计艺术》,如果你能读懂整套书的话,请给我发一份你的简历。

―― Bill Gates

这是一套集所有基础算法之大成的经典之作。当今软件开发人员所掌握的绝大多数计算机程序设计的知识都来源于此。

――Byte

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
计算机程序设计艺术是一门探讨如何构建高质量软件的学科。它涉及到程序的设计、编码、测试和维护等各个阶段。计算机程序设计艺术计算机科学的重要分支,也是软件工程的基础。 在计算机程序设计艺术中,程序的设计起着至关重要的作用。一个好的设计可以使程序具有良好的结构和可扩展性,提高程序的可读性和可维护性。设计还需考虑程序的功能需求、性能需求和用户体验等方面。良好的设计还需要考虑程序的逻辑结构和数据结构等,以便优化程序的执行效率。 编码是将设计好的程序转化为计算机可以理解和执行的指令的过程。在编码过程中,程序员需要根据设计要求使用合适的编程语言和技术来实现程序的功能。编码不仅需要考虑代码的正确性,还需要考虑代码的可读性和可维护性。 测试是计算机程序设计艺术中不可或缺的一环。通过测试,程序员可以验证程序的正确性和可靠性。良好的测试可以发现程序中的潜在问题和错误,并且提供重要的反馈信息给程序员,以便进行修复和改进。 维护是在程序被交付和使用后对其进行修复和改进的过程。程序的维护包括修复程序中的错误和改进程序的性能和用户体验等方面。良好的维护可以使程序保持更新和稳定,延长其使用寿命。 总之,计算机程序设计艺术是一门综合性的学科,需要程序员具备扎实的计算机基础知识和良好的设计能力。通过良好的程序设计、编码、测试和维护,可以开发出高质量的软件应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值