全国计算机等级考试二级公共基础知识2_第1页
全国计算机等级考试二级公共基础知识2_第2页
全国计算机等级考试二级公共基础知识2_第3页
全国计算机等级考试二级公共基础知识2_第4页
全国计算机等级考试二级公共基础知识2_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.基本数据结构与算法全国计算机等级考试二级公共基础知识2全文共105页,当前为第1页。1.1算法1.1.1算法(algorithm)基本概念对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。它是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法具有有穷性、确定性、可行性、输入和输出(拥有足够的情报)等5个重要特性。全国计算机等级考试二级公共基础知识2全文共105页,当前为第2页。1.1.2算法的基本要素

1、对数据对象的运算和操作算术运算逻辑运算关系运算数据传输2、算法的控制结构算法中各操作之间的执行顺序描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等一个算法一般可以用顺序、选择、循环三种基本机构组合而成。全国计算机等级考试二级公共基础知识2全文共105页,当前为第3页。1.1.3算法设计基本方法列举法归纳法递推递归(以简洁的形式设计和描述算法)减半递推技术回溯法全国计算机等级考试二级公共基础知识2全文共105页,当前为第4页。1.2算法复杂度1.2.1时间复杂度依据算法编制的程序在计算机上运行时所消耗的时间来度量。通常有事后统计法和事前分析估算法。一个算法是由控制结构(顺序、分支和循环)和原操作构成的,算法时间取决于两者的综合效果。算法中基本操作重复执行次数n和算法执行时间同步增长,称作算法的时间复杂度。全国计算机等级考试二级公共基础知识2全文共105页,当前为第5页。全国计算机等级考试二级公共基础知识2全文共105页,当前为第6页。全国计算机等级考试二级公共基础知识2全文共105页,当前为第7页。1.2.2算法的空间复杂度一般是指执行这个算法所需要的内存空间一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及某种数据结构所需要的附加存储空间一个上机执行的程序除了需要存储空间来寄存本身所用指令、常数、变量和输入数据外,也需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间。全国计算机等级考试二级公共基础知识2全文共105页,当前为第8页。例题讲解全国计算机等级考试二级公共基础知识2全文共105页,当前为第9页。

算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数

D)算法程序中的指令条数算法的空间复杂度是指

A)算法程序的长度 B)算法程序中的指令条数

C)算法程序所占的存储空间

D)执行过程中所需要的存储空间在计算机中,算法是指

A)加工方法B)解题方案的准确而完整的描述

C)排序方法D)查询方法全国计算机等级考试二级公共基础知识2全文共105页,当前为第10页。算法分析的目的是

A)找出数据结构的合理性

B)找出算法中输入和输出之间的关系

C)分析算法的易懂性和可靠性

D)分析算法的效率以求改进算法的工作量大小和实现算法所需的存储单元多少分别称为算法的【1】

。算法的基本特征是可行性、确定性、

【2】和拥有足够的情报。全国计算机等级考试二级公共基础知识2全文共105页,当前为第11页。数据结构

数据结构是一门研究数据组织、存储和运算的一般方法的学科。是指反映数据元素之间关系的数据元素的集合。全国计算机等级考试二级公共基础知识2全文共105页,当前为第12页。数据元素(DataElement)

数据元素是数据的基本单位,即数据集合中的个体。有时一个数据元数可由若干数据项(DataItem)组成。数据项是数据的最小单位。数据元素亦称节点或记录。全国计算机等级考试二级公共基础知识2全文共105页,当前为第13页。数据的逻辑结构可描述为Group=(D,R)全国计算机等级考试二级公共基础知识2全文共105页,当前为第14页。全国计算机等级考试二级公共基础知识2全文共105页,当前为第15页。全国计算机等级考试二级公共基础知识2全文共105页,当前为第16页。1.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构

B.非线性结构A顺序存储C索引存储B链式存储D散列存储线性表栈队树形结构图形结构数据结构的三个方面数据结构可描述为Group=(D,R)全国计算机等级考试二级公共基础知识2全文共105页,当前为第17页。线性结构

A,B,C,·······,X,Y,Z学生成绩表86胡孝臣986110395刘忠赏9861107100张卓9861109成绩姓名学号线性表——结点间是以线性关系联结全国计算机等级考试二级公共基础知识2全文共105页,当前为第18页。1.数据的逻辑结构2、数据的存储结构

3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构

B.非线性结构A顺序存储B链式存储

线性表栈队树形结构图形结构数据结构的三个方面

数据结构可描述为Group=(D,R)全国计算机等级考试二级公共基础知识2全文共105页,当前为第19页。树形结构全校学生档案管理的组织方式计算机程序管理系统也是典型的树形结构全国计算机等级考试二级公共基础知识2全文共105页,当前为第20页。ABCDEFGH树形结构——

结点间具有分层次的连接关系HBCDEFGA全国计算机等级考试二级公共基础知识2全文共105页,当前为第21页。1.数据的逻辑结构

2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。

A.线性结构

B.非线性结构A顺序存储B链式存储

线性表栈队树形结构图形结构数据结构的三个方面

(亦称物理结构)全国计算机等级考试二级公共基础知识2全文共105页,当前为第22页。1423D={1,2,3,4}R={(1,2),(1,3),(1,4),(2,3)(3,4),(2,4)}213D={1,2,3}R={(1,2),(2,3),(3,2),(1,3)}

图形结构——节点间的连结是任意的全国计算机等级考试二级公共基础知识2全文共105页,当前为第23页。1.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储B链式存储线性表栈队树形结构图形结构数据结构的三个方面

(亦称物理结构)全国计算机等级考试二级公共基础知识2全文共105页,当前为第24页。元素n……..元素i……..元素2元素1LoLo+mLo+(i-1)*mLo+(n-1)*m存储地址存储内容Loc(a)=Lo+(i-1)*m顺序存储每个元素所占用的存储单元个数全国计算机等级考试二级公共基础知识2全文共105页,当前为第25页。元素n……..元素i……..元素2元素1存储内容顺序存储结构常用于线性数据结构,将逻辑上相邻的数据元素存储在物理上相邻的存储单元里。顺序存储结构的三个弱点:1.作插入或删除操作时,需移动大量元数。2.长度变化较大时,需按最大空间分配。3.表的容量难以扩充。全国计算机等级考试二级公共基础知识2全文共105页,当前为第26页。1.数据的逻辑结构

2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储B链式存储

线性表栈队树形结构图形结构数据结构的三个方面

(亦称物理结构)全国计算机等级考试二级公共基础知识2全文共105页,当前为第27页。1536元素21400元素11346元素3∧元素41345h

链式存储

每个节点都由两部分组成:数据域和指针域。数据域存放元素本身的数据,指针域存放指针。数据元素之间逻辑上的联系由指针来体现。全国计算机等级考试二级公共基础知识2全文共105页,当前为第28页。1536元素21400元素11346元素3∧元素4head1346

元素31536

…….

……..

…….1536

元素21400

…….

……..

…….∧

元素413461400

元素11345

指针

存储内容存储地址

链式存储1345全国计算机等级考试二级公共基础知识2全文共105页,当前为第29页。1536元素21400元素11346元素3∧元素41345h

链式存储1.比顺序存储结构的存储密度小

(每个节点都由数据域和指针愈组成)。2.逻辑上相邻的节点物理上不必相邻。3.插入、删除灵活

(不必移动节点,只要改变节点中的指针)。链接存储结构特点:全国计算机等级考试二级公共基础知识2全文共105页,当前为第30页。1.数据的逻辑结构

2、数据的存储结构

3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储B链式存储线性表栈队树形结构图形结构数据结构的三个方面

(亦称物理结构)全国计算机等级考试二级公共基础知识2全文共105页,当前为第31页。

线性结构和非线性结构如果一个非空的数据结构满足下列两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件则称该数据结构为线性结构(线性表)。如果一个数据结构不是线性结构,则称之为非线性结构。全国计算机等级考试二级公共基础知识2全文共105页,当前为第32页。例题讲解全国计算机等级考试二级公共基础知识2全文共105页,当前为第33页。链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素 D)所需空间与线性表长度成正比数据结构分为逻辑结构与存储结构,线性链表属于【1】

。数据结构中,与所使用的计算机无关的是数据的

A)存储结构 B)物理结构

C)逻辑结构 D)物理和存储结构数据的逻辑结构有线性结构和【1】

两大类。全国计算机等级考试二级公共基础知识2全文共105页,当前为第34页。顺序存储方法是把逻辑上相邻的结点存储在物理位置

【2】的存储单元中。数据处理的最小单位是

A)数据 B)数据元素

C)数据项 D)数据结构数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及

A)数据的存储结构 B)计算方法C)数据映象D)逻辑存储线性表的顺序存储结构和线性表的链式存储结构分别是

A)顺序存取的存储结构、顺序存取的存储结构

B)随机存取的存储结构、顺序存取的存储结构

C)随机存取的存储结构、随机存取的存储结构

D)任意存取的存储结构、任意存取的存储结构全国计算机等级考试二级公共基础知识2全文共105页,当前为第35页。2.3线性表2.3.1线性表的定义线性表是n个元素的有限序列,它们之间的关系可以排成一个线性序列:

a1,a2,……,ai,……,an其中n称作表的长度,当n=0时,称作空表。全国计算机等级考试二级公共基础知识2全文共105页,当前为第36页。线性表的特点:1.线性表中所有元素的性质相同。2.除第一个和最后一个数据元素之外,其它数据元素有且仅有一个前驱和一个后继。第一个数据元素无前驱,最后一个数据元素无后继。3.数据元素在表中的位置只取决于它自身的序号。在线性表上常用的运算有:初始化、求长度、取元素、修改、前插、删除、检索、排序。全国计算机等级考试二级公共基础知识2全文共105页,当前为第37页。2.3.2线性表的顺序存储结构及其插入与删除操作特点:

1、线性表中数据元素类型一致,只有数据域,存储空间利用率高。

2、所有元素所占的存储空间是连续的

3、各数据元素在存储空间中是按逻辑顺序依次存放的

2.做插入、删除时需移动大量元素。

3.空间估计不明时,按最大空间分配。全国计算机等级考试二级公共基础知识2全文共105页,当前为第38页。元素an……..元素ai……..元素a2元素a1bb+mb+(i-1)*mb+(maxlen-1)*m存储地址内存状态Loc(元素i)=b+(i-1)*m顺序存储结构示意图(顺序表):全国计算机等级考试二级公共基础知识2全文共105页,当前为第39页。…..a2a1an…..ai+1ai01i-1in-11-1插入运算ai-1…..a2a1alength…ai+1aixai-1…..a2a1

aiai+1…alength

alength……ai+1aix全国计算机等级考试二级公共基础知识2全文共105页,当前为第40页。

插入算法的分析假设线性表中含有n个数据元素,在进行插入操作时,若假定在n+1个位置上插入元素的可能性均等,则平均移动元素的个数为:全国计算机等级考试二级公共基础知识2全文共105页,当前为第41页。

删除算法的分析在进行删除操作时,若假定删除每个元素的可能性均等,则平均移动元素的个数为:

分析结论顺序存储结构表示的线性表,在做插入或删除操作时,平均需要移动大约一半的数据元素。当线性表的数据元素量较大,并且经常要对其做插入或删除操作时,这一点需要值得考虑。全国计算机等级考试二级公共基础知识2全文共105页,当前为第42页。例题讲解全国计算机等级考试二级公共基础知识2全文共105页,当前为第43页。长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【1】

。根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成

A)动态结构和静态结构B)紧凑结构和非紧凑结构

C)线性结构和非线性结构D)内部结构和外部结构全国计算机等级考试二级公共基础知识2全文共105页,当前为第44页。线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是

A)每个元素都有一个直接前件和直接后件

B)线性表中至少要有一个元素

C)表中诸元素的排列顺序必须是由小到大或由大到小

D)除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件全国计算机等级考试二级公共基础知识2全文共105页,当前为第45页。2.4栈和队列2.4.1栈和队列的定义

栈和队列是两种特殊的线性表,它们是运算时要受到某些限制的线性表,故也称为限定性的数据结构。全国计算机等级考试二级公共基础知识2全文共105页,当前为第46页。2.4.1.1栈的定义栈:限定只能在表的一端进行插入和删除的特殊的线性表,此种结构称为后进先出设栈s=(a1,a2,...,ai,...,an),其中a1是栈底元素,an是栈顶元素。栈顶(top):允许插入和删除的一端;约定top始终指向新数据元素将存放的位置。栈底(bottom):不允许插入和删除的一端。a1a2….an进栈出栈栈顶栈底全国计算机等级考试二级公共基础知识2全文共105页,当前为第47页。队列的主要运算(1)设置一个空队列;(2)插入一个新的队尾元素,称为进队;(3)删除队头元素,称为出队;(4)读取队头元素;2.4.1.2队列的定义定义:一种特殊的线性结构,限定只能在表的一端进行插入,在表的另一端进行删除的线性表。此种结构称为先进先出(FIFO)表。a1,

a2,

a3,

a4,…………

an-1,

an

队列示意图队头队尾全国计算机等级考试二级公共基础知识2全文共105页,当前为第48页。2.4.2栈的顺序存储结构及其基本运算a2a1a1a2top

用顺序存储结构表示的栈。

顺序栈用一组连续的存储单元存放自栈底到栈顶的数据元素,一般用一维数组表示,设置一个简单变量top指示栈顶位置,称为栈顶指针,它始终指向待插入元素的位置。基本运算:压(进)栈:PUSH出栈:POP全国计算机等级考试二级公共基础知识2全文共105页,当前为第49页。

3210(a)rear=front=-1(队空)e3e4(c)e1,e2出队,e4入队

队满rear=4fronte1e2e3

(b)rearfront(b)e1,e2,e3入队2.4.3队列的顺序存储结构及其基本运算全国计算机等级考试二级公共基础知识2全文共105页,当前为第50页。例题讲解全国计算机等级考试二级公共基础知识2全文共105页,当前为第51页。栈和队列的共同特点是

A)都是先进先出B)都是先进后出

C)只允许在端点处插入和删除元素

D)没有共同点如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是

A)e3,e1,e4,e2B)e2,e4,e3,e1

C)e3,e4,e1,e2D)任意顺序全国计算机等级考试二级公共基础知识2全文共105页,当前为第52页。栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是

A)ABCED B)DCBEAC)DBCEA D)CDABE

栈通常采用的两种存储结构是

A)线性存储结构和链表存储结构

B)散列方式和索引方式

C)链表存储结构和数组D)线性存储结构和非线性存储结构下列数据结构中,按先进后出原则组织数据的是

A)线性链表B)栈

C)循环链表 D)顺序表全国计算机等级考试二级公共基础知识2全文共105页,当前为第53页。当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为

【1】。上溢

下列关于栈的叙述中正确的是A)在栈中只能插入数据B)在栈中只能删除数据C)栈是先进先出的线性表D)栈是后进先出的线性表下列关于队列的叙述中正确的是A)在队列中只能插入数据B)在队列中只能删除数据C)队列是先进先出的线性表D)队列是后进先出的线性表全国计算机等级考试二级公共基础知识2全文共105页,当前为第54页。2.5链表线性单链表双向链表循环链表全国计算机等级考试二级公共基础知识2全文共105页,当前为第55页。2.5.1线性表的链式存储结构

将线性表的元素放到一个具有头指针的链表中,链表中每个结点包含数据域和指针域。

数据域存放数据,指针域存放后继结点的地址,最后一个结点的指针域为空。逻辑上相邻的数据元素在内存中的物理存储空间不一定相邻。全国计算机等级考试二级公共基础知识2全文共105页,当前为第56页。上图的线性表为ZHAO,QIAN,SUN,LI,ZHOU,WU,ZHENG,WANG全国计算机等级考试二级公共基础知识2全文共105页,当前为第57页。线性链表表示法:全国计算机等级考试二级公共基础知识2全文共105页,当前为第58页。链式存储结构的特点

插入、删除灵活方便,不需要移动结点,只要改变结点中指针域的值即可。适合于线性表是动态变化的,不进行频繁查找操作、但经常进行插入删除时使用。

链表的查找只能从头指针开始顺序查找。

全国计算机等级考试二级公共基础知识2全文共105页,当前为第59页。a1a2an∧a3L…..线性表的链式存储结构可用“结构指针”来描述带头结点的线性链表datanexttypedefstructLNode{intdata;StructLNode*next;}JD;全国计算机等级考试二级公共基础知识2全文共105页,当前为第60页。babaxPP单链表的插入运算S在P所指向的结点之后插入新的结点全国计算机等级考试二级公共基础知识2全文共105页,当前为第61页。babax∧anaia1a2PPai-1xL单链表的插入运算S全国计算机等级考试二级公共基础知识2全文共105页,当前为第62页。单链表的插入运算voidlbcr(JD*p,intx){/*在P所指向的结点之后插入新的结点*/JD*s;/*定义指向结点类型的指针*/s=(JD*)malloc(sizeof(JD));/*生成新结点*/

s->data=x;s->next=p->next;p->next=s;returnOK;}

全国计算机等级考试二级公共基础知识2全文共105页,当前为第63页。∧anaia1a2Pai-1L单链表的插入运算voidlbcr(JD*p,intx){/*在P所指向的结点之后插入新的结点*/JD*s;/*定义指向结点类型的指针*/s=(JD*)malloc(sizeof(JD));/*生成新结点*/

s->data=x;s->next=p->next;p->next=s;returnOK;}全国计算机等级考试二级公共基础知识2全文共105页,当前为第64页。∧anaia1a2Pai-1L单链表的插入运算voidlbcr(JD*p,intx){/*在P所指向的结点之后插入新的结点*/JD*s;/*定义指向结点类型的指针*/s=(JD*)malloc(sizeof(JD));/*生成新结点*/

s->data=x;s->next=p->next;p->next=s;returnOK;}S全国计算机等级考试二级公共基础知识2全文共105页,当前为第65页。∧anaia1a2Pai-1xL单链表的插入运算voidlbcr(JD*p,intx){/*在P所指向的结点之后插入新的结点*/JD*s;/*定义指向结点类型的指针*/s=(JD*)malloc(sizeof(JD));/*生成新结点*/

s->data=x;

s->next=p->next;p->next=s;returnOK;}S全国计算机等级考试二级公共基础知识2全文共105页,当前为第66页。∧anaia1a2Pai-1xL单链表的插入运算voidlbcr(JD*p,intx){/*在P所指向的结点之后插入新的结点*/JD*s;/*定义指向结点类型的指针*/s=(JD*)malloc(sizeof(JD));/*生成新结点*/

s->data=x;

s->next=p->next;

p->next=s;returnOK;}S全国计算机等级考试二级公共基础知识2全文共105页,当前为第67页。∧anaia1a2Pai-1xL单链表的插入运算voidlbcr(JD*p,intx){/*在P所指向的结点之后插入新的结点*/JD*s;/*定义指向结点类型的指针*/s=(JD*)malloc(sizeof(JD));/*生成新结点*/

s->data=x;s->next=p->next;

p->next=s;

returnOK;}全国计算机等级考试二级公共基础知识2全文共105页,当前为第68页。voidlbsc(JD*p)/*删除p指针指向结点的后一个结点*/{JD*q;if(p->next!=NULL){q=p->next;/*q指向p的后继结点*/p->next=q->next;/*修改p结点的指针域*/free(q);/*删除并释放结点*/}}单链表的删除运算全国计算机等级考试二级公共基础知识2全文共105页,当前为第69页。ai-1a1aiai+1Lpvoidlbsc(JD*p)/*删除p指针指向结点的后一个结点*/{JD*q;if(p->next!=NULL){q=p->next;/*q指向p的后继结点*/p->next=q->next;/*修改p结点的指针域*/free(q);/*删除并释放结点*/}}单链表的删除运算全国计算机等级考试二级公共基础知识2全文共105页,当前为第70页。ai-1a1aiai+1Lpvoidlbsc(JD*p)/*删除p指针指向结点的后一个结点*/{JD*q;

if(p->next!=NULL){q=p->next;/*q指向p的后继结点*/p->next=q->next;/*修改p结点的指针域*/free(q);/*删除并释放结点*/}}单链表的删除运算a1q全国计算机等级考试二级公共基础知识2全文共105页,当前为第71页。ai-1a1aiai+1Lpqvoidlbsc(JD*p)/*删除p指针指向结点的后一个结点*/{JD*q;if(p->next!=NULL){q=p->next;/*q指向p的后继结点*/p->next=q->next;/*修改p结点的指针域*/free(q);/*删除并释放结点*/}}单链表的删除运算全国计算机等级考试二级公共基础知识2全文共105页,当前为第72页。ai-1a1aiai+1Lpqvoidlbsc(JD*p)/*删除p指针指向结点的后一个结点*/{JD*q;if(p->next!=NULL){q=p->next;/*q指向p的后继结点*/

p->next=q->next;/*修改p结点的指针域*/free(q);/*删除并释放结点*/}}单链表的删除运算全国计算机等级考试二级公共基础知识2全文共105页,当前为第73页。ai-1a1aiai+1Lpvoidlbsc(JD*p)/*删除p指针指向结点的后一个结点*/{JD*q;if(p->next!=NULL){q=p->next;/*q指向p的后继结点*/p->next=q->next;/*修改p结点的指针域*/

free(q);/*删除并释放结点*/}}单链表的删除运算全国计算机等级考试二级公共基础知识2全文共105页,当前为第74页。线性链表的查找操作:设无表头结点的线性链表的头指针为h,沿着链表的开始往后找结点x,若找到,则返回该结点在链表中的位置,否则返回空地址。JD*lbcz(JD*h,intx){JD*p;p=h;while(p!=NULL&&p->data!=x)p=p->next;return(p);}全国计算机等级考试二级公共基础知识2全文共105页,当前为第75页。2.5.2循环链表:

首尾相接的链表。将最后一个结点的空指针改为指向头结点,从任一结点出发均可找到其它结点。a1a2an∧a3L…..带头结点的单链表a1a2ana3L…..循环单链表全国计算机等级考试二级公共基础知识2全文共105页,当前为第76页。LS28375^PR(1)L=P->next;28375^PRSLL

例题对以下单链表分别执行下列各程序段,并画出结果示意图.全国计算机等级考试二级公共基础知识2全文共105页,当前为第77页。LS28375^PR(2)R->data=P->data;28575^PRS全国计算机等级考试二级公共基础知识2全文共105页,当前为第78页。(3)R->data=P->next->data;28775^PRSLS28375^PR全国计算机等级考试二级公共基础知识2全文共105页,当前为第79页。(4)P->next->next->next->data=P->data;25375^PRSLS28375^PR全国计算机等级考试二级公共基础知识2全文共105页,当前为第80页。(7)P=(JD*)malloc(sizeof(JD));P->data=10;R->link=P;P->link=S;LS28375^PR全国计算机等级考试二级公共基础知识2全文共105页,当前为第81页。(7)P=(JD*)malloc(sizeof(JD));P->data=10;R->link=P;P->link=S;PLS28375^PRLS28375^PR全国计算机等级考试二级公共基础知识2全文共105页,当前为第82页。(7)P=(JD*)malloc(sizeof(JD));

P->data=10;R->next=P;P->next=S;P10LS28375^PRLS28375^PR全国计算机等级考试二级公共基础知识2全文共105页,当前为第83页。(5)P=(JD*)malloc(sizeof(JD));P->data=10;

R->next=P;P->next=S;LS28375^RP10LS28375^PR全国计算机等级考试二级公共基础知识2全文共105页,当前为第84页。(7)P=(JD*)malloc(sizeof(JD));P->data=10;R->next=P;

P->next=S;LS28375^RP10LS28375^PR全国计算机等级考试二级公共基础知识2全文共105页,当前为第85页。(8)T=L;T->next=P->next;free(P);LS2837^PRT5LS28375^PR全国计算机等级考试二级公共基础知识2全文共105页,当前为第86页。(9)S->next=L;LS28375PR如果S->next==L则S所指向的结点为尾结点.LS28375^PR全国计算机等级考试二级公共基础知识2全文共105页,当前为第87页。例题讲解全国计算机等级考试二级公共基础知识2全文共105页,当前为第88页。用链表表示线性表的优点是

A)便于随机存取

B)花费的存储空间较顺序存储少

C)便于插入和删除操作

D)数据元素的物理顺序与逻辑顺序相同循环链表的主要优点是

A)不再需要头指针了

B)从表中任一结点出发都能访问到整个链表

C)在进行插入、删除运算时,能更好的保证链表不断开

D)已知某个结点的位置后,能够容易的找到它的直接前件全国计算机等级考试二级公共基础知识2全文共105页,当前为第89页。2.6树树的基本概念二叉树的定义及其存储结构二叉树的前序、中序和后序遍历全国计算机等级考试二级公共基础知识2全文共105页,当前为第90页。2.6.1树的定义由一个或多个结点组成的有限集合。仅有一个根结点,结点间有明显的层次结构关系。

A

C

GT2D

HIT3J

M

BEL

KT1F现实世界中,能用树的结构表示的例子:学校的行政关系、书的层次结构、人类的家族血缘关系等。全国计算机等级考试二级公共基础知识2全文共105页,当前为第91页。2.6.2二叉树(BinaryTree)1、二叉树的定义及其性质

(1)二叉树的定义二叉树的五种基本形态二叉树一种特殊的树型结构,特点是树中每个结点只有两棵子树,且子树有左右之分,次序不能颠倒。

空二叉树

仅有根结点

右子树为空

左子树为空左右子树均非空因为树的每个结点的度不同,存储困难,使对树的处理算法很复杂。所以引出二叉树的讨论。全国计算机等级考试二级公共基础知识2全文共105页,当前为第92页。二叉数是n(n0)个结点的有限集合。它或为空数(n=0),或由一个根结点和两棵分别称为根的左子树和右子树的互不相交的二叉数组成。

特别要注意:二叉数不是树的特殊情况。aabb两棵不同的二叉数全国计算机等级考试二级公共基础知识2全文共105页,当前为第93页。A、

二叉树的第i层上至多有2i-1(i1)个结点。(2)二叉树的基本性质423167891011121314155第三层上(i=3),有23-1=4个节点。第四层上(i=4),有24-1=8个节点。全国计算机等级考试二级公共基础知识2全文共105页,当前为第94页。A、

二叉树的第i层上至多有2i-1(i1)个结点。B、深度为h的二叉树中至多含有2h-1个结点。(2)二叉树的基本性质423167891011121314155此树的深度h=4,共有24-1=15个节点。全国计算机等级考试二级公共基础知识2全文共105页,当前为第95页。A、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论