电大数据结构本期末复习材料.docx
中央电大开放本科计算机科学及技术数据构造本期末综合练习一、单项选择题1数据元素是数据的根本单位,它 C 。A只能有一个数据项组成 B至少有二个数据项组成C可以是一个数据项也可以由假设干个数据项组成 D至少有一个数据项为指针类型2 一种逻辑构造 A 存储构造。 A可以有不同的 B只能有唯一的C的数据元素在计算机中的表示称为 D的数据元素之间的关系称为3线性表的依次构造中, C 。A逻辑上相邻的元素在物理位置上不愿定相邻 B数据元素是不能随机访问的C逻辑上相邻的元素在物理位置上也相邻 D进展数据元素的插入、删除效率较高4以下说法中不正确的选项是 B 。A双向循环链表中每个结点须要包含两个指针域B单向链表中任一结点的指针就能访问到链表中每个结点C依次存储的线性链表是可以随机访问的 D单向循环链表中尾结点的指针域中存放的是头指针5以下表中可以随机访问的是 D 。 A单向链表 B双向链表 C单向循环链表 D依次表6双向循环链表结点的数据类型为: struct node int data; struct node *next; /*指向干脆后继*/ struct node *prior;;设p指向表中某一结点,要显示p所指结点的干脆前驱结点的数据元素,可用操作 B 。Aprintf(“%d,p->next->data); Bprintf(“%d,p->prior->data);Cprintf(“%d,p->prior->next); Dprintf(“%d,p->data);7 .设依次存储的线性表长度为n,对于删除操作,设删除位置是等概率的,那么删除一个元素平均挪动元素的次数为 A 。A(n+1)/2 Bn C2n Dn-i8一个栈的进栈序列是efgh,那么栈的不行能的出栈序列是 D 进出栈操作可以交替进展。Ahgfe Bgfeh Cfgeh Dehfg9设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,那么出栈操作为 A 。Ax=top->data;top=top->next; Btop=top->next;x=top->data; Cx=top-> next;top=top-> data; Dtop->next =top; x=top->data; 10设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,那么取栈顶元素的操作为 C 。Atop->data= x; Btop=top->next; Cx=top->data; Dx=top->data; top= top->next;11以下说法正确的选项是 C 。A队列是后进先出 B栈的特点是后进后出C栈的删除和插入操作都只能在栈顶进展 D队列的删除和插入操作都只能在队头进展13串函数StrCmp(“abA,aba)的值为 D 。A1 B0 C“abAaba D-114char *p; p=StrCat(“ABD,ABC); Printf(“%s,p); 的显示结果为 B 。A-1 BABDABC CAB D115设有一个12阶的对称矩阵A,承受压缩存储方式将其下三角部分以行序为主序存储到一维数组b中矩阵A的第一个元素为a1,1,数组b的下标从1开始,那么矩阵A中第4行的元素在数组b中的下标i确定有 A 。A、7i10 B、11i15 C、9i14 D、6i916深度为5的满二叉树至多有 B 个结点根结点为第一层A40 B31 C34 D3517一个图的边数为m,那么该图的全部顶点的度数之和为 A 。A2m Bm C2m+1 Dm/218一个图的全部顶点的度数之和为m,那么该图的边数为 D 。A2m Bm C2m+1 Dm/219以下说法不正确的选项是 D 。 A连通图G确定存在生成树 B连通图G的生成树中确定包含G的全部顶点C连通图G的生成树中不愿定包含G的全部边 D连通图G的生成树可以是不连通的20以下说法不正确的选项是 A 。 A连通图G的生成树确定是唯一的 B连通图G确定存在生成树C连通图G的生成树中确定要包含G的全部顶点D连通图G的生成树确定是连通而且不包含回路21散列查找的原理是 A 。A在待查记录的关键字值及该记录的存储位置之间建立确定的对应关系B按待查记录的关键字有序的依次方式存储C按关键字值的比较进展查找 D基于二分查找的方法22有序表为1,2,4,6,10,18,20,32,用课本中折半查找算法查找值18,经 B 次比较后胜利查到。 A3 B2 C4 D523排序过程中,每一趟从无序子表中将一个待排序的记录按其关键字的大小放置到已经排好序的子序列的适当位置,直到全部排好序为止,该排序算法是( A )。 A干脆插入排序 B快速排序 C冒泡排序 D选择排序 24在排序过程中,可以通过某一趟排序的相关操作所供应的信息,推断序列是否已经排好序,从而可以提早完毕排序过程的排序算法是( A )。 A冒泡 B选择 C干脆插入 D折半插入 25承受依次查找法对长度为n的线性表进展查找不承受表尾设监视哨的方法,最坏的状况下要进展 B 次元素间的比较。 An+2 Bn Cn-1 Dn/226用折半查找法,对长度为12的有序的线性表进展查找,最坏状况下要进展 A 次元素间的比较 A4 B3 C5 D627如图假设从顶点a动身按广度优先搜寻法进展遍历,那么可能得到的顶点序列为 D 。abecdhgf AacebdfghBaebcghdfCaedfbcghDabecdfgh 图1 28如图假设从顶点a动身按深度优先搜寻法进展遍历,那么可能得到的顶点序列为 B 。bcgdafe AacfgedbBaedbgfcCacfebdgDaecbdgf29一棵哈夫曼树总共有23个结点,该树共有 D 个叶结点终端结点A10 B13 C11 D1230一棵哈夫曼树总共有25个结点,该树共有 A 个非叶结点非终端结点。A12 B13 C14 D1531针对线性表,在存储后假设最常用的操作是取第i个结点及其前驱,那么承受 D 存储方式最节约时间。A单链表 B双链表 C单循环链表 D依次表32线性表承受链式存储时,其地址 C 。A确定是不连续的 B必需是连续的C可以连续也可以不连续 D部分地址必需是连续的33数据构造中,及所运用的计算机无关的是数据的 D 构造。 A物理 B存储 C逻辑及物理 D逻辑34带头结点的单向链表的头指针为head,该链表为空的断定条件是 C 的值为真。Ahead = = NULL Bhead->next= =head Chead->next= = NULL Dhead = =head->next35以下特征中, D 不是算法的特性。 A有穷性 B确定性 C可行性 D有0个或多个输出 36设依次存储的线性表长度为n,对于插入操作,设插入位置是等概率的,那么插入一个元素平均挪动元素的次数为 A 。An/2 Bn Cn-1 Dn-i+137设有一个长度为n的依次表,要在第i个元素之前也就是插入元素作为新表的第i个元素,那么挪动元素个数为 A 。 An-i+1 Bn-i Cn-i-1 Di38一个栈的进栈序列是5,6,7,8,那么栈的不行能的出栈序列是A 进出栈操作可以交替进展A5,8,6,7 B7,6,8,5 C7,6,5,8 D8,7,6,539栈的插入删除操作在 D 进展。 A栈底 B随意位置 C指定位置 D栈顶40栈和队列的一样点是 D 。A都是后进先出 B都是后进后出C逻辑构造及线性表不同 D逻辑构造及线性表一样,都是操作规那么受到限制的线性表41以下说法正确的选项是 C 。 A栈的特点是先进先出,队列的特点是先进后出 B栈和队列的特点都是先进后出C栈的特点是先进后出,队列的特点是先进先出 D栈和队列的特点都是先进先出42在C语言中,利用数组a存放字符串“Hello,以下语句中正确的选项是 A 。Achar a10= “Hello; Bchar a10; a=“Hello;Cchar a10= Hello; Dchar a10=H,e,l,l,o;43元素2,4,6,8按依次依次进栈,那么该栈的不行能输出序列是 D 进栈出栈可以交替进展。 A8,6,4,2 B2,4,6,8 C4,2,8,6 D8,6,2,444设有一个15阶的对称矩阵A,承受压缩存储方式将其下三角部分以行序为主序存储到一维数组b中。矩阵A的第一个元素为a1,1,数组b的下标从1开始,那么数组元素b13对应A的矩阵元素是 A 。Aa5,3 Ba6,4 Ca7,2 Da6,845设有一个15阶的对称矩阵A,承受压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中数组下标从1开始,那么矩阵中元素a7,6在一维数组B中的下标是 C 。A42 B13 C27 D3246一棵完全二叉树共有30个结点,那么该树一共有 D 层(根结点所在层为第一层)。A6 B4 C3 D547串函数StrCmp“d,“D的值为 B 。 A0 B1 C-1 D348以下说法正确的选项是 D 。 A连通图G的生成树中不愿定包含G的全部顶点 B连通图G的生成树中确定要包含G的全部边C连通图G的生成树确定是唯一的 D连通图G确定存在生成树49在一棵二叉树中,假设编号为i的结点存在右孩子,那么右孩子的依次编号为 D 。 A2i B2i-1 C2i+2 D2i+150对二叉排序树进展 C 遍历,遍历所得到的序列是有序序列。 A按层次 B前序 C中序 D后序51设一棵有n个结点承受链式存储的二叉树,那么该树共有 D 个指针域为空。 A2n B2n+1 C2n+2 Dn+152以下排序算法中,在一趟排序过程中,除了其它相关操作外,只进展一次元素间的交换的算法是 A 。 A干脆选择 B冒泡 C干脆插入 D折半插入bdfeca53如图1所示的一个图,假设从顶点a动身,按广度优先搜寻法进展遍历,那么可能得到的一种顶点序列为 B 。 Aabcedf Babcefd Caebcfd Dacfdeb 图154对长度为n的线性表进展依次查找,在等概率状况下,平均查找长度为 B 。 An Bn+1/2 C2n Dn-1 55在有序表1,3,8,13,33,42,46,63,76,78,86,97,100中,用折半查找值86时,经 D 次比较后查找胜利。A6 B3 C8 D456如图假设从顶点a动身按深度优先搜寻法进展遍历,那么可能得到的顶点序列为 A 。abecdfg AacfgedbBaedcbgfCacfebdgDaecbdgf57有一个长度为10的有序表,按折半查找对该表进展查找,在等概率状况下查找胜利的平均比较次数为 A 。A29/10 B31/10 C26/10 D29/958一棵哈夫曼树有12个叶子结点终端结点,该树总共有 C 个结点。A22 B21 C23 D2459一组记录的关键字序列为37,70,47,29,31,85,利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为 A 。 A31,29,37,47,70,85 B29,31,37,47,70,85C31,29,37,70,47,85 D31,29,37,85,47,7060队列的删除操作在 A 进展。 A队头 B队尾 C队头或队尾 D在随意指定位置61 A 是性质一样的数据元素的集合,是数据的子集。A数据对象 B数据元素 C数据构造 D数据项62设链表中的结点是NODE类型的构造体变量,且有NODE *p;为了申请一个新结点,并由p指向该结点,可用以下语句 D 。Ap=(NODE *)malloc(sizeof(p); Bp=(*NODE)malloc(sizeof(NODE);Cp=(NODE )malloc(sizeof(p); Dp=(NODE *)malloc(sizeof(NODE);63设依次存储的线性长度为n,要在第i个元素之前插入一个新元素,按课本的算法当i=( C 时,挪动元素次数为2An/2 Bn Cn-1 C164一个栈的进栈序列是1,2,3,4,那么栈的不行能的出栈序列是D进出栈操作可以交替进展A3,2,4,1 B3,2,1,4 C4,3,2,1 D1,4,2,3 65设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针。设p指向要入队的新结点(该结点已被赋值),那么入队操作为 A 。Arear->next=p;rear=p; Brear->next=p; p = rear; Cp = rear->next;rear=p; Drear=p;rear->next=p;66以下说法不正确的选项是 D 。 A依次栈中,栈满时再进展进栈操作称为“上溢B依次栈中,栈空时再作出栈栈操作称为“下溢C依次队列中,队列的头指针和尾指针均超越队列存储空间的上界,那么队列已空D依次队列中,当尾指针已经超越队列存储空间的上界,那么确定是队列已满67设有一个20阶的对称矩阵A,承受压缩存储方式,将其下三角部分以行序为主序存储到一维数组中矩阵A的第一个元素为a11,数组b的下标从1开始,那么矩阵元素a8,5在一维数组b中的下标是 D 。A30 B28 C40 D33 68一个图的全部顶点的度数之和为m,那么m确定不行能是 D 。A4 B8 C12 D969以下说法正确的选项是 C 。 A连通图G的生成树中可以包含回路 B连通图G的生成树可以是不连通的C连通图G的生成树确定是连通而不包含回路的 D连通图G的生成树确定是唯一的70对n个元素进展冒泡排序,通常要进展n-1趟冒泡,在第j趟冒泡中共要进展 C 次元素间的比较。 Aj Bj-1 Cn-j Dn-j-1 71在排序过程中,可以有效地削减一趟排序过程中元素间的比较次数的算法是C 。 A冒泡 B选择 C折半插入 D干脆插入 72一棵哈夫曼树有n个叶子结点终端结点,该树总共有 B 个结点。A2n-2 B2n-1 C2n D2n+273数据的 A 构造及所运用的计算机无关。 A逻辑 B物理 C存储 D逻辑及存储74从n个数中选取最大元素 B 。 A根本操作是数据元素间的交换 B算法的时间困难度是O(n) C算法的时间困难度是O(n2) D须要进展(n+1)次数据元素间的比较75设head为非空的单向循环链表头指针,p指向链表的尾结点,那么满意逻辑表达式 B 的值为真。Ap->next=NULL Bp->next= =head Cp->next=head Dp= =NULL76设依次存储的线性表长度为n,要删除第i个元素,按课本的算法,当i= C 时,挪动元素的次数为3。A3 Bn/2 Cn-3 D377一个栈的进栈序列是a,b,c,d,那么栈的不行能的出栈序列是 D 。Adcba Bbcad Ccbad Dadbc 78设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针,要执行出队操作,用x保存出队元素的值,p为指向结点类型的指针,可执行如下操作:p=front->next;x=p->data; 然后指行 D 。Afront=p->next; Bfront->next =p; Cfront=p; Dfront->next=p->next;79在C语言中,存储字符串“ABCD须要占用 C 字节。A4 B2 C5 D380设有一个10阶的对称矩阵A,承受压缩存储方式将其下三角部分以行序为主序存储到一维数组b中。矩阵A的第一个元素为a1,1,数组b的下标从1开始,那么矩阵元素a5,3对应一维数组b的数组元素是 C 。Ab18 Bb8 Cb13 Db1081设有一个15阶的对称矩阵A,承受压缩存储方式将其下三角部分以行序为主序存储到一维数组b中。矩阵A的第一个元素为a1,1,数组b的下标从1开始,那么数组元素b13对应A的矩阵元素是 A 。Aa5,3 Ba6,4 Ca7,2 Da6,882深度为5的完全二叉树共有20个结点,那么第5层上有 C 个结点(根所在结点为第一层)。A3 B8 C5 D683一个图的全部顶点的度数之和为m,且m是以下4中状况之一,那么m只可能是 D 。A9 B7 C15 D884以下说法正确的选项是 C 。 A连通图G的生成树中不愿定包含G的全部顶点 B连通图G的生成树中确定要包含G的全部边C连通图G确定存在生成树 D连通图G的生成树确定是唯一的85线性表只要以 C 方式存储就能进展折半查找。A链接 B依次 C关键字有序的依次 D二叉树86对二叉排序树进展 C 遍历,遍历所得到的序列是有序序列。 A按层次 B前序 C中序 D后序87对n个元素进展冒泡排序假设某趟冒泡中只进展了C 次元素间的交换,那么说明序列已经排好序。 A1 B2 C0 Dn-188在对一组元素64,48,106,33,25,82,70,55,93进展干脆插入排序时,当进展到要把第7个元素70插入到已经排好序的子表时,为找到插入位置,需进展 C 次元素间的比较指由小到大排序。A6 B2 C3 D4abecdfg89如图,假设从顶点a动身按广度优先搜寻法进展遍历,那么可能得到的顶点序列为 C 。 Aacebdgf Bacfedgb CabecdgfDabecfdg 90一棵哈夫曼树有10个非叶子结点非终端结点,该树总共有 A 个结点。A21 B20 C22 D1991一棵哈夫曼树有12个叶子结点终端结点,该树总共有 C 个结点。A21 B22 C23 D2492队列的插入操作在 B 进展。 A队头 B队尾 C队头或队尾 D在随意指定位置93队列的删除操作在 B 进展。 A队尾 B队头 C队头或队尾 D在随意指定位置94链表所具备的特点是 C 。A.可以随机访问任一结点 B.占用连续的存储空间C.插人删除元素的操作不须要挪动元素结点 D.可以通过下标对链表进展干脆访问95线性构造中数据元素的位置之间存在( C )的关系。A. 一对一 B. 一对多C. 多对多 D. 每一个元素都有一个干脆前驱和一个干脆后继96算法的时间困难度及( C )有关。A. 所运用的计算机 B.及计算机的操作系统C. 及算法本身 D.及数据构造974.在一个单链表中,p,q分别指向表中两个相邻的结点,且q所指结点是p所指结点的干脆后继,现要删除q所指结点,可用的语句是( )。A. p =q-> riext B. p->next=qC. p->next=q->next D. q->next=NULL98在一个链队中,假设f和r分别为队头和队尾指针,那么删除一个结点的运算为( C )A. r=f->next; B. r=r->next; C. f=f->next; D. f=r->next;3,6,9按依次依次进栈,那么该栈的不行能输出序列是( B )(进栈出栈可以交替进展)A. 9,6,3 B. 9,3,6 C. 6,3,9 D. 3,9,6100设有一个10阶的对称矩阵A,承受压缩存储的方式,将其下三角部分以行序为主存储到一维数组B中(数组下标从1开始),那么矩阵中元素戊.s在一维数组B中的下标是()A.33 C. 85 D. 41101排序方法中,从尚未排序序列中选择元素,并将其依次放入已排序序列(初始为空)的一端的方法,称为( D )排序。A. 归并 B.插人 C. 快速 D.选择102排序算法中,从未排序序列中依次取出元素及已排序序列(初始为空)中的元素进展比较(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法是( C )。A. 冒泡 B. 干脆插入 C. 折半插入 D. 选择排序二、填空题1通常数据的逻辑构造包括 集合 、_线性_、_ 树形_、 图状_四种类型。2通常可以把一本含有不同章节的书的书目构造抽象成_树形_构造。3设有一个单向链表,结点的指针域为next,头指针为head,p指向尾结点,为了使该单向链表改为单向循环链表,可用语句_ p->next=head;_ _。4要在一个单向链表中p所指向的结点之后插入一个s所指向的新结点,假设链表中结点的指针域为next,可执行_ s->next= p->next;_和p->next=s;的操作。5设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的干脆前驱结点,假设要删除尾结点,得到一个新的单向循环链表,可执行操作_ p->next=head; 。 6设有一个非空的链栈,栈顶指针为hs,要进展出栈操作,用x保存出栈结点的值,栈结点的指针域为next,那么可执行x=hs->data; _ hs=hs->next; _。7在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,那么插入一个s所指结点的操作为_ r->next=s _;r=s;8在一个不带头结点的非空链队中,f和r分别为队头和队尾指针,队结点的数据域为data,指针域为next,假设要进展出队操作,并用变量x存放出队元素的数据值,那么相关操作为x=f->data; f=f->next; 。9循环队列的队头指针为f,队尾指针为r,当_ r= =f _时说明队列为空。 10循环队列的最大存储空间为MaxSize=8,承受少用一个元素空间以有效的推断栈空或栈满,假设队头指针front=4,那么当队尾指针rear= _4 _时,队列为空,当rear= _2 _时,队列有6个元素。11稀疏矩阵存储时,承受一个由_行号_ 、_列号 _ 、_非零元 _3部分信息组成的三元组唯一确定矩阵中的一个非零元素。12一棵二叉树没有单分支结点,有6个叶结点,那么该树总共有_11_个结点。13一棵二叉树依次编号为6的结点树中各结点的编号及等深度的完全二叉树中对应位置上结点的编号一样,假设它存在右孩子,那么右孩子的编号为_13_。14依据二叉树的递归定义,对二叉树遍历的常用算法有_先序 _ 、_中序 _、 _后序_三种。15构造中的数据元素存在多对多的关系称为_图状_构造。16把数据存储到计算机中,并详细表达数据之间的逻辑构造称为_物理存储_构造。17构造中的数据元素存在一对多的关系称为_树形_构造。efgibachd18如图3所示的二叉树,其后序遍历序列为 gdbeihfca 。 图3gfabdec19如图4所示的二叉树,其前序遍历序列为_ abdefcg _。 图420二叉树为二叉排序的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。这种说法是_错误_的。(答复正确或不正确) 21在队列的依次存储构造中,当插入一个新的队列元素时, 尾 指针的值增1,当删除一个元素队列时, 头 指针的值增1。22依据搜寻方法的不同,图的遍历有_深度优先 、 _ 广度优先 _ 两种方法。23循环队列的引入,目的是为了抑制 假上溢 。24通常可以把某城市中各公交站点间的线路图抽象成_图状_ _构造。25构造中的元素之间存在多对多的关系称为_图状_ _构造。26要在一个单向链表中删除p所指向的结点,q指向p所指结点的干脆前驱结点,假设链表中结点的指针域为next,那么可执行_ q->next= p->next; _。27设有一个单向循环链表,结点的指针域为next,头指针为head,指针p指向表中某结点,假设逻辑表达式_ p->next= =head;_的结果为真,那么p所指结点为尾结点。28设有一个链栈,栈顶指针为hs,现有一个s所指向的结点要入栈,那么可执行操作_ s->next=hs; 和hs=s;29依次存储字符串“ABCD须要占用_5_个字节。30循环队列的最大存储空间为MaxSize=6,承受少用一个元素空间以有效地推断栈空或栈满,假设队头指针front=4,当队尾指针rear= _3_ _时队满,队列中共有_5_个元素。31一棵二叉树叶结点终端结点数为5,单分支结点数为2,该树共有_11_个结点32设一棵完全二叉树,其最高层上最右边的叶结点的编号为奇数,该叶节点的双亲结点的编号为10,该完全二叉树一共有_21_个结点。33一棵二叉树中依次编号为5的结点树中各结点的编号及等深度的完全二叉中对应位置上结点的编号一样,假设它存在左孩子,那么左孩子的编号为_10 _。34构造中的数据元素存在一对一的关系称为_线性_构造。35一棵有n个叶结点的二叉树,其每一个非叶结点的度数都为2,那么该树共有_2n-1_个结点。36图的深度优先搜寻和广度优先搜寻序列不愿定是唯一的。此断言是_正确_的。(答复正确或不正确) 37串的两种最根本的存储方式分别是_ 依次存储_和 _链式存储_ _。38按某关键字对记录序列排序,假设关键字 关键字相等的记录 的记录在排序前和排序后仍保持它们的前后关系,那么排序算法是稳定的,否那么是不稳定的。39设有一个不带头结点的单向循环链表,结点的指针域为next,指针p指向尾结点,现要使p指向第一个结点,可用语句_ p=p->next;