编程的本质

Alexander Stepanov,P

文学

编程 计算机科学 计算机 Programming C++ 编程的本质 算法 程序设计

2010

机械工业出版社

目录
Preface ixAbouttheAuthors xiii1 Foundations 1.1 CategoriesofIdeas:Entity,Species,Genus 1.2 Values 1.3 Objects 1.4 rocedures6 1.5 RegularTypes 1.6 RegularProcedures 1.7 Concepts 1.8 Conclusions142 TransformationsandTheirOrbits1 2.1 Transformations 2.2 Orbits 2.3 CollisionPoint 2.4 MeasuringOrbitSizes 2.5 Actions 2.6 Conclusions3 AssociativeOperations 3.1 Associativity 3.2 ComputingPowers 3.3 ProgramTransformations 3.4 Special-CaseProcedures 3.5 ParameterizingAlgorithms 3.6 LinearRecurrences 3.7 AccumulationProcedures 3.8 Conclusions4 LinearOrderings 4.1 Classi?cationofRelations 4.2 TotalandWeakOrderings 4.3 OrderSelection 4.4 NaturalTotalOrdering 4.5 ClustersofDerivedProcedures 4.6 ExtendingOrder-SelectionProcedures 4.7 Conclusions5 OrderedAlgebraicStructures 5.1 BasicAlgebraicStructures 5.2 OrderedAlgebraicStructures 5.3 Remainder 5.4 GreatestCommonDivisor 5.5 Generalizinggcd 5.6 Steingcd 5.7 Quotient 5.8 QuotientandRemainderforNegativeQuantities 5.9 ConceptsandTheirModels 5.10 ComputerIntegerTypes 5.11 Conclusions6 Iterators 6.1 Readability 6.2 Iterators 6.3 Ranges 6.4 ReadableRanges 6.5IncreasingRanges 6.6 ForwardIterators 6.7 IndexedIterators 6.8 BidirectionalIterators 6.9 Random-AccessIterators 6.1 Conclusions7 CoordinateStructures 7.1 ifurcateCoordinates 7.2 BidirectionalBifurcateCoordinates 7.3 CoordinateStructures 7.4 Isomorphism,Equivalence,andOrdering 7.5 Conclusions8 CoordinateswithMutableSuccessors 8.1 LinkedIterators 8.2 LinkRearrangements 8.3 ApplicationsofLinkRearrangements 8.4 LinkedBifurcateCoordinates 8.5 Conclusions9 Copying 9.1 Writability 9.2 Position-BasedCopying 9.3 Predicate-BasedCopying 9.4 SwappingRanges 9.5 Conclusions10 Rearrangements 10.1 Permutations 10.2 Rearrangements 10.3 ReverseAlgorithms 10.4 RotateAlgorithms 10.5 AlgorithmSelection 10.6 Conclusions11 PartitionandMerging 11.1 Partition 11.2 BalancedReduction 11.3 Merging 11.4 Conclusions12 CompositeObjects 12.1 SimpleCompositeObjects 12.2 DynamicSequences 12.3 UnderlyingType 12.4 ConclusionsAfterwordAppendixA MathematicalNotationAppendixB ProgrammingLanguage B.1 LanguageDe?nition B.2 MacrosandTraitStructuresBibliographyIndex
【展开】
内容简介
本书提供了有关编程的一种与众不同的理解。其主旨是,实际的编程也应像其他科学和工程领域一样基于坚实的数学基础。本书展示了在实际编程语言(如C++)中实现的算法如何在最一般的数学背景中操作。例如,如何定义快速求幂算法,使之能使用任何可交换运算。使用抽象算法将能得到更高效、可靠、安全和经济的软件。 这不是一本很容易读的书,它也不是能提升你的编程技能的秘诀和技巧汇编。本书的价值是更根本性的,其终极目标是提升你对编程的洞察力。要想从中大获裨益,你需要从头到尾认真学习:阅读代码,证明引理,完成练习。到结束之时,你将看到如何把这里讨论的演绎式方法应用到你的程序中,保证你做出的软件部件能一起工作,并表现出它们所应该表现的行为。 书中给出的算法和需求针对某些被操作的类型。有关这些描述的代码(也可以通过Web得到)采用C++的一个小子集书写,这样做是为了让所有有经验的程序员都能理解。这个小子集可以看做一种特殊语言,是由Sean Parent和Bjarne Stroustrup一起设计的。 无论你是一位软件开发者,还是其他以编程作为一项重要活动的专业人员,或者是一名在校的学生,你都会逐渐理解本书的经验丰富的作者多年来一直在教授和阐释的道理:数学对于编程是绝好的东西,理论对于实际是绝好的东西。
【展开】
下载说明

1、追日是作者栎年创作的原创作品,下载链接均为网友上传的的网盘链接!

2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!

下载链接
热门评论
  • 桃木春风的评论
    编程的本质在于自由的思考!
  • 盛夏雨林的评论
    C语言(变量的定义和类型的本质) 学习编程开发的一个非常重要的概念是:一定要理解任何变量、函数原则上都是一块块大小各异的内存,而类型则是我们和系统对这块内存含义的约定。 拓展: 很多初学者对变量的定义理解模糊,比如 网页链接
  • NP等不等于P的评论
    无锁编程真的是不涉及锁么?无锁编程的本质是什么?举例说明,我们一起看看。。。 我分享了@NP等不等于P 的文章 无锁编程本质论
  • hwc100的评论
    【【书评】《技术的本质》:技术是如何进化的?又是如何影响经济的?】技术的本质是对自然的编程,是对自然现象和社会现象的利用。技术能够为经济带来两种变化,一种是改造,另一种则是常说的颠覆。 【书评】《技术的本质...
  • _记忆回到从前_的评论
    手机号隐藏中间几位数字功能,replaceAll方式隐藏致命bug,还得中规中矩用substring。用最看似最简单的方式反而最靠谱,编程框架的本质也应该是简化开发人员的开发,让他们花更少的时间写更少的代码,而不是美曰其名,为了玩各种各样的技术流派让开发人员苦不堪言... 网页链接
  • Beurself__的评论
    《黑客与画家》 我的评分:★★★★★ 黑客往往给人的印象是个坏人角色,而如果用高级程序员来形容这群人的话则更为合适。这样一群人带动了本世纪的技术革命,推动了整个世界向前发展。YC创始人Paul试图用他优美的语言向人们阐述编程的本质究竟是... 网页链接 来自@豆瓣App
  • 塑料_玫瑰花的评论
    2015-5-14阔别2个月后第一次读和自己完全无关的纸质书籍 站在摩尔定律的尽头,重新理解编程的本质-----《代码的未来》 摩尔定律及其局限性对...
  • lei_iel的评论
    #多看笔记# “命令式编程中的变量本质上是抽象化的内存,变量值是该内存的存储内容。” 摘自《冒号课堂:编程范式与OOP思想》@多看阅读 网页链接
  • 分解人生每一步的评论
    编码应该是自由的,你不应该局限于某一种语言 每一个编辑器 某一种编译器连接器 。编程最初的本质,就是运用代码来表达自己的想法。一开始无需介怀是否有语法错误,当你想要在某种机器上运行时,你才需要去编译调试他,在这之前,你只需要能够完整清晰的表达你的见解即可。
  • 海岳奎虚-满思溢的评论
    从思维、思考到思想,是不是人类独有的智能?机器的本质是基于编程、运算的仿思维过程,可程序化、结构性的能力可以由机器人实现,非结构性、无序化的能力怎么由人工智能达到呢?因此,人文的能力越来越宝贵,逻辑思维让位于感性思维,在人的能力结构中居主导。假如明天AlphaG...