C语言公共基础知识

上传人:m**** 文档编号:495920614 上传时间:2023-04-08 格式:DOC 页数:35 大小:69.51KB
返回 下载 相关 举报
C语言公共基础知识_第1页
第1页 / 共35页
C语言公共基础知识_第2页
第2页 / 共35页
C语言公共基础知识_第3页
第3页 / 共35页
C语言公共基础知识_第4页
第4页 / 共35页
C语言公共基础知识_第5页
第5页 / 共35页
点击查看更多>>
资源描述

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

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

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

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

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

5、次排序技术-假设线性表的长度为n,则冒泡排序和简单插入排序的比较次数(时间复杂度)为n(n-1)/2;希尔排序的比较次数为O(n1.5);简单选择排序的比较次数为n(n-1)/2;堆排序的比较次数为O(nlog2n).习题1算法的时间复杂度是指(),算法的空间复杂度是指();线性表、栈、队列、线性链表是(线性结构),树是(非线性结构);数据的存储结构是指();队列是(先进先出),栈是(先进后出);下列二叉树的遍历结果:前序遍历(ABDECF)、中序遍历(DBEAFC)、后续遍历(DEBFCA) 在深度为5的满二叉树中,叶子结点的个数为(16);设树T的度为4,其中度为1,2,3,4的结点的个数

6、分别为4,2,1,1。则T中的叶子结点的个数为(8);对于长度为n的有序线性表,顺序查找次数为(n),二分法查找次数为(log2n);一棵完全二叉树共有700个结点,则在该二叉树中有(350)个叶子结点;一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后续遍历结果为(DEBFCA);冒泡排序的时间复杂度为(n(n-1)/2);在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有(3)元素;程序设计基础结构化程序设计的三种结构-是顺序、选择和循环对象-表示客观世界的任何实体类-是具有共同属性和方法的对象的集合实例-任何一个对象都是其对

7、应类的实例消息-一个实例和另一个实例之间传递的信息继承-是指直接获得已有的性质和特征,而不必重复定义它们。例如子类继承父类结构化程序设计主要强调-程序的易读性良好的程序设计风格是-程序应简单、清晰、可读性好在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送(消息)来实现的信息隐蔽的概念与(模块独立性)概念直接相关(任何对象都具有继承性)这句话是错误的注释分为(序言性注释)和(功能性注释)在面向对象方法中,信息隐蔽是通过对象的(封装性)来实现的类是一个支持集成的抽象数据类型,而对象是类的(实例)在面向对象方法中,类之间共享属性和操作的机制称为(继承)第三章软件工程基础软件生命周期-

8、软件产品从提出、实现、使用维护到停止使用退役的过程。分为软件定义、软件开发、软件运行维护三个阶段。软件生命周期的主要活动阶段-可行性分析、需求分析、软件设计、软件实现、软件测试、运行和维护。常见的需求分析方法-(1)结构化分析方法-主要包括面向数据流的结构化分析方法SA;面向数据结构的Jackson方法JSD;面向数据结构的结构化数据系统开发方法DSSD。(2)面向对象的分析方法OOA结构化分析方法工具-(1)数据流图DFD,记住DFD图的几个符号: (2)数据字典DD(3)判定树(4)判定表程序结构图(SC),N-S图,问题分析图(PAD)程序流程图(PFD)的几个符号: 软件测试-黑盒测试

9、:功能测试白盒测试:内部结构测试,穷举路径测试习题3在软件生命周期中,能准确地判断软件系统必须做什么和必须具备哪些功能的阶段是(需求分析)软件工程的3个要素(工具),(过程),(方法)检查软件产品是否符合需求定义的过程称为(确认测试)软件设计原则是(抽象)、(模块化)、(信息隐蔽)需求分析常用的工具是(DFD)在结构化方法中,软件功能分解属于(总体设计)阶段软件测试的目的是(改正错误)软件需求分析阶段可分为四个方面(需求获取)、(需求分析)、(编写需求格式说明)、(需求评审)软件是(程序)、(数据)、(文档)的集合Jakson方法是一中面向(数据流)的结构化方法软件工程研究的内容包括(软件开发

10、技术)、(软件工程管理)数据流图的类型有(交换型)、(事务型)软件开发环境是全面支持软件开发全过程的(软件工具)集合第四章数据库设计基础数据库-DB;数据库管理系统-DBMS;数据库管理员-DBA;数据库系统-DBS;数据库应用系统-DBAS数据模型所描述的内容分三个部分(数据结构)、(数据操作)、(数据约束)逻辑数据模型分(层次模型)、(网状模型)、(关系模型)、(面向对象模型)E-R模型-实体关系模型,主要由实体、属性、联系组成,联系分:1对1,1对多,多对多; 以二维表为基本结构所建立的模型称为关系模型,关系模型采用二维表来表示,简称表,由行和列组成,行称为元组或记录,列称为字段主键-唯

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

12、,则实体“项目主管”与“项目”的联系属于(一对多)数据独立性分为逻辑独立性和物理独立性,当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为(逻辑独立性)数据库系统中实现各种数据管理功能的核心软件称为(数据库管理系统DBMS)关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、(参照完整性)和自定义完整性第四章 数据库设计基础41 数据库系统的基本概念数据:实际上就是描述事物的符号记录。数据的特点:有一定的结构,有型与值之分,如整型、实型、字符型等。而数据的值给出了符合定型的值,如整型值15。数据库:是数据的集合,具有统一的结构形式并存放于统一的存储介

13、质内,是多种应用数据的集成,并可被各个应用程序共享。数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点。数据库管理系统:一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是数据库的核心。数据库管理系统功能:(1)数据模式定义:即为数据库构建其数据框架;(2)数据存取的物理构建:为数据模式的物理存取与构建提供有效的存取方法与手段;(3)数据操纵:为用户使用数据库的数据提供方便,如查询、插入、修改、删除等以及简单的算术运算及统计;(4)数据的完整性、安生性定义与检查;(5)数据库的并发控制与故障恢复;(6)数据的服务:如拷贝、转存、重组、性能监测、分

14、析等。为完成以上六个功能,数据库管理系统提供以下的数据语言:(1)数据定义语言:负责数据的模式定义与数据的物理存取构建;(2)数据操纵语言:负责数据的操纵,如查询与增、删、改等;(3)数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等。数据语言按其使用方式具有两种结构形式:交互式命令(又称自含型或自主型语言)宿主型语言(一般可嵌入某些宿主语言中)。数据库管理员:对数据库进行规划、设计、维护、监视等的专业管理人员。数据库系统:由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。数据库应用系统:由数据库系统

15、、应用软件及应用界面三者组成。文件系统阶段:提供了简单的数据共享与数据管理能力,但是它无法提供完整的、统一的、管理和数据共享的能力。层次数据库与网状数据库系统阶段 :为统一与共享数据提供了有力支撑。关系数据库系统阶段数据库系统的基本特点:数据的集成性 、数据的高共享性与低冗余性 、数据独立性(物理独立性与逻辑独立性)、数据统一管理与控制。数据库系统的三级模式:(1)概念模式:数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图;(2)外模式:也称子模式与用户模式。是用户的数据视图,也就是用户所见到的数据模式;(3)内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。数据库系统的两级映射:(1)概念模式到内模式的映射;(2)外模式到概念模式的映射。4.2 数据模型数据模型的概念:是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述

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

当前位置:首页 > 建筑/环境 > 综合/其它

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