1、电大数据结构本期末复习材料Word版中央电大开放本科计算机科学与技术数据结构(本)期末综合练习一、单项选择题1数据元素是数据的基本单位,它( C )。A只能有一个数据项组成 B至少有二个数据项组成C可以是一个数据项也可以由若干个数据项组成 D至少有一个数据项为指针类型2 一种逻辑结构( A )存储结构。 A可以有不同的 B只能有唯一的C的数据元素在计算机中的表示称为 D的数据元素之间的关系称为3线性表的顺序结构中,( C )。A逻辑上相邻的元素在物理位置上不一定相邻 B数据元素是不能随机访问的C逻辑上相邻的元素在物理位置上也相邻 D进行数据元素的插入、删除效率较高4以下说法中不正确的是( B
2、)。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); Bprint
3、f(“%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=to
4、p-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队列的删除和插入操作都只能在队头
5、进行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 B
6、31 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
7、)。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在排序过程中,可以通过某一趟排序的相关操作所提供的信息,判断序列是否已经排好序,从而可以提前结束排序过程
8、的排序算法是( A )。 A冒泡 B选择 C直接插入 D折半插入 25采用顺序查找法对长度为n的线性表进行查找(不采用表尾设监视哨的方法),最坏的情况下要进行( B )次元素间的比较。 An+2 Bn Cn-1 Dn/226用折半查找法,对长度为12的有序的线性表进行查找,最坏情况下要进行( A )次元素间的比较 A4 B3 C5 D627如图若从顶点a出发按广度优先搜索法进行遍历,则可能得到的顶点序列为( D )。 AacebdfghBaebcghdfCaedfbcghDabecdfgh 图1 28如图若从顶点a出发按深度优先搜索法进行遍历,则可能得到的顶点序列为( B )。 Aacfged
9、bBaedbgfcCacfebdgDaecbdgf29一棵哈夫曼树总共有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存
10、储 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个元素),则移动元素个数为(
11、 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栈和队列的
12、特点都是先进先出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的
13、矩阵元素是( 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的生成树一定
14、是唯一的 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折半插入53已知如图1所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的
15、一种顶点序列为( B )。 Aabcedf Babcefd Caebcfd Dacfdeb 图154对长度为n的线性表进行顺序查找,在等概率情况下,平均查找长度为( B )。 An B(n+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 )。 AacfgedbBaedcbgfCacfebdgDaecbdgf57有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找
16、成功的平均比较次数为( 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 )是性质相同的数据元素的集合
17、,是数据的子集。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,
18、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顺序栈中
19、,栈空时再作出栈栈操作称为“下溢”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连通图
20、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
21、算法的时间复杂度是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设有一个带头结点的链队列,队列中每个结点由一
22、个数据域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
23、,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的生成树中
24、不一定包含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插入到已经排好序的子表时,为找到插入位置,需进
25、行( C )次元素间的比较(指由小到大排序)。A6 B2 C3 D489如图,若从顶点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在任意指定
26、位置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=
27、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;99.元素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 B.32 C.
28、85 D. 41101排序方法中,从尚未排序序列中挑选元素,并将其依次放入已排序序列(初始为空)的一端的方法,称为( D )排序。A. 归并 B.插人 C. 快速 D.选择102排序算法中,从未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法是( C )。A. 冒泡 B. 直接插入 C. 折半插入 D. 选择排序二、填空题1通常数据的逻辑结构包括 集合 、_线性_、_ 树形_、 图状_四种类型。2通常可以把一本含有不同章节的书的目录结构抽象成_树形_结构。3设有一个单向链表,结点的指针域为next,头指针为head,p
29、指向尾结点,为了使该单向链表改为单向循环链表,可用语句_ 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,若要进行出队操作,并用
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1