欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    电子科技大学期末数据结构试题及答案.docx

    • 资源ID:13163708       资源大小:515.72KB        全文页数:44页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子科技大学期末数据结构试题及答案.docx

    1、电子科技大学期末数据结构试题及答案数据结构试卷(一)、单选题(每题 2分,共20分)1.栈和队列的共同特点是( A )。A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时 (D ).A. 仅修改头指针 B. 头、尾指针都要修改C. 仅修改尾指针 D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构? ( D )A.队列 B.栈 C.线性表 D.二叉树4.设有一个二维数组 Am n,假设 A00存放位置在 644(io),A22存放位置在676(i0),每个元素占一个空间, 问A33(10)存放在什么位置?脚注(10

    2、)表示用10进制表示。C分查找,则查找 A : 3的比较序列的下标依次为 ( D )A. 1 , 2, 3 B. 9, 5, 2, 3C. 9, 5, 3 D. 9 , 4, 2, 38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为 CA. O (1) B. O (n) C. O (1og2n) D. O (n2)9.对于线性表(7, 34, 55, 25, 64, 46, 20, 10)进行散列存储时,若选用 H (K)=K %9作为散列函数,则散列地址为 1的元素有( D )个A . 1 B . 2 C . 3 D. 410.设有6个结点的无向图,该图至少应有 ( A )条边才

    3、能确保是一个连通图。A.5 B.6 C.7 D.8二、填空题(每空 1分,共26分)1.通常从四个方面评价算法的质量: 正确性 易读性 强壮性 和_高效率。2.一个算法的时间复杂度为 (n3+n2log2n+14n)/n2,其数量级表示为 0(n) 。3.假定一棵树的广义表表示为 A ( C, D (E, F, G), H (I, J),则树中所含的结点数为 9 个,树的深度为 3 ,树的度为 3 。4.后缀算式9 2 3 +- 10 2 / -的值为_-1 。中缀算式(3+4X ) -2Y/3对应的后缀算式为 4X*+2X*3/- 。5.若用链表存储一棵二叉树时, 每个结点除数据域外, 还有

    4、指向左孩子和右孩子的两个指针。在这种存储结构中,n个结点的二叉树共有_2n 个指针域,其中有 n-1 个指针域是存放了地址,有 n+1 个指针是空指针。6.对于一个具有n个顶点和e条边的有向图和无向图, 在其对应的邻接表中, 所含边结点分别有 e 个和 2e 个。7.AOV网是一种 有向无回路的图。8.在一个具有n个顶点的无向完全图中,包含有 _n(n-1)/2 条边,在一个具有 n个顶点的有向完全图中,包含有 n(n-1) 条边。9.假定一个线性表为(12,23,74,55,63,40),若按Key % 4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为 、 和 。10.

    5、向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度11.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为 ,整个堆排序过程的时间复杂度为 。12.在快速排序、堆排序、归并排序中, 排序是稳定的。三、计算题(每题 6分,共24分)1.在如下数组A中链接存储了一个线性表,表头指针为 A 0.next,试写出该线性表。60507890344035720413 4 5 6 7data n ext3.已知一个图的顶点集 V和边集E分别为:V=1,2,3,4,5,6,7;E=(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15, (3,5)

    6、12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25;用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。4.画出向小根堆中加入数据 4, 2, 5, 8, 3时,每加入一个数据后堆的变化。四、 阅读算法(每题 7分,共14分)1.LinkList mynote(LinkList L)/L是不带头结点的单链表的头指针if(L&L- next)q=L ; L=L next; p=L ;S1: while(p n ext) p=p next;S2: p next=q ; q next=NULL ;return L;请回答下列问题:(1 )说明语句S1的

    7、功能;(2)说明语句组S2的功能;(3) 设链表表示的线性表为(a1,a2,an),写出算法执行后的返回值所表示的线性 表。2.void ABC(BTNode * BT)if BT ABC (BT-left);ABC (BT-right);coutdatadata) item=BST-data; 查找成功return ;else if(itemdata)return Find( ,item);else return Find( ,item);/if六、编写算法(共 8分)统计出单链表HL中结点的值等于给定值 X的结点数。int Cou ntX(LNode* HL,ElemType x)数据结构

    8、试卷(二)、选择题(24分)1下面关于线性表的叙述错误的是( )。(A)线性表采用顺序存储必须占用一片连续的存储空间(B)线性表采用链式存储不必占用一片连续的存储空间(C)线性表采用链式存储便于插入和删除操作的实现(D)线性表采用顺序存储便于插入和删除操作的实现2设哈夫曼树中的叶子结点总数为 m若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。(A)2m-1 (B) 2m (C) 2m+1 (D) 4m3.设顺序循环队列 Q0 : M-1的头指针和尾指针分别为 F和R,头指针F总是指向队头元素的前一位置,尾指针 R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。 (C)

    9、 (R-F+M) % M (D) (F-R+M) % MABCD,前序遍历序列为 CABD,则后序遍历该二叉树(B)BCDA (C) CDAB (D) CBDA5.设某完全无向图中有 n个顶点,则该完全无向图中有( )条边。2 2(A)n(n-1)/2 (B) n(n-1) (C) n (D) n -16.设某棵二叉树中有 2000个结点,则该二叉树的最小高度为( )(A)9 (B) 10 (C) 11 (D) 127.设某有向图中有 n个顶点,则该有向图对应的邻接表中有( )个表头结点。(A)n-1 (B) n (C) n+1 (D) 2n-1&设一组初始记录关键字序列 (5 , 2, 6,

    10、 3, 8),以第一个记录关键字 5为基准进行一趟快速排序的结果为( )(A)2 , 3, 5, 8, 6 (B) 3 , 2, 5, 8, 6(C)3 , 2, 5 , 6 , 8 (D) 2 , 3 , 6 , 5 , 8二、填空题(24分)1.为了能有效地应用 HASH查找技术,必须解决的两个问题是 和2.下面程序段的功能实现数据 x进栈,要求在下划线处填上正确的语句。typedef struct int s100; int top; sqstack;void push(sqstack &stack,i nt x)if (stack.top=m- 1) printf( “ overflo

    11、w ” );else ; ;3.中序遍历二叉排序树所得到的序列是 序列(填有序或无序)4.快速排序的最坏时间复杂度为 ,平均时间复杂度为 5.设某棵二叉树中度数为 0的结点数为Nd,度数为1的结点数为N ,则该二叉树中度数为2的结点数为 ;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有 个空指针域。6.设某无向图中顶点数和边数分别为 n和e,所有顶点的度数之和为 d,则e= 。7.设一组初始记录关键字序列为 (55,63,44,38, 75,80,31,56),则利用筛选法建立的初始堆为 。& 已知一有向图的邻接表存储结构如下:从顶点 1出发,DFS遍历的输出序列是 ,BFS遍历的输出

    12、序列是 團的邻接表存储结构三、应用题(36分)1. 设一组初始记录关键字序列为 (45,80,48,40,22,78),则分别给出第4趟简单选择 排序和第4趟直接插入排序后的结果。2. 设指针变量p指向双向链表中结点 A,指针变量q指向被插入结点 B,要求给出在结点 A的后面插入结点 B的操作序列(设双向链表中结点的两个指针域分别为 llink和rlink )。3. 设一组有序的记录关键字序列为 (13,18,24,35,47,50,62,83,90),查找方法用二分查找,要求计算出查找关键字 62时的比较次数并计算出查找成功时的平均查找长度。4.设一棵树 T 中边的集合为(A,B),(A,C

    13、),(A,D),(B,E),(C,F),(C,G),要求 用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树。5.设有无向图G,要求给出用普里姆算法构造最小生成树所走过的边的集合。6.设有一组初始记录关键字为 (45,80,48, 40,22,78),要求构造一棵二叉排序树并给出构造过程。四、算法设计题(16分)1. 设有一组初始记录关键字序列(K1,K2,K,),要求设计一个算法能够在 0(n)的时间复杂度内将线性表划分成两部分, 其中左半部分的每个关键字均小于 K,右半部分的每个关键字均大于等于 K。2. 设有两个集合 A和集合B,要求设计生成集合 C=AH B的算

    14、法,其中集合 A B和C用链 式存储结构表示。1.2.3.4.5.6.7.8.9.10. 、1.2.3.4.数据结构试卷(三)选择题(每题1分,共20分)设某数据结构的二元组形式表示为设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的 10个记录关键字,则用下列( )方法可以达到此目的。(A)快速排序 (B)堆排序 (C)归并排序 (D)插入排序下列四种排序中( )的空间复杂度最大。(A)插入排序 (B)冒泡排序 (C)堆排序 (D)归并排序填空殖(每空1分共20分)数据的物理结构主要包括 和 两种情况。设一棵完全二叉树中有 500个结点,则该二叉树的深度为 ;若用二叉链表作

    15、为该完全二叉树的存储结构,则共有 个空指针域。设输入序列为1、2、3,则经过栈的作用后可以得到 种不同的输出序列。设有向图G用邻接矩阵Ann作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的 ,第i列上所有元素之和等于顶点 i的 。5.设哈夫曼树中共有 n个结点,则该哈夫曼树中有 个度数为1的结点。6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为 d,则e和d的关系为7. 遍历二叉排序树中的结点可以得到一个递增的关键字序列 (填先序、中序或后序)。8.设查找表中有100个元素,如果用二分法查找方法查找数据元素 X,则最多需要比较 次就可以断定数据元素 X是否在查找表中。9

    16、.不论是顺序存储结构的栈还是链式存储结构的栈, 其入栈和出栈操作的时间复杂度均为10.设有n个结点的完全二叉树, 如果按照从自上到下、 从左到右从1开始顺序编号,则第i个结点的双亲结点编号为 ,右孩子结点的编号为 。11.设一组初始记录关键字为(72,73,71,23,94,16, 5),则以记录关键字 72为基准的一趟快速排序结果为 。12.设有向图G中有向边的集合 E=1,2,2,3,1,4,4,2,4,3,则该图的一种拓扌卜序歹y为 。13.下列算法实现在顺序散列表中查找值为 x的关键字,请在下划线处填上正确的语句。struct recordi nt key; int others;in

    17、t hashsqsearch(struct record hashtable ,i nt k)int i,j; j=i=k % p;while (hashtablej.key!=k&hashtablej.flag!=0)j=( ) %m; if (i=j) return(-1);if ( ) return(j); else return(-1);14.下列算法实现在二叉排序树上查找关键值 k,请在下划线处填上正确的语句。typedef struct no dei nt key; struct node *lchild; struct node *rchild;bitree;bitree *bs

    18、tsearch(bitree *t, int k)if (t=0 ) return(0);else while (t!=0)if (t-key=k) ; else if (t-keyk) t=t-lchild; else ;三、计算题(每题10分,共30分)1.已知二叉树的前序遍历序列是 AEFBGCDHIKJ ,中序遍历序列是 EFAGBCHKIJD,画出此二叉树,并画出它的后序线索二叉树。2 .已知待散列的线性表为(36,15,40,63,22),散列用的一维地址空间为 0.6,假定选用的散列函数是 H ( K) = K mod 7,若发生冲突采用线性探查法处理,试:(1 )计算出每一个元

    19、素的散列地址并在下图中填写出散列表: 0 1 2 3 4 5 6(2)求出在查找每一个元素概率相等情况下的平均查找长度。3.已知序列(10,18,4,3,6,12,1,9,18,8)请用快速排序写出每一趟排序的结果。 四、算法设计题(每题15分,共30分)1.设计在单链表中删除值相同的多余结点的算法。2.设计一个求结点x在二叉树中的双亲结点算法。数据结构试卷(四)一、选择题(每题1分共20分)1设一维数组中有 n个数组元素,则读取第 i个数组元素的平均时间复杂度为( )。2(A) 0(n) (B) 0(nlog 2n) (C) 0(1) (D) 0(n )2设一棵二叉树的深度为 k,则该二叉树

    20、中最多有( )个结点。(A) 2k-1 (B) 2 k (C) 2 k-1 (D) 2 k-13设某无向图中有 n个顶点e条边,则该无向图中所有顶点的入度之和为( )。(A) n (B) e (C) 2n (D) 2e4.在二叉排序树中插入一个结点的时间复杂度为( )。2(A) 0(1) (B) 0(n) (C) O(log 2n) (D) 0(n )5. 设某有向图的邻接表中有 n个表头结点和 m个表结点,则该图中有( )条有向边。(A) n (B) n-1 (C) m (D) m-16. 设一组初始记录关键字序列为 (345 , 253, 674, 924, 627),则用基数排序需要进行

    21、 ()趟的分配和回收才能使得初始关键字序列变成有序序列。(A) 3 (B) 4 (C) 5 (D) 87. 设用链表作为栈的存储结构则退栈操作( )。(A)必须判别栈是否为满 (B)必须判别栈是否为空(C)判别栈元素的类型 (D)对栈不作任何判别&下列四种排序中( )的空间复杂度最大。(A)快速排序(B)冒泡排序(C)希尔排序(D)堆9.设某二叉树中度数为0的结点数为N0,度数为1的结点数为N ,度数为2的结点数为N则下列等式成立的是( )。(A) N fN + 1(B) N q=N+N2(C) N 0=Nz+1(D) N o=2Ni+I10.设有序顺序表中有n个数据兀素,则利用二分查找法查找

    22、数据兀素X的最多比较次数不超过()。(A) log 2n+1(B) log 2n-1(C) log 2n(D) log2(n+1)二、填空题(每空1分共20分)1. 设有n个无序的记录关键字, 则直接插入排序的时间复杂度为 ,快速排序的平均时间复杂度为 。2. 设指针变量 p指向双向循环链表中的结点 X,则删除结点 X需要执行的语句序列为 (设结点中的两个指 针域分别为llink 和rlink )。3. 根据初始关键字序列(19 , 22, 01, 38, 10)建立的二叉排序树的高度为 。4. 深度为k的完全二叉树中最少有 个结点。5. 设初始记录关键字序列为 (心,K2,,K),则用筛选法

    23、思想建堆必须从第 个元 素开始进行筛选。6. 设哈夫曼树中共有 99个结点,则该树中有 个叶子结点;若采用二叉链表作为存储结构,则该树中有 个空指针域。7. 设有一个顺序循环队列中有 M个存储单元,则该循环队列中最多能够存储 个队列元素;当前实际存储 个队列元素(设头指针F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置) 。& 设顺序线性表中有 n个数据元素,则第 i个位置上插入一个数据元素需要移动表中 个数据元素;删除第i个位置上的数据元素需要移动表中 个元素。9.设一组初始记录关键字序列为 (20, 18, 22 , 16, 30, 19),则以20为中轴的一趟快速排序结果为

    24、。10. 设一组初始记录关键字序列为 (20, 18, 22, 16, 30, 19),则根据这些初始关键字序列建成的初始堆为 。11设某无向图 G中有n个顶点,用邻接矩阵 A作为该图的存储结构,则顶点 i和顶点j互为邻接点的条件是 。12 设无向图对应的邻接矩阵为 A,则A中第i上非0元素的个数 第i列上非0元素的个数(填等于,大于或小于)。13设前序遍历某二叉树的序列为 ABCD ,中序遍历该二叉树的序列为 BADC ,则后序遍历该二叉树的序列为 。14.设散列函数 H(k)=kmodp ,解决冲突的方法为链地址法。 要求在下列算法划线处填上正确的语句完成在散列表 hashtalbe中查找

    25、关键字值等于 k的结点,成功时返回指向关键字的指针,不成功时返回标志 0。typedef struct node int key; struct node *n ext; lklist;void createlkhash(lklist *hashtable)int i,k; lklist *s;for(i=0;im;i+) ;for(i=0;ikey=ai;k=ai % p; s-next=hashtablek; ;三、计算题(每题10分,共30分)的头尾链表存储结构。1、 画出广义表 LS=( ) , (e) , (a , (b , c , d )2、 下图所示的森林:(1)求树(a)的先根

    26、序列和后根序列;(2)求森林先序序列和中序序列;(3)将此森林转换为相应的二叉树;3、设散列表的地址范围是 0.9 ,散列函数为 H( key) = ( key 2 +2) MOD 9,并采用链表处理冲突,请画出元素 7、4、5、3、6、2、8、9依次插入散列表的存储结构。四、算法设计题(每题10分,共30分)1. 设单链表中有仅三类字符的数据元素 (大写字母、数字和其它字符),要求利用原单链表 中结点空间设计出三个单链表的算法,使每个单链表只包含同类字符。2.设计在链式存储结构上交换二叉树中所有结点左右子树的算法。3.在链式存储结构上建立一棵二叉排序树。数据结构试卷(五)一、选择题(20分)

    27、1数据的最小单位是( )。(A)数据项 (B)数据类型 (C)数据元素 (D)数据变量2.设一组初始记录关键字序列为 (50, 40,95, 20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前 4条记录关键字为( )。(A) 40,50,20,95(C)15 , 20, 40, 45(B)15 , 40, 60, 20(D)45 , 40, 15, 203.设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有 5个长度为2的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结(A) 15,25,35,50,20,40,

    28、80,85,36,70(B) 15,25,35,50,80,20,85,40,70,36(C) 15,25,35,50,80,85,20,36,40,70(D)15,25,35,50,80,20,36,40,70,85函数SUbstr(“ DATA:STRUCTU”E5, 9)的返回值为果为( )。4.(B)“DATA(D) “ DATASTRUCTU”E现要求插入一个新结点后使得单链表仍然保持有序,2(C)O(n ) (D) O(n)点数为Nm则N= ( ) (A) N l+Na+Nm (B) l+N 2+22+32+(m-1)Nm(C)N 2+2N3+3N4+(m-1)Nm (D) 2N i +3N2+(m+1)Nm7 .设有序表中有1000个元素,则用二分查找查找元素 X最多需要比较( )次。(A) 25 (B) 10 (C) 7 (D) 1&设连通图 G 中的边集 E=(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c),则从顶点a出发可以得到一种深度优先遍历的顶点序列为( )。(A) abedfc (B) acfebd (C) aebdfc (D) aedfcb9.设输入序列是1、2、3、n,经过栈的作用后输出序列的第一个元素是 n,则


    注意事项

    本文(电子科技大学期末数据结构试题及答案.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开