没有合适的资源?快使用搜索试试~ 我知道了~
全国计算机等级考试之—二级公共基础知识.doc
需积分: 5 0 下载量 33 浏览量
2022-07-18
15:11:00
上传
评论
收藏 618KB DOC 举报
温馨提示
试读
85页
全国计算机等级考试之—二级公共基础知识.doc
资源推荐
资源详情
资源评论
1 / 85
国二 C 语言考试题型结构
笔试部分:
1. 选择题(共 35 题,70 分)
2. 填空题(共 15 空,30 分)
机试部分
1. 程序填空题(30 分)
2. 程序改错题(30 分)
3. 编程题(40 分)
2 / 85
全国计算机等级考试——二级公共基础知识
第一章 数据结构与算法
1.1 算法
1、算法是指解题方案的准确而完整的描述。换句话说,算法是对特定问题求解步骤的一种
描述。
*:算法不等于程序,也不等于计算方法。程序的编制不可能优于算法的设计。
2、算法的基本特征
(1)可行性。针对实际问题而设计的算法,执行后能够得到满意的结果。
(2)确定性。每一条指令的含义明确,
无二义性。并且在任何条件下,算法只有唯一的一条执行路径,即一样的输入只能得出一样
的输出。
3 / 85
(3)有穷性。算法必须在有限的时间内完成。
有两重含义,一是算法中的操作步骤为有限个,二是每个步骤都能在有限时间内完成。
(4)拥有足够的情报。算法中各种运算总是要施加到各个运算对象上,而这些运算对象又
可能具有某种初始状态,这就是算法执行的起点或依据。因此,一个算法执行的结果总是与
输入的初始数据有关,不同的输入将会有不同的结果输出。当输入不够或输入错误时,算法
将无法执行或执行有错。一般说来,当算法拥有足够的情报时,此算法才是有效的;而当提
供的情报不够时,算法可能无效。
*:综上所述,所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,
且是明确的,此顺序将在有限的次数下终止。
3、算法复杂度主要包括时间复杂度和空间复杂度。
(1)算法时间复杂度是指执行算法所需要的计算工作量,
可以用执行算法的过程中所需基本运算的执行次数来度量。
(2)算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本概念
1、数据结构是指相互有关联的数据元素的集合。
2、数据结构主要研究和讨论以下三个方面的问题:
(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构。
数据的逻辑结构包含:1)表示数据元素的信息;2)表示各数据元素之间的前后件关系。
(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构。
数据的存储结构有顺序、、索引等。
1)顺序存储。它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑
关系由存储单元的邻接关系来体现。由此得到的存储表示称为顺序存储结构。
4 / 85
2)存储。它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的
指针字段表示的。由此得到的存储表示称为链式存储结构。
3)索引存储:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。
*:数据的逻辑结构反映数据元素 之间的逻辑关系,数据的存储结构(也称数据的物理结构)
是数据的逻辑结构在计算机存储空间中的存放形式。同一种逻辑结构的数据可以采用不同的
存储结构,但影响数据处理效率。
(3)对各种数据结构进行的运算。
3、数据结构的图形表示
一个数据结构除了用二元关系表示外,还可以直观地用图形表示。在数据结构的图形表示中,
对于数据集合 D 中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点,
并简称为结点;为了进一步表示各数据元素之间的前后件关系,对于关系 R 中的每一个二元
组,用一条有向线段从前件结点指向后件结点。
4、数据结构分为两大类型:线性结构和非线性结构。
(1)线性结构(非空的数据结构)条件:
1)有且只有一个根结点;2)每一个结点最多有一个前件,也最多有一个后件。
*:常见的线性结构有线性表、栈、队列和线性链表等。
(2)非线性结构:不满足线性结构条件的数据结构。
*:常见的非线性结构有树、二叉树和图等。
1.3 线性表与其顺序存储结构
1、线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位
置是线性的。线性表是由 n(n≥0)个数据元素组成的一个有限序列,表中的每一个数据元素,
5 / 85
除了第一个外,有且只有一个前件,除了最后一个外,有且只有一个后件。线性表中数据元
素的个数称为线性表的长度。线性表可以为空表。
*:线性表是一种存储结构,它的存储方式:顺序和链式。
2、线性表的顺序存储结构具有两个基本特点:
(1)线性表中所有元素所占的存储空间是连续的;
(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
*:由此可以看出,在线性表的顺序存储结构中,其前后件两个元素在存储空间中是紧邻的,
且前件元素一定存储在后件元素的前面,可以通过计算机直接确定第 i 个结点的存储地址。
3、顺序表的插入、删除运算
(1)顺序表的插入运算:在一般情况下,要在第 i(1≤i≤n)个元素之前插入一个新元素时,
首先要从最后一个(即第 n 个)元素开始,直到第 i 个元素之间共 n-i+1 个元素依次向后移
动一个位置,移动结束后,第 i 个位置就被空出,然后将新元素插入到第 i 项。插入结束后,
线性表的长度就增加了 1。
*:顺性表的插入运算时需要移动元素,在等概率情况下,平均需要移动 n/2 个元素。
(2)顺序表的删除运算:在一般情况下,要删除第 i(1≤i≤n)个元素时,则要从第 i+1 个元
素开始,直到第 n 个元素之间共 n-i 个元素依次向前移动一个位置。删除结束后,线性表的
长度就减小了 1。
*:进行顺性表的删除运算时也需要移动元素,在等概率情况下,平均需要移动(n-1)/2 个
元素。插入、删除运算不方便。
1.4 栈和队列
1、栈与其基本运算
栈是限定在一端进行插入与删除运算的线性表。
剩余84页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3670
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Javascript和Python的微商城项目设计源码 - MicroMall
- 基于Java的网上订餐系统设计源码 - online ordering system
- 基于Javascript的超级美眉网络资源管理应用模块设计源码
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
- 基于Vue和微信小程序的监理日志系统设计源码 - supervisionLog
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功