本书介绍
自从第一台电子计算机需要接插电缆和开关将指令从人传递到机器以来,我们对编程的思考方式已经发生了许多变化。正如社会的许多方面一样,计算技术的变化为计算机科学家提供了越来越多的工具和平台来实践他们的技术。更快的处理器、高速网络和大容量内存等进步创造了一个复杂的螺旋,计算机科学家必须通过它来导航。
文末付本书最新最新pdf下载地址。
在所有这些快速发展的过程中,一些基本原则保持不变。计算科学与使用计算机解决问题有关。毫无疑问,你花了大量时间学习解决问题的基础知识,并希望对自己陈述问题和制定解决方案的能力充满信心。你也学到了写计算机程序往往很难。大问题的复杂性和解决方案的相应复杂性往往会掩盖与问题解决过程相关的基本思想。
本书强调文本其余部分的两个重要方面。首先,它回顾了计算机科学以及算法和数据结构研究必须适应的框架,特别是我们需要研究这些主题的原因,以及理解这些主题如何帮助我们成为更好的问题解决者。其次,我们回顾一下Python编程语言。虽然不能提供详细、详尽的参考,但我们会给出一些例子,并解释其余章节的基本结构和思想。
本书目录
内容截图
本书免费pdf下载地址
题号《C语言上机》
考试大纲
C语言上机(内容包含数据结构和算法设计与分析)
一、C语言考试内容
1.熟悉一种集成开发环境,如CodeBlocks,Eclipse,VC等。在集成开发环境下,能编写C程序,并能对程序使用不同数据进行正确性测试,具有纠错和调试程序的能力。
2.掌握结构化程序设计的方法,具有良好的设计风格。掌握顺序、选择、循环结构程序的设计方法。掌握if,switch实现选择结构的方法。掌握for,while,do-while三种循环结构。掌握continue和break语句控制流程的方法。
3.熟悉C语言的数据结构(基本类型,构造类型,指针类型,void型)的定义和使用方法。熟悉不同类型数据的转换与运算。掌握数组的定义和引用。掌握指针的定义和引用。
4.熟悉C语言运算符的种类、结合性及优先级。熟悉C语言表达式(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值方法。
5.掌握C语言程序的结构,包括main函数及其参数,自定义函数。掌握C语言常用库函数,如输入输出函数、文件操作函数等的使用方法。熟悉函数的定义方法、函数的形式参数和实在参数,参数值的传递。函数的调用方法、嵌套调用和递归调用。熟悉变量的类别(自动、静态、寄存器、外部),作用域和生存期。
二、数据结构和算法设计与分析考试内容
1.了解数据、数据结构、抽象数据类型以及算法等概念的确切含义,熟悉数据结构的逻辑结构和物理结构,熟练运用C语言描述和使用各类数据结构。
2.掌握线性数据结构(包括普通线性表、栈、队列)的逻辑结构和物理存储结构(顺序映像和随机映像)的描述方法,掌握这些线性数据结构上的基本运算操作及其实现方法。了解串、数组、和广义表的逻辑结构和存储方式。知晓线性数据结构各自的特点,并使用线性数据结构解决实际应用问题。
3.熟悉树、二叉树的定义、性质及存储方式,重点掌握二叉树的遍历和线性搜索化过程。掌握树与二叉树之间的转换关系和转换算法,二叉树的其它应用问题。掌握二叉排序树的概念,并能用于解决实际问题。
4.熟悉图的定义和存储方式,掌握图的广度优先和深度优先遍历算法及其应用,掌握无向图的连通性、连通分量、生成树及最小生成树的算法,掌握有向图的拓扑排序算法和关键路径以及最短路径的求解算法。
5.掌握静态查找表、动态查找表的各种查找方法,掌握哈希表的基本概念,哈希表的建立和查找方法,以及相关的冲突问题及其解决方法。能够分析各种查找算法的效率(空间复杂度和时间复杂度)。
6.熟练掌握各种内部排序算法(包括简单选择排序、插入排序、快速排序、归并排序、基数排序)的基本思想,能够分析这些排序算法的时间复杂度、空间复杂度和优缺点,并能综合应用这些算法解决实际应用问题。
7.结合基本数据结构,了解动态存储管理的基本思想和方法,能够使用边界标识法实现分配和回收策略。
8.了解文件的基本概念,掌握基本的文件结构以及文件管理方法。
二、参考书目
1、《数据结构》(C语言版)严蔚敏、吴伟民等编,清华大学出版社,年4月。
2、《数据结构习题集(C语言版)》严蔚敏,吴伟民,清华大学出版社,年。
3、《数据结构与算法基础》王晓冬编,电子工业出版社,年。
4、《C语言程序设计》(第二版)谭浩强编清华大学出版社
5、《算法设计与分析》王晓东清华大学出版社年1月
6、《计算机算法导引》卢开澄清华大学出版社年8月
预览时标签不可点收录于话题#个上一篇下一篇