C语言公共基础知识归纳和十套题

上传人:ji****72 文档编号:39568286 上传时间:2018-05-17 格式:DOC 页数:16 大小:131KB
返回 下载 相关 举报
C语言公共基础知识归纳和十套题_第1页
第1页 / 共16页
C语言公共基础知识归纳和十套题_第2页
第2页 / 共16页
C语言公共基础知识归纳和十套题_第3页
第3页 / 共16页
C语言公共基础知识归纳和十套题_第4页
第4页 / 共16页
C语言公共基础知识归纳和十套题_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《C语言公共基础知识归纳和十套题》由会员分享,可在线阅读,更多相关《C语言公共基础知识归纳和十套题(16页珍藏版)》请在金锄头文库上搜索。

1、第一部分第一部分 公共基础部分知识归纳公共基础部分知识归纳第一章 数据结构与算法算法-是一组严谨地定义运算顺序的规则 算法的基本要素-一是对数据对象的运算和操作,二是算法的控制结构 算法设计基本方法-列举法、归纳法、递推、递归、减半递推 算法的复杂度-包括时间复杂度和空间复杂度时间复杂度-执行算法所需的计算工作量空间复杂度-执行算法所需的内存空间 数据结构-相互有关联的数据元素的集合。如春、夏、秋、冬;18、11、35、23、16。 。 。 ; 父亲、儿子、女儿等都是数据元素。 前件-数据元素之间的关系,如父亲是儿子和女儿的前件 后件-如儿子是父亲的后件 结构-指数据元素之间的前后件关系 数据

2、的逻辑结构是指反映数据元素之间逻辑关系,而与它们在计算机中的存储位置无关 数据的存储结构(物理结构)-数据的逻辑结构在计算机存储空间中的存放形式,数据元 素在计算机存储空间的位置关系可能与逻辑关系不同。 根据数据结构中各数据元素之间前后件关系的复杂程度,可将数据结构分两类-线性结构 与非线性结构 线性结构(线性表)-满足下列两个条件(1)有且只有一个根结点(2)每一个结点最多 有一个前件和后件。则称该数据结构为线性结构,否则为 非线性结构。 线性表是最简单、最常用的一种数据结构,其数据元素之间的相对位置是线性的,其存储 方式为顺序存储的,如数组 栈-是限定在一端进行插入与删除的线性表,一端封闭

3、,另一端开口,其操作原则是“先 进后出” ,栈的运算有入栈、退栈、读栈顶元素 队列-是指在一端进行插入(称为队尾)而在另一端进行删除(称为队头)的线性表,其 操作规则是“先进先出” ,其运算有入队和退队。树-是一种简单的非线性结构,而且是层次结构,是倒立的大树,有根结点、父结点、子 结点、叶子结点。根结点在第一层,一个结点所拥有的后 件的个数称为该结点的度,所有结点中最大的度称为 树的 度,树的最大层次称为树的深度。 二叉树-(1)非空二叉树只有一个根结点(2)每一个结点最多有两棵子树(左子树和右 子树) ,其存储结构为链式。 二叉树性质-(1)K 层上最多有 2(K-1)个结点(2)深度为

4、m 的二叉树最多有 2m-1 个结 点(3)度为 0 的结点(叶子结点)比度为 2 的结点多一个(4)具有 n 个结点 的二叉树,其深度至少为Log2n+1,其中Log2n表示对 Log2n 取整 满二叉树-除最后一层外,其余层的结点都有两个子结点 完全二叉树-除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点,叶子结点只可能在层次最大的两层上出现。 满二叉树是完全二叉树,而完全二叉树不是满二叉树。完 全二叉树有两个性质:(1)具有 n 个结点的完全二叉树的 深度为Log2n+1(2)二叉树遍历-不重复地访问各个结点。分为前序遍历(DLR-根左右)、中序遍历(LDR-

5、左根 右)和后序遍历(LRD-左右根) 查找技术-顺序查找对于长度为 n 的有序线性表,查找时需要比较 n 次二分法查找对于长度为 n 的有序线性表,查找时需要比较 log2n 次 排序技术-假设线性表的长度为 n,则冒泡排序和简单插入排序的比较次数(时间复杂度) 为 n(n-1)/2;希尔排序的比较次数为 O(n1.5);简单选择排序的 比较次数为 n(n-1)/2;堆排序的比较次数为 O(nlog2n).习题习题 1 算法的时间复杂度是指( ) ,算法的空间复杂度是指( ) ;线性表、栈、队列、线性链表是(线性结构) ,树是(非线性结构) ;数据的存储结构是指 ( ) ; 队列是(先进先出

6、) ,栈是(先进后出) ; 下列二叉树的遍历结果:前序遍历(ABDECF) 、中序遍历(DBEAFC) 、后续遍历 (DEBFCA)在深度为 5 的满二叉树中,叶子结点的个数为(16) ;设树 T 的度为 4,其中度为 1,2,3,4 的结点的个数分别为 4,2,1,1。则 T 中的叶子结点的个数为(8) ;对于长度 为 n 的有序线性表,顺序查找次数为(n),二分法查找次数为(log2n) ;一棵完全二叉树共有 700 个结点,则在该二叉树中有(350)个叶子结点;一棵二叉树的中序遍历结果为 DBEAFC,前序遍历结果为 ABDECF,则后续遍历结果为(DEBFCA) ;冒泡排序的时间复 杂

7、度为(n(n-1)/2);在一个容量为 15 的循环队列中,若头指针 front=6,尾指针 rear=9,则该循 环队列中共有(3)元素;第二章 程序设计基础 结构化程序设计的三种结构-是顺序、选择和循环 对象-表示客观世界的任何实体 类-是具有共同属性和方法的对象的集合 实例-任何一个对象都是其对应类的实例 消息-一个实例和另一个实例之间传递的信息 继承-是指直接获得已有的性质和特征,而不必重复定义它们。例如子类继承父类 结构化程序设计主要强调-程序的易读性良好的程序设计风格是-程序应简单、清晰、可读性好 在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送(消息)来实现 的

8、信息隐蔽的概念与(模块独立性)概念直接相关 (任何对象都具有继承性)这句话是错误的 注释分为(序言性注释)和(功能性注释) 在面向对象方法中,信息隐蔽是通过对象的(封装性)来实现的 类是一个支持集成的抽象数据类型,而对象是类的(实例) 在面向对象方法中,类之间共享属性和操作的机制称为(继承)第三章 软件工程基础 软件生命周期-软件产品从提出、实现、使用维护到停止使用退役的过程。分为软件定义、 软件开发、软件运行维护三个阶段。 软件生命周期的主要活动阶段-可行性分析、需求分析、软件设计、软件实现、软件测试、 运行和维护。 常见的需求分析方法-(1)结构化分析方法-主要包括面向数据流的结构化分析方

9、法 SA;面向数据结构的 Jackson 方法 JSD;面向数据结构的 结构化数据系统开发方法 DSSD。(2)面向对象的分析方法 OOA 结构化分析方法工具-(1)数据流图 DFD,记住 DFD 图的几个符号:(2)数据字典 DD(3)判定树(4)判定表 程序结构图(SC) ,N-S 图,问题分析图(PAD) 程序流程图(PFD)的几个符号:软件测试-黑盒测试:功能测试白盒测试:内部结构测试,穷举路径测试 习题 3 在软件生命周期中,能准确地判断软件系统必须做什么和必须具备哪些功能的阶段是(需 求分析)软件工程的 3 个要素(工具) , (过程) , (方法) 检查软件产品是否符合需求定义的

10、过程称为(确认测试) 软件设计原则是(抽象) 、 (模块化) 、 (信息隐蔽) 需求分析常用的工具是(DFD) 在结构化方法中,软件功能分解属于(总体设计)阶段 软件测试的饿目的是(改正错误 ) 软件需求分析 阶段 可分为四个方面(需求获取) 、 (需求分析) 、 (编写需求格式说明) 、 (需求评审) 软件是(程序) 、 (数据) 、 (文档)的集合 Jakson 方法是一中面向(数据流)的结构化方法 软件工程研究的内容包括(软件开发技术) 、 (软件工程管理) 数据流图的类型有(交换型) 、 (事务型) 软件开发环境是全面支持软件开发全过程的(软件工具)集合第四章 数据库设计基础 数据库-

11、DB;数据库管理系统-DBMS;数据库管理员-DBA;数据库系统-DBS;数据 库应用系统-DBAS 数据模型所描述的内容分三个部分(数据结构) 、 (数据操作) 、 (数据约束) 逻辑数据模型分(层次模型) 、 (网状模型) 、 (关系模型) 、 (面向对象模型) E-R 模型-实体关系模型,主要由实体、属性、联系组成,联系分:1 对 1,1 对多,多对 多;以二维表为基本结构所建立的模型称为关系模型,关系模型采用二维表来表示,简称表, 由行和列组成,行称为元组或记录,列称为字段 主键-唯一标识一个记录的字段 外键-一个表的字段是其他表的主键 在数据管理技术的发展过程中,经历了人工管理阶段、

12、文件系统阶段、数据库系统阶段, 其中数据独立性最高的阶段是(数据库系统) 数据库系统减少了(数据冗余) ;数据库系统的核心是(数据库管理系统) 用树型结构来表示实体间联系的模型称为(层次模型) 关系表中的每一行称为(元组) 关系数据库管理系统能实现的专门关系运算包括(选择) 、 (投影) 、 (连接) 在关系数据库中,用来表示实体之间联系的是(二维表) 数据库设计包括两方面的设计内容(概念设计) 、 (逻辑设计) 将 E-R 图转换到关系模式时,实体与联系都可以表示成(关系) 一个项目具有一个项目主管,一个项目主管可以管理多个项目,则实体“项目主管”与 “项目”的联系属于(一对多) 数据独立性

13、分为逻辑独立性和物理独立性,当数据的存储结构改变时,其逻辑结构可以不 变,因此,基于逻辑结构的应用程序不必修改,称为(逻辑独立性)数据库系统中实现各种数据管理功能的核心软件称为(数据库管理系统 DBMS) 关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、 (参照完整性)和自定 义完整性 下面是公共基础部分可以变化的题下面是公共基础部分可以变化的题: 1 一棵二叉树,第 K 层上最多有 2(k-1)个结点,深度为 K 的二叉树最多有 2k-1 个结点,如果是满 二叉树呢? 例如: 在深度为 5 的满二叉树中,叶子结点的个数为(=2(5-1)=16) 2 一棵二叉树共有 70 个叶子结

14、点和 80 个度为 1 的结点,问这个二叉树的总结点是多少? 答:因为度为 0 的结点(叶子结点)比度为 2 的结点多一个,所以度为 2 的结点数是 69,所以 总结点=70+69+80=219 个 3 一棵完全二叉树共有 700 个结点,则在该二叉树中有(350)个叶子结点 解答:700/2=350 若把 700 改为 675 呢?(=675/2=337.5 进行四舍五入=338) 4 设树 T 的度为 4,其中度为 1,2,3,4 的结点的个数分别为 4,2,1,1。则 T 中的叶子 结点的个数为(8) 解答:n0=(t-1)nt+(t-2)n(t-1)+.+1*n2+0*n1+1=3*1

15、+2*1+1*2+0*4+1=8 5 在一个容量为 15 的循环队列中,若头指针 front=6,尾指针 rear=9,则该循环队列中共有多 少个元素?(3 个) 解答:若头尾,元素个数=15+(尾-头) 6 设有则 R 和 S 能进行交集(RnS) 、并集(RuS) 、差操作(R-S)如果如果 R R 和和 S S 的元不同的的元不同的 话,则话,则 R R 和和 S S 只能进行笛卡尔集(只能进行笛卡尔集(RXSRXS)和自然连接)和自然连接7 关于二叉树遍历问题:有两个题型,一是给出二叉树,求三种遍历结果;二是给出两种 遍历,求第三种遍历结果。后者有点难度 三种遍历是:前序(根左右) 、

16、中序(左根右)和后序(左右根)8 关于查找和排序问题: 查找技术-顺序查找对于长度为 n 的有序线性表,查找时需要比较 n 次二分法查找对于长度为 n 的有序线性表,查找时需要比较 log2n 次 排序技术-假设线性表的长度为 n,则冒泡排序和简单插入排序的比较次数(时间复杂度) 为 n(n-1)/2;希尔排序的比较次数为 O(n1.5);简单选择排序的 比较次数为 n(n-1)/2;堆排序的比较次数为 O(nlog2n).9 关于出栈的问题:记住是先进后出先进后出 例 1:栈底到顶依次存放 A、B、C、D,在第五个元素 E 入栈前,栈中元素可以出栈,则出 栈可能的序列是ABCED DCBEA DBCEA CDABE 例 2:如果进栈序列为 e1,e2,e3,e4,则可能的出栈序列为: e

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号