acm考什么?
1.时间复杂性(渐近时间复杂性的严格定义,NP问题,时间复杂性的分析方法,主要定理)
2.排序算法(正方形排序算法的应用,外壳排序,快速排序,归并排序,时间复杂度下界,三种线性时间排序,外部排序,拓扑排序)。
3.数论(整除、集合论、关系、素数、进位制、辗转相除、辗转相除推广、同余运算、解一次同余方程、剩余定理)。
4.指针(链表、重复搜索、邻接表、开放散列、二叉树表示、多分支树表示)
5.逐位运算(与、或、异或、shl、shr、某些应用)
6.图论(建立图论模型,平面图,欧拉公式和五色定理,寻找强连通分量,寻找割点和桥,欧拉路径,AOV问题,AO
有什么计算机经典书籍推荐?
计算机书籍很多,编程应该占绝大多数。但是真正理解计算机需要的不仅仅是一些编程。你需要了解一些基础知识。有了这些知识的加持,你才能更好的提升自己。所以很多程序员经常看这类基础知识。
计算机是将信息获取、表示、存储、处理和控制的理论、原理、方法和技术应用于实践的一门学科。
基础方面:首先我推荐算法入门。
比较适合有基础编程语言的读者。涵盖了数据结构中从基础到非常深的所有算法。个人建议你先熟悉一下C语言,然后再去上算法入门。如果你下定决心要读它,你不要不用看数据结构,因为看了算法的介绍,你就学会了很高级的数据结构。原著很厚,不看的人很难看。;我没有太多时间来完成它。大多数人把它当字典用。如果他们能t,他们有时间就会去查,去读。
基本范畴:数据库系统的概念
本书全面介绍了数据库系统的各种知识,深入讲解了数据库管理的基本概念。本书内容丰富,不仅讨论了关系数据模型和关系语言、数据库设计过程、关系数据库理论、数据库应用程序设计和开发、数据存储结构、数据访问技术、查询优化方法、事务处理系统和并发控制、故障恢复技术、数据仓库和数据挖掘,而且讨论了性能调整、性能评估标准、数据库应用程序测试和标准化、空间和地理数据、时间数据、多媒体数据、移动和个人数据库管理、事务处理监视器、事务工作流、电子商务、高性能事务系统、实时事务系统和持久事务等高级应用主题
基本型:现代操作系统
该书的作者安德鲁·s·塔嫩鲍姆(AndrewS.Tanenbaum)发明了MINIX来教授操作系统课程,MINIX是最早的Linux原型。塔南鲍姆s文笔很好,对操作系统的知识口若悬河,由浅入深逐渐深入操作系统。与作者相比的另一本描述操作系统实现的书,这本书增加了现代操作系统中的新特性,比如多处理器系统、虚拟化、分布式系统等等。同时,书中附有案例分析,分析了几种流行的操作系统,让你对其中的知识有更深入的了解。当然,这本书的内容非常经典。线程和锁的概念几乎是每个程序员的必备知识,是你多线程编程的基础。文件系统,I/O原理可以说是嵌入式系统的基础。最后,书的翻译,总体来说,我觉得不错,文笔流畅,原作者他的意思表达清楚了。毕竟译者已经从第一版翻译到第三版了。