推荐书目

作为一名无论业余与专业的信息学界的人士初学者必备一下几本书:
1.信息学奥赛一本通:
《 信息学奥赛之数学一本通》是面向青少年信息学奥林匹克竞赛(NOI系列比赛活动)的教材。主要介绍动态规划算法的基本概念、适用条件、求解问题的一般方法,以及动态规划算法的基本优化思路和方法。

2.《C程序设计(第3版)》是一本公认的学习C语言程序设计的经典教材。根据C语言的发展和计算机教学的需要,作者在《C程序设计(第2版)》的基础上进行了修订。《中国高等院校计算机基础教育课程体系规划教材:C程序设计(第3版)》按照C语言的新标准C99进行介绍,所有程序都符合C99的规定,使编写程序更加规范;对C语言和程序设计的基本概念和要点讲解透彻,全面而深入;按照作者提出的“提出问题—解决问题—归纳分析”三部曲进行教学、组织教材;书中的每个例题都按以下几个步骤展开:提出任务—解题思路—编写程序—运行程序—程序分析—有关说明。符合读者认知规律,容易入门与提高。

3.挑战程序设计竞赛2:算法和数据结构:本书分为准备篇、基础篇和应用篇三大部分,借助在线评测系统Aizu Online Judge以及大量例题,详细讲解了算法与复杂度、初等和高等排序、搜索、递归和分治法、动态规划法、二叉搜索树、堆、图、计算几何学、数论等与程序设计竞赛相关的算法和数据结构,既可以作为挑战程序设计竞赛的参考书,也可以用来引导初学者系统学习算法和数据结构的基础知识。本书适合所有程序设计人员、程序设计竞赛爱好者以及高校计算机专业师生阅读。

4.算法艺术与信息学竞赛:算法竞赛入门经典(第2版):《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。内容分为12章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。
《算法竞赛入门经典(第2版)》可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序设计竞赛(ACM/ICPC)的训练资料,也可作为IT工程师与科研人员的参考用书。

5.算法导论:算法导论(原书第3版)》内容简介:在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。《算法导论(原书第3版)》将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,《算法导论(原书第3版)》也是一本案头必备的参考书或工程实践手册。
第3版的主要变化:
•新增了van Emde Boas树和多线程算法,并且将矩阵基础移至附录。
•修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。
•移除两章很少讲授的内容:二项堆和排序网络。
•修订了动态规划和贪心算法相关内容。
•流网络相关材料现在基于边上的全部流。
•由于关于矩阵基础和Strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。
•修改了对Knuth-Morris-Pratt字符串匹配算法的讨论。
•新增100道练习和28道思考题,还更新并补充了参考文献。

6.组合数学:《组合数学(原书第5版)》系统地阐述组合数学基础、理论和方法,侧重于组合数学的概念和思想,论述了鸽巢原理、排列与组合、二项式系数、容斥原理及应用、递推关系和生成函数、特殊计数序列、二分图中的匹配、组合设计、图论、有向图及网络、Polya计数法等。此外,各章均包含大量练习题,并在书末给出了参考答案与提示,适合作为高等院校相关专业组合数学课程的教材。
《组合数学(原书第5版)》侧重于组合数学的概念和思想,包括鸽巢原理、计数技术、排列与组合、Polya计数法、二项式系数、容斥原理、生成函数和递推关系以及组合结构(匹配、试验设计、图)等,深入浅出地表达了作者对该领域全面和深刻的理解。

7.计算机网络:自顶向下方法:《计算机网络:自顶向下方法(原书第6版)》第1版于12年前出版,首创采用自顶向下的方法讲解计算机网络的原理和协议,出版以来已被几百所大学和学院选用,是业界最经典的计算机网络教材之一。《计算机网络:自顶向下方法(原书第6版)》第6版继续保持了以前版本的特色,为计算机网络教学提供了一种新颖和与时俱进的方法,同时也进行了相当多的修订和更新:第1章更多地关注时下,更新了接入网的论述;第2章用Python替代了Java来介绍套接字编程;第3章补充了用于优化云服务性能的TCP分岔知识;第4章有关路由器体系结构的内容做了大量更新;第5章重新组织并新增了数据中心网络的内容;第6章更新了无线网络的内容以反映其最新进展;第7章进行了较大修订,深入讨论了流式视频,包括了适应性流和CDN的讨论;第8章进一步讨论了端点鉴别;等等。另外,书后习题也做了大量更新。

8.计算机系统:系统架构与操作系统的高度集成:本书采用集成方法,系统地讲解了计算机系统的软件和硬件知识。全书分为5个模块:处理器、内存系统、存储系统、并行系统和网络,分别介绍并讨论了处理器及其相关的软件问题、内存系统和内存分级体系、I/O和文件系统、操作系统问题及支持并行编程的多处理器中相应体系结构特点、网络硬件的发展和处理各种网络行为的网络协议堆的特点等。

9.深入理解计算机系统:和第2版相比,本版内容上最大的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下:
• 基于x86-64,大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持。
• 处理器体系结构修改为支持64位字和操作的设计。
• 引入更多的功能单元和更复杂的控制逻辑,使基于程序数据流表示的程序性能模型预测更加可靠。
• 扩充关于用GOT和PLT创建与位置无关代码的讨论,描述了更加强大的链接技术(比如库打桩)。
• 增加了对信号处理程序更细致的描述,包括异步信号安全的函数等。
• 采用最新函数,更新了与协议无关和线程安全的网络编程。

9.具体数学:《具体数学:计算机科学基础:第2版》是一本在大学中广泛使用的经典数学教科书.书中讲解了许多计算机科学中用到的数学知识及技巧,教你如何把一个实际问题一步步演化为数学模型,然后通过计算机解决它,特别着墨于算法分析方面.其主要内容涉及和式、整值函数、数论、二项式系数、特殊的数、生成函数、离散概率、渐近式等,都是编程所必备的知识.另外,本书包括了六大类500 多道习题,并给出了所有习题的解答,有助读者加深书中内容的理解.
  《具体数学:计算机科学基础:第2版》面向从事计算机科学、计算数学、计算技术诸方面工作的人员,以及高等院校相关专业的师生.

10.数据结构与算法分析:C语言描述:《数据结构与算法分析:C语言描述(原书第2版)》内容简介:书中详细介绍了当前流行的论题和新的变化,讨论了算法设计技巧,并在研究算法的性能、效率以及对运行时间分析的基础上考查了一些高级数据结构,从历史的角度和近年的进展对数据结构的活跃领域进行了简要的概括。由于《数据结构与算法分析:C语言描述(原书第2版)》选材新颖,方法实用,题例丰富,取舍得当。《数据结构与算法分析:C语言描述(原书第2版)》的目的是培养学生良好的程序设计技巧和熟练的算法分析能力,使得他们能够开发出高效率的程序。从服务于实践又锻炼学生实际能力出发,书中提供了大部算法的C程序和伪码例程,但并不是全部。一些程序可从互联网上获得。
《数据结构与算法分析:C语言描述(原书第2版)》是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。在《数据结构与算法分析:C语言描述(原书第2版)》中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。
全书特点如下:1.专用一章来讨论算法设计技巧,包括贪婪算法、分治算法、动态规划、随机化算法以及回溯算法;2.介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和伸展树;3.安排一章专门讨论摊还分析,考查书中介绍的一些高级数据结构;4.新开辟一章讨论高级数据结构以及它们的实现,其中包括红黑树、自顶向下伸展树。treap树、k-d树、配对堆以及其他相关内容;5.合并了堆排序平均情况分析的一些新结果。
《数据结构与算法分析:C语言描述(原书第2版)》是国外数据结构与算法分析方面的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。《数据结构与算法分析:C语言描述(原书第2版)》的编写目标是同时讲授好的程序设计和算法分析技巧,使读者可以开发出具有高效率的程序。《数据结构与算法分析:C语言描述(原书第2版)》可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用《数据结构与算法分析:C语言描述(原书第2版)》需具有一些中级程序设计知识,还需要离散数学的一些背景知识

以上就是我所总结的十本我认为有用的书籍,望大家多顶
��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家��大家

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值