c语言二级考试公共基础知识

c语言二级考试公共基础知识

ID:42739367

大小:34.50 KB

页数:5页

时间:2019-09-21

c语言二级考试公共基础知识_第1页
c语言二级考试公共基础知识_第2页
c语言二级考试公共基础知识_第3页
c语言二级考试公共基础知识_第4页
c语言二级考试公共基础知识_第5页
资源描述:

《c语言二级考试公共基础知识》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、公共基础知识算法一算法1、算法的基本概念(1)概念:算法是指一系列解决问题的清晰指令。(2)4个基本特征:可行性、确定性、有穷性、拥有足够的情报。(3)两种基本要素:对数据对象的运算和操作、算法的控制结构(运算和操作时间的顺序)(4)设计的基本方法:列举法、归纳法、递推法、递归法、减半递推技术和回溯法。2、算法的复杂度(1)算法的时间复杂度:执行算法所需的计算工作量。(2)算法的空间复杂度:执行算法所需的内存空间。二数据结构的基本概念1、数据结构指相互有关联的数据元素的集合,即数据的组织形式。其中逻辑结构反映数据元素之间的逻辑关系;存储结构为数据的逻辑结构在计算机存

2、储空间的存放形式,有顺序存储、链式存储、索引存储、和散列存储4种方式。数据结构按各元素之间前后间关系的复杂度可划分为:线性结构;有且只有一个根节点,且每个节点最多有一个直接前趋和一个直接后继的非空数据结构。非线性结构:不满足线性结构的数据结构。三、线性表及其顺序存储结构A、线性结构又称线性表,线性表是简单也是最常用的一种数据结构;B、线性表的顺序存储结构(元素所占用的存储空间必须连续。元素在存储空间的位置是按逻辑顺序存放的)c、线性表的插入运算:在第i个元素之前插入一个新元素的步骤如下:步骤一:把原来第i个结点至第n个节点一次往后移一个位置。步骤二:把新结点放在第i

3、个位置上。步骤三:修正线性表的节点个数。D、删除第i个位置元素的步骤;步骤一:把第i个元素之后的元素往前依次移动一个位置。步骤二:修正线性表的结点个数。四栈和队列1、栈及其基本运算(1)、基本概念:栈是一种特殊的线性表,其插入运算与删除运算都只在线性表的一端进行,也被称为“先进后出”表或“后进先出”表。栈顶:允许插入与删除的一端。栈底:栈顶的另一端空栈:栈中没有元素的栈(2)特点A、栈顶元素是最后被插入和最早被删除的元素B、栈底元素是最早被插入和最后被删除的元素C、栈有记忆作用D、在顺序存储结构下,栈的插入和删除运算不需移动表中其他数据元素E、栈顶指针top动态反映

4、了栈中元素的变化情况(3)顺序存储和运算:入栈运算退栈运算和读栈顶运算。2、队列及其基本运算(1)基本概念:队列是指允许在一端进行插入,在另一端进行删除的线性表,又称“先进先出”的线性表。A、队尾:允许插入的一端,用尾指针指向队尾元素B、排头:允许删除的一端,用头指针指向头元素的前一位置(2)循环队列及其运算:入队运算和退队运算。五、树和二叉树1、树的基本概念树是简单的非线性结构,树中有且只有一个没有前趋的节点称之为“根”,其余节点分成m个互不相交的有限集合T1,T2,.....TM,每个集合又是一棵树,称为根节点的子树。父节点:每一个节点只有一个前件,无前件的节点

5、只有一个,称之为树的根节点子节点:每一个节点可以有多个后件,无后件的节点称之为叶子节点树的度:所有节点最大的度树的深度:树的最大层次.2、二叉树及其基本性质二叉树是一种非线性机构,是有限的节点集合,该集合为空(空二叉树)或由一个根节点及两棵互不相交的左右二叉树组成。可分为满二叉树和完全二叉树,其中满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。A、二叉树可分为空,空的二叉树无节点,非空二叉树有且只有一个根节点B、每个节点最多可有两颗子树,称为左子树和右子树。3、二叉树的存储结构二叉树通常采用链式存储结构,存储节点由数据域和指针域(做指针域和右指针域)组成。二

6、叉树的链式存储结构也称二叉链表,对满二叉树和完全二叉树可按层次进行顺序存储。1、二叉树的遍历二叉树的遍历是指不重复地访问二叉树中所有节点,主要指非空二叉树,对与空二叉树则结束返回。二叉树的遍历包括前序遍历、中序遍历和后序遍历。六、查找技术1、顺序查找:在线性表中查找指定的元素;2、二分查找:线性表必是顺序存储结构,且必是有序表,反复查找直到成功或子表长度为0时结束。七、排序技术1、交换类排序法:借助数据元素的“交换”进行排序,包括冒泡排序法和快速排序法2、插入类排序法:包括简单插入排序法和希尔排序法3、选择类排序法:包括简单选择排序法和推排序法程序设计基础软件工程基

7、础1、基本概念:定义:软件是指与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档和数据。特点:是逻辑实体,有抽象性;生产没有明显的制作过程;运行使用期间不存在磨损、老化问题;开发、运行对计算机系统有依赖性,受计算机系统的限制,导致了软件移植问题;复杂性较高,成本昂贵;开发涉及诸多社会因素。2、软件危机和软件工程软件危机指在计算机软件的开发和维护中遇到的一系列严重问题。软件工程是应用与计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序,包括软件开发技术和阮家工程管理。3、软件工程过程把输入转化为输出的一组彼此相关的资源和活动。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。