ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:1.71MB ,
资源ID:13885686      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13885686.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(全国计算机二级公共基础知识复习Word格式文档下载.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

全国计算机二级公共基础知识复习Word格式文档下载.docx

1、数据的逻辑结构:是指反映数据元素之间逻辑关系的数据结构。数据的存储结构数据的存储结构:是数据的逻辑结构在计算机存储空间中的存放形式。也称数据的物理结构。各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的。同一种数据的逻辑结构可以根据需要表示成任意一种或几种不同的存储结构。数据的顺序存储方式:是将逻辑上相邻的结点存储在物理位置上亦相邻的存储单元里。也就是将所有存储结点相继存入在一个连续相邻的存储区里。数据的链式存储方式:是在存储每个结点信息的同时,增加一个指针来表示结点间的逻辑关系。该方式不要求逻辑上相邻结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。因此,链

2、式存储结构中的每个结点都由两部分组成:一部分用于存储结点本身的信息,称为数据域;另一部分用于存储该结点的后继结点(或前驱结点)的存储单元地址,称为指针域。指针域可以包含一个或多个指针,这由结点之间的关系所决定。线性结构和非线性结构如果在一个线性结构中,一个数据元素都没有,则称该数据结构为空数据结构。线性结构的逻辑特征:在一个非空的数据结构中,除第一个数据元素只有一个后继没有前驱、最后一个数据元素只有一个前驱没有后继外,其他的每一个数据元素仅有一个前驱和一个后继。线性结构也称为线性表。注:某个元素直接相邻的前一个元素称为此元素的前驱、直接相邻的后一个元素称为此元素的后继。非线性结构的逻辑特征:在

3、一个非空的数据结构中,某数据元素可能有多于一个前驱或后继。如树型结构等。习题:(一)选择题(单选)1. 算法的时间复杂度是指(D)A) 算法的执行时间B) 算法所处理的数据量C) 算法程序中的语句或指令条数D) 算法在执行过程中所需要的基本运算次数1.2线性表线性表是由同一类型的数据元素构成的一种线性的数据结构。是一种最基本、最常用的数据结构。线性表常用的存储方式有两种:顺序存储方式和链接存储方式。线性表的数学定义:L=(a1,a2,a3,an)说明:线性表是具有相同类型的n(n0)个数据元素组成的有限序列。L:为表的名称。ai(i=1,2, ,n):为表的元素,也称为线性表中的一个结点。它可

4、以是一个数、一个字符、一个字符串,也可以是一条记录,还可以是复杂的数据对象。a1是a2的前驱、a2是a1的后继, a2是a3的前驱、a3是a2的后继,依次类推。n:为线性表的长度(元素个数),当n=0时称线性表为空表。线性表的特点:在非空的线性表中:存在唯一的一个“第一个元素”(根结点)。存在唯一的一个“最后一个元素”(终端结点)。除第一个元素外,其他的元素均有唯一的前驱。除最后一个元素外,其他的元素均有唯一的后继。1.3栈和队列栈和队列本质上也是线性表,只是它们的操作受到了限制。1.3.1栈栈是限定仅在表尾进行插入和删除操作的线性表。表尾称为栈顶(top),表头称为栈底(bottom)。栈这

5、种数据结构,类似于子弹夹,底端是封闭的,最后压入的子弹总是最先被弹出,最先压入的子弹只能最后被弹出。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后能被删除的元素。即栈是按照“先进后出”或“后进先出”的原则组织数据的。因此,栈也被称为“先进后出”表或“后进先出”表。由此可以看出,栈具有记忆作用。1.3.2队列队列是指只允许在表的一端插入元素、在另一端删除元素的线性表。允许插入的一端称为队尾(rear),允许删除的一端称为队头(front)。在队列这种数据结构中,最先插入的元素将最先能够被删除,反之最后插入的元素将最后才能被删除。因此,队列又称

6、为“先进先出”或“后进后出”的线性表。1.4树和二叉树1.4.1树树形结构是数据结构中一种很重要的非线性结构。在树形结构中,所有数据元素之间的关系具有明显的层次特性。树形结构很像自然界中的树,像一棵倒长的树。在现实生活中,能用树形结构表示的例子很多。参见下面的图形:树形结构的基本特征及基本术语:以下图为例:树的根:在树形结构中,没有前驱的结点只有一个,称为树的根结点,简称为树的根。如:上图中的“R”。父结点:在树形结构中,每一个结点(除了树的根结点)只有一个前驱,称为父结点。上图中的“R”是K、P、Q、D的父结点;“N”是X、Y的父结点。子结点:在树形结构中,每个结点可以有多个后继,称为该结点

7、的子结点。上图中的K、P、Q、D是“R”的子结点;X、Y是“N”的子结点。叶子结点:在树形结构中,没有后继的结点称为叶子结点,也称终端结点。上图中的C、M、F、E、X、G、S、L、Z、A均为叶子结点。结点的度:在树形结构中,一个结点所拥有的后继个数称为该结点的度。上图中根结点R的度是4;结点T的度是3;结点P、Q、D、O、Y、W的度都为1。叶子结点的度为0。树的度:在树形结构中,所有结点中的最大的度称为树的度。上图中树的度为4,因为结点R的度最大,是4。树的深度:在树形结构中,树的最大层数称为树的深度(或高度)。上图中树的深度是5。树形结构具有明显的层次关系,即树是一种层次结构。在树形结构中一

8、般按如下原则分层:1) 根结点在第1层。2) 其余结点的层数等于其父结点的层数加1。子树:在树形结中,以某结点的一个子结点为根构成的树称为该结点的一棵子树。上图中,结点R有4棵子树,它们分别以K、P、Q、D为根结点;结点P有1棵子树,其根结点为N;结点T有3棵子树,它们分别以W、Z、A为根结点。在树形结构中,子树间互不相交,叶子结点没有子树。森林:森林是M(M0)棵互不相交的树的集合。删去一棵树的根,就得到一个森林;反之,加上一个结点作树根,森林就变为一棵树。1.4.2二叉树(1) 二叉树的特点 非空二叉树只有一个根结点。 二叉树中的每个结点,最多有两棵子树,分另称为该结点的左子树与右子树。当

9、一个结点即没有左子树也没有右子树时,该结点就是叶子结点。在下面的图中,左面是只有根结点的二叉树,右面是深度为4的二叉树: (2) 满二叉树与完全二叉树1) 满二叉树:满二叉树是指除最后一层外,每一层上的所有结点都有两个子结点。就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第k层上有2i-1(k1)个结点,且深度为k的满二叉树有2k-1(k1)个结点。在下图中分别是深度为2、3、4的满二叉树:满二叉树中不存在度数为1的结点,每个分支结点均有两棵深度相同的子树,且叶子结点都在最下一层。2) 完全二叉树:若一棵二叉树最多只有最下面的两层上结点的度数可以小于2,并且最下一层上的所有

10、结点都集中在该层最左边的若干位置上,则此二叉树称为完全二叉树。在下图的4棵二叉树中,分别是深度为3和4的完全二叉树:满二叉树是完全二叉树,完全二叉树不一定是满二叉树。在满二叉树的最下一层上,从最右边开始连续删去若干结点后得到的二叉树仍然是一棵完全二叉树。在完全二叉树中,若某个结点没有左子结点,则它一定没有右子结点,即该结点必是叶子结点。(3) 二叉树的性质假设定义根结点的层数为1(注意:有些资料中规定根结点的层数为0)。性质1:在二叉树的第i层上,最多有2i-1(i1)个结点。性质2:深度为k的二叉树最多有2k-1(k1)个结点。性质3:在任意二叉树中,若度为0的结点(即叶子结点)的个数为n0

11、,度为2的结点的个数为n2,则:n0= n2+1(对于完全二叉树还有如下属性)性质4:具有n个结点的完全二叉树,其深度为log2n+1。log2n表示取log2n的整数部分。性质5:如果将一棵有n个结点的完全二叉树自顶向下、同一层自左向右连续给结点编号1、2、3、n,则对于任意结点i(1in)有如下结论:1) 如果i=1,此结点为根结点,无前驱(即无父结点);如果i1,则该结点的父结点编号为Int(i/2)。也可表示成i/2,都表示取整数。2) 如果2in,则结点i无左子结点,显然也没有右子结点,是叶子结点。如果2in,则结点i的左子结点是编号为2i的结点。3) 如果2i+1n,则结点i无右子

12、结点。如果2i+1n,则结点i的右子结点的编号为2i+1。(4) 二叉树的遍历二叉树的遍历就是遵从某种次序,访问二叉树中的所有结点,使得每个结点仅被访问一次。一棵非空二叉树是由根结点、左子树和右子树三部分组成。因此遍历一棵非空二叉树的问题就可以分解为三项“子任条”: 访问根结点(假设用D表示)。 遍历左子树(假设用L表示)。 遍历右子树(假设用R表示)。在遍历二叉树的过程中,一般先遍历左子树,然后再遍历右子树。在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可分为三种:前序遍历(DLR)、中序遍历(LDR)、后序遍历(LRD)。 以下图中的二叉树为例: 前序遍历(DLR): 首先访问根结

13、点,然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问子树的根结点,然后遍历其左子树,最后遍历其右子树。即,前序遍历是指访问所有的根结点(包括子树的根结点)都在遍历其左、右子树之前。 前序遍历的操作: 若二叉树为空,则结束反返回。否则: 访问根结点 前序遍历左子树 前序遍历右子树如,对上图中的二叉树进行前序遍历的结果是:F C A D B E G H P 中序遍历(LDR): 首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,仍然先遍历其左子树,然后访问子树的根结点,最后遍历其右子树。即,中序遍历是指访问所有的根结点(包括子树的根结点)都在遍历其左子树之后、在遍历其右子树之前。 中序遍历的操作: 中序遍历左子树 访问根结点 中序遍历右子树如,对上图中的二叉树进行中序遍历的结果是:A C B D F E H G P 后序遍历(LRD): 首先遍历左子树,然后遍历右子树,最后访问根结点。在遍历左、右子树时,仍然先遍历其左子树,然后遍历其右子树,最后访问子树的根结点。即,后序遍历是指访问所有的根结点(包括子树的根结点)都在遍历其左、右子树之后。 后序遍历的操作:否

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1