数据结构作业题及参考答案.docx
- 文档编号:24268453
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:29
- 大小:49.20KB
数据结构作业题及参考答案.docx
《数据结构作业题及参考答案.docx》由会员分享,可在线阅读,更多相关《数据结构作业题及参考答案.docx(29页珍藏版)》请在冰豆网上搜索。
数据结构作业题及参考答案
东北农业大学网络教育学院
数据结构作业题
(一)
一、选择题(每题2分,共20分)
1.在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为()。
A、O(n)B、O(n/2)C、O
(1)D、O(n2)
2.带头结点的单链表first为空的判定条件是()。
A、first==NULL;B、first->link==NULL;
C、first->link==first;D、first!
=NULL;
3.在一棵树中,()没有前驱结点。
A、分支结点B、叶结点C、树根结点D、空结点
4.在有向图中每个顶点的度等于该顶点的()。
A、入度B、出度
C、入度与出度之和D、入度与出度之差
5.对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为()的值除以9。
A、20B、18C、25D、22
6.下列程序段的时间复杂度为()。
s=0;
for(i=1;i for(j=1;j s+=i*j; A、O (1)B、O(n)C、O(2n)D、O(n2) 7.栈是一种操作受限的线性结构,其操作的主要特征是()。 A、先进先出B、后进先出C、进优于出D、出优于进 8.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。 若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为()。 A、(rear-front-1)%nB、(rear-front)%n C、(front-rear+1)%nD、(rear-front+n)%n 9.高度为5的完全二叉树中含有的结点数至少为()。 A、16B、17C、31D、32 10.如图所示有向图的一个拓扑序列是() A、ABCDEF B、FCBEAD C、FEDCBA D、DAEBCF 二、填空题(每空1分,共20分) 1.n(n﹥0)个顶点的无向图最多有条边,最少有条边。 2.在一棵AVL树中,每个结点的左子树高度与右子树高度之差的绝对值不超过。 3.已知8个数据元素为(34,76,45,18,26,54,92,65),按照依次插入结点的方法生成一棵二叉排序树,则该树的深度为。 4.在二叉树的第i层上至多有结点。 5.对于一棵具有n个结点的二叉树,若一个结点的编号为i(1≤i≤n),则它的左孩子结点的编号为,右孩子结点的编号为,双亲结点的编号为。 6.数据的存储结构被分为、、和四种。 7.假定一棵树的广义表表示为A(B(C,D(E,F,G),H(I,J))),则树中所含的结点数为个,树的深度为,树的度为。 8.在一个具有n个顶点的无向图中,要连通所有顶点则至少需要条边。 9.在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着、 和的联系。 10.一棵含999个结点的完全二叉树的深度为。 三、运算题(每题5分,共10分) 1.设有一个10⨯10的对称矩阵A,将其下三角部分按行存放在一个一维数组B中,A[0][0]存放于B[0]中,那么A[8][5]存放于B中什么位置。 2.已知一个有序表(15,26,34,39,45,56,58,63,74,76,83,94)顺序存储于一维数组a[12]中,根据折半搜索过程填写成功搜索下表中所给元素34,56,58,63,94时的比较次数。 元素值 34 56 58 63 94 比较次数 四、应用题(每题10分,共50分) 1.设待排序的记录共7个,排序码分别为8,3,2,5,9,1,6。 (1)用直接插入排序。 试以排序码序列的变化描述形式说明排序全过程(动态过程)要求按递减顺序排序。 (2)用直接选择排序。 试以排序码序列的变化描述形式说明排序全过程(动态过程)要求按递减顺序排序。 2.判断下列序列是否是堆(可以是小堆,也可以是大堆,若不是堆,请将它们调整为堆)。 (1)100,85,98,77,80,60,82,40,20,10,66 (2)100,98,85,82,80,77,66,60,40,20,10 (3)100,85,40,77,80,60,66,98,82,10,20 (4)10,20,40,60,66,77,80,82,85,98,100 3.试找出分别满足下列条件的所有二叉树。 1)先序序列和中序序列相同2)中序序列和后序序列相同 3)先序序列和后序序列相同4)中序序列与层次遍历序列相同 4.设T是一棵二叉树,除叶子结点外,其它结点的度数皆为2,若T中有6个叶结点,试问: (1)T树的最大深度Kmax=? 最小可能深度Kmin=? (2)T树中共有多少非叶结点? (3)若叶结点的权值分别为1,2,3,4,5,6。 请构造一棵哈曼夫树,并计算该哈曼夫树的带权路径长度wpl。 5.一棵有n(n>0)个结点的d度树,若用多重链表表示,树中每个结点都有d个链域,则在表示该树的多重链表中有多少个空链域? 为什么? 储,则A[7,1]和A[2,4]的第一个字节的地址是多少? 数据结构作业题 (二) 一、选择题(每题2分,共20分) 1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。 A、HL=p;p->next=HL;B、p->next=HL;HL=p; C、p->next=HL;p=HL;D、p->next=HL->next;HL->next=p; 2.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。 A、24B、48C、72D、53 3.一个数组元素a[i]与()的表示等价。 A、*(a+i)B、a+iC、*a+iD、&a+i 4.下面程序段的时间复杂度为()。 for(inti=0;i for(intj=0;j a[i][j]=i*j; A、O(m2)B、O(n2)C、O(m*n)D、O(m+n) 5.数据结构是()。 A、一种数据类型 B、数据的存储结构 C、一组性质相同的数据元素的集合 D、相互之间存在一种或多种特定关系的数据元素的集合 6.在线性表的下列运算中,不改变数据元素之间结构关系的运算是()。 A、插入B、删除C、排序D、定位 7.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为()。 A、3,2,6,1,4,5B、3,4,2,1,6,5 C、1,2,5,3,4,6D、5,6,4,2,3,1 8.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系()。 A、不一定相同B、都相同C、都不相同D、互为逆序 9.图的邻接矩阵表示法适用于表示()。 A、无向图B、有向图C、稠密图D、稀疏图 10.若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行比较的关键字依次为()。 A、f,c,bB、f,d,bC、g,c,bD、g,d,b 二、填空题(每空2分,共40分) 1.含n个顶点的无向连通图中至少含有条边。 2.若对关键字序列(43,02,80,48,26,57,15,73,21,24,66)进行一趟增量为3的希尔排序,则得到的结果为。 3.一个算法的时间复杂度为(3n2+2nlog2n+4n-7)/(5n),其数量级表示为。 4.在以HL为表头指针的带表头附加结点的单链表和循环单链表中,链表为空的条件分别为和。 5.快速排序在平均情况下的时间复杂度为,在最坏情况下的时间复杂度为。 6.假定对长度n=50的有序表进行二分查找,则对应的判定树高度为________,判定树中前5层的结点数为________,最后一层的结点数为________。 7.假定一棵树的广义表表示为A(B(C,D(E,F,G),H(I,J))),则度为3、2、1、0的结点数分别为、、和个。 8.在一棵二叉树中,假定双分支结点数为5个,单分支结点数为6个,则叶子结点数为个。 9.数据的逻辑结构被分为、、和四种。 10.在一个长度为n的顺序存储线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移个元素。 三、应用题(每题10分,共60分) 1.设有5个互不相同的元素a、b、c、d、e,能否通过7次比较就将其排好序? 如果能,请列出其比较过程;如果不能,则说明原因。 2.有一随机数组(25,84,21,46,13,27,68,35,20),现采用某种方法对它们进行排序,其每趟排序结果如下,则该排序方法是什么? 初始: 25,84,21,46,13,27,68,35,20第一趟: 20,13,21,25,46,27,68,35,84 第二趟: 13,20,21,25,35,27,46,68,84第三趟: 13,20,21,25,27,35,46,68,84 3.请在()内填入正确的排序方法。 设一数组中原有数据如下: 15,13,20,18,12,60。 下面是一组由不同排序方法进行一遍排序后的结果。 ()排序的结果为: 12,13,15,18,20,60 ()排序的结果为: 13,15,18,12,20,60 ()排序的结果为: 13,15,20,18,12,60 4.设T是一棵二叉树,除叶子结点外,其它结点的度数皆为2,若T中有6个叶结点,试问: (1)T树的最大深度Kmax=? 最小可能深度Kmin=? (2)T树中共有多少非叶结点? (3)若叶结点的权值分别为1,2,3,4,5,6。 请构造一棵哈曼夫树,并计算该哈曼夫树的带权路径长度wpl。 5.一棵有n(n>0)个结点的d度树,若用多重链表表示,树中每个结点都有d个链域,则在表示该树的多重链表中有多少个空链域? 为什么? 6.有一个二维数组A[0: 8,1: 5],每个数组元素用相邻的4个字节存储,存储器按字节编址,假设存储数组元素A[0,1]的第一个字节的地址是0,那么存储数组的最后一个元素的第一个字节的地址是多少? 若按行存储,则A[3,5]和A[5,3]的第一个字节的地址是多少? 若按列存储,则A[7,1]和A[2,4]的第一个字节的地址是多少? 数据结构作业题(三) 一、单选题(每题2分,共10分) 1、在长度为n的顺序存储的线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移个元素。 A、n-iB、n-i+1C、n-i-1D、i 2、设一个广义表中结点的个数为n,则求广义表深度算法的时间复杂度为。 A、O (1)B、O(n)C、O(n2)D、O(log2n) 3、假定一个顺序队列的队首和队尾指针分别为f和r,则判断队空的条件为。 A、f+1==rB、r+1==fC、f==0D、f==r 4、由3个结点可以构造出多少种不同的二叉树。 A、2B、3C、4D、5 5、适用于折半查找的表的存储方式及元素排列要求为。 A、链接方式存储,元素无序B.链接方式存储,元素有序 C、顺序方式存储,元素无序D.顺序方式存储,元素有序 二、填空题(每空1分,共25分) 1、在线性结构、树结构和图结构中,前驱和后继结点之间分别存在着、 和的联系。 2、在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为,若假定p为一个数组a中的下标,则其后继结点的下标为。 3、在初始化一个稀疏矩阵的函数定义中,矩阵形参应说明为参数。 4、栈又称为表,队列又称为表。 5、后缀表达式“45+3*24+*”的值为。 6、一棵深度为5的满二叉树中的结点数为个,一棵深度为3的满四叉树中的结点数为个。 7、对于一棵含有40个结点的理想平衡树,它的高度为。 8、从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明,若元素的值小于根结点的值,则继续向查找,若元素的值大于根结点的值,则继续向查找。 9、对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵大小为。 10、对于一个具有n个顶点和e条边的连通图,其生成树中顶点数和边数分别为 和。 11、二分查找过程所对应的判定树既是一棵,又是一棵。 12、在归并排序中,进行每趟归并的时间复杂度为,整个排序过程的时间复杂度为,空间复杂度为。 13、给定一组数据{6,2,7,10,3,12}以它构造一棵哈夫曼树,则树高为__________,带权路径长度WPL的值为__________。 三、运算题(每题6分,共24分) 1、假定一棵普通树的广义表表示为a(b(e),c(f(h,i,j),g),d),分别写出先根、后根、按层遍历的结果。 先根: 。 后根: 。 按层: 。 2、已知一个带权图的顶点集V和边集G分别为: V={0,1,2,3,4,5,6,7}; E={(0,1)8,(0,2)5,(0,3)2,(1,5)6,(2,3)25,(2,4)13, (3,5)9,(3,6)10,(4,6)4,(5,7)20}; 则求出该图的最小生成树的权。 最小生成树的权: 。 3、对于线性表(18,25,63,50,42,32,90,66)进行散列存储时,若选用H(K)=K%9作为散列函数,则散列地址为0的元素有个,散列地址为3的元素有个,散列地址为5的元素有个。 4、假定一组记录的排序码为(46,79,56,38,40,80,25,34),在对其进行快速排序的过程中,对应二叉搜索树的深度为,分支结点数为。 四、阅读算法(第一题7分,第二题8分) 1、voidAA(LNode*&HL) { InitList(HL); InsertRear(HL,30); InsertRear(HL,50); inta[5]={15,8,9,26,12}; for(inti=0;i<5;i++)InsertFront(HL,a[i]); } 该算法被调用执行后,得到的以HL为表头指针的单链表中的数据元素依次为: 。 2、voidAH(Heap&HBT,constElemTypeitem) //HBT为一个小根堆 { HBT.heap[HBT.size]=item; HBT.size++; ElemTypex=item inti=HBT.size-1; while(i! =0){ intj=(i-1)/2; if(x>=HBT.heap[j])break; HBT.heap[i]=HBT.heap[j]; i=j; } HBT.heap[i]=x; } 该算法的功能为: 。 五、算法填空,在画有横线的地方填写合适的内容。 (12分) 从一维数组A[n]中二分查找关键字为K的元素的递归算法,若查找成功则返回对应元素的下标,否则返回-1。 intBinsch(ElemTypeA[],intlow,inthigh,KeyTypeK) { if(low<=high) { intmid=(low+high)/2; if(K==A[mid].key);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 作业题 参考答案