next)(stack.op++;stacks[stacktop=p->data;3for(p=head;pl=0;p=p->next)iE(p->data==stacks(stackLop!)stacktop=stacktop-1;elsereturn(0);return(1);2.没计链式存储结构上建立一楳二又树的算法。typedefchardatatype,typedefstructnode(datatypedata;structnode*lchild,*rchild;bitreevoidcreatebitree(bilree*&bt)charch;scanf("%c,&eif(ch==")(bt=0;return;Jbt=(bitree*)malloc(sizeof(bitree));bt->data=chreatebitree(bt->lchild);createbitree(bt->rchild);3.设计判断一棵二叉树是否是二义排序树的算法。intminnum=-32768,flag=1typedefstructnodefintkey;structnode"Child,*rchild;bitree;yoidinorder(bitree*bt)if(bt=0)[inorder(bt->child);if(minnum>bt->key)flag=0;minnum=bt->key,inorder(bt->rchild);h数据结构试卷(二选择题(24分)1.卜面关于线性表的叙述错误的是(D)(A)线性表采用顺序存储必须:用一片连续的存储空间(B)线性表采用链式存儐不必山用一片迕续的存储空闫(C)线性表用链式存便丁插入和删除操作的实现D)线性表釆用顺序存储便亍插入和删除操作的实现设哈大曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有(A界个空指针域,9有叶万为的纸且2(A)2m-1(B)2mC)2m+1妤没顺序循环队列Q0:M1]的头指针和尾指针分别为P和R,头指针F总是指向队头元素的前一位置尾指针R总是指向队尾元的当前位置,则该循环队列中的元素个数为()(A)R-T(B)F-R(C)(R-F+M)%M()(F-R+M)%M√4!设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为A(A)BADC(B)BCDA(CCDAB(D)CBDA5.设某完全无向图有n个顶点,则该完全无向图中有(A条边(A)n(n-1)/2(B)n(n-1)(C)n26.设某棵二叉树中有2000个结点,则该二叉树的最小高度为(O)。(C)11D)12设采图中有m个顶点,则该有向图对应的剑趣中有()个表头结点(B)n(D)2n-18.设一组初始记录关键字序列(5,2,6,3,8),以笫一个记录关键字5为基准进行一趟快速排序的结果为(C)。(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查找技术,必须解决的两个问题是和下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句typedefstruct(ints[100];inttop:fsqsiack;voidpush(sqstack&stack,intx)if(stackop==m-1)printf(“overflow”)lies9tk二x;“a少+:3.中序遍历二叉排序树所得到的序列是有度序列(填有序或无序铁邀神厅的最间复弟度为1),平均时间复杀度为地D(3设某倮二叉树中度数为0的结点数为N,度数为1的结点数为N,则该二叉树中度数为2的结点数若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有山+41个空指针域6.设某无向各中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=7.设一缃初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选法建立的初始堆为8.改某无向图G的邻接表为2->1>3又v--1->4->2·从点W开始的深度优先遍历序圳为1,24:切度优先遍历序列为省三、应用题(36分)].设一组初始记录关键字序为(45,80,48,40,22,78),则分别给出第4趟简单选择排序和第4趟直接插入排序后的结果2.设指针变p指向双向链表中结点A,指针变量q指向被插入结点B,要求给出在结点A的后面插入结点B的操作序列(设双向链表中结京的两个指针域分别为11ink和rlink)a设一组有序的记录关键字序圳为(13,18,24,35,47,50,62,83,90),查找方法用二分查找要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度4设一棵树T中边的集合为联A,B),(A,C,(A,D),(B,E),(C,F,(C,G)},要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树5.设有无向图G(如右图所示),要求给出用普里姆算法构造最小生成树所走6过的边的集合。6.设有—组初始记录关键字为(45,80,48,4,2,178,要求构造一楔二(56叉排序树并给出构造过程。四、算法设计题(16分)1.设有一组初始记录关键字序列(K,K2,…,K),要求设计一个算法能够在0(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K,右半部分的每个关键字均大于等于K2.设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示数据结构试卷(二)参考答案选择题ltd2.B5,A7,B8.C二、填空题构造一个好的HASH凼数,确定解决冲突的方法2.stacktop+t,stacks[stacktop]=3.有序4.0(n2),0(logan)5.N-1,2N+N6.d/27.(31,38,54,56,75,80,55,638.(1,3,4,2),(14)应用题1.(22,40,45,48,80,78),(40,45,48,80,22,78)2.q>llink=p:g->rlink=p->rlink;p->rlink->link=q;p->rlink=q·3.2,ASL=91*1+2*2+3*4+4*2)=25/94.树的链式存储绪构略,二叉树略E={(1,3),(1,2),(3,5),(5,6),(6,4)}6.略四、算法设计题1.设有组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在0(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K1,右半部分的每个关键字均大于等于KYoidquickpass(intr[,ints,intt)inti=s,j=t,x=r[s]While(ix)jj;i(<){r[]==+1;}whie(i<&next)Ifor(q=hb;q!=0;q=q->next)if(q->data==p->data)breakif(ql=0)t=(lklist*)malloc(sizeof(klis);t->data=p-data;t->next=hc;hc=t;I数据结构试卷(三)选择题(30分)1.设某数据结构的二元组形式表示为A=(D,R)D={01,02,03,04,05,06,07,08,09},R={rr={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09},则数据结构A是(B)(A)线性结构B)树型结构(C)物理结构()图型结构2.卜面程序的时间复杂为(for(i=l,s=0(A)0(n)(C)0(n2)(D)0(n")/设指叶变量p指向单链表中结点A,若刷陰单链表中结点A则需要修改指针的操作序列为A(A)g=p->next:p->data=g->data:p->next=g->next:free(q)B)gp->next:g->data=p->data:p->next=g>nextfree(g):(C)q=p->next:p->next=q->next:free(q)(D)q=p->next:p->data=q->data:freeq)4.设有n个待排序的记录关键字,则在堆排序中需要(小个辅助记录单元(A)1(B)n(c)nlogen5.设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为(A)10,15,14,18,20,36,40,21(B)10,15,14,18,20,40,36,2I(C)10,15,14,20,18,40,36,21(D)15,10,14,18,20,36,40,21y/设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为)(A)0(1)(B)0(10g2n)((D)O(n2)7.设无向图G中有n个顶点e条边,则其对应的邻接表中的表头结点和表结点的个数分别为(D(B)e,nC)2D)n,28.设某强连通图中有n个顶点,则该强连通图中至少有(C)条边(A)n(n-1)(B)n+1D)n(+19.设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列)方法可以达到此目的(A)快速排序(B)堆排序(C)归并排序D)插入排序0下列四种排序中()的空间复杂度最大。(A)插入排序(B)冒泡排序(C)堆排序(D)归并排序二、填空殖(48分,其中最后两小题各6分)数据的物理结构主要包括座不构利和环结堆两种情况设一棵完全:叉树中有500个结点,则该二叉树的深度为4:若用二叉链表作为该完全二叉树的存情结构,则共有55个空指针域3.设输入序列为1、2、3,则经过栈的作用后可以得到种不同的输出序列。4.设有向图G用邻接矩阵An]「m作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的友,第1列上所有元素之和等于顶点i的入区毕设哈夫曼树中共有n小结点,则该哈夫曼树中有日个度数为1的结点6.没有向图G中有n个顶点e条有向边,所有的顶人度散之和为d则形和d的关系为=e遍历二义排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序)8.改奁找表中有100个元素,如果川二分法查找方法查找数据元素X,则最多需要比较次就可以断定数据元素K是否在查找表中9.·不论是顺序存储结构的栈还烂链式存储结构的栈:其入饯和出栈榤作的间复柒度均为的10.设有a个结点的完全一义树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的义结点编号为“,右孩子结点的编号为2计11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的·趟快速排序结果为!2.设有向图G中有向边的集合F=(<1,2>,<2,3>,<1,4>,<4,2>,<4,3},则该图的一种拓扑序列为13.下列算法实现顺序散列表中查找值为x的关键字,请在下划线处填上正确的诎句。structrecordfintkey:intothers;)inthashsqsearch(structrecordhashtable[l,intkinti,];j=j=kpwhile(hashtable].keyl=k&&hashtable].flag!=OHj=C)%o;if(i==j)return(-1B1ifDreturnG);elseretum(-1);14.下列算法实现在叉排序树上查找关键值k,请在下划线处填上正确的语句。typedefstructnodeintkey,structnode"Child;structnoderchild;bitree;bitree"bstsearch(bitree*t,intkif(l==o)return(O;elsewhile(t!=0)f(t->key==k)Y七;elseif(t->key>k)tt>lchd;lse七飞→YC三、算法设计题(22分设计在单链表中删除值相同的多余结点的算法2.设计-个求结点x在二叉树中的双亲结点算法。数据结构试卷(三)参考答案、选择题B4.A5.A6.B7.D8.C9.B10.D第3小题分析:首先用指针变量q指向结点A的后继结点B,然后将结点B的值复制到结点A中,最后删除结点B第9小题分析;9快速排序、归并排序和插入排序必须等到整个排序结束后才能够求出最小的10个数,而堆排序只需要在初始堆的基础上再进行10次筛选即可,每次筛选的时间复杂度为0(1ogn)。土、填空题1.顺序存储结构、链式存储结构2.9,5013.54.出度,入度6.7.中序8.79.0(1)10.豆/2,2i+111.(5,16,71,23,72,94,73)12.(1,4,3,2)13.j+l,hashtable[i].key==k14.return(t),t=t-rchild第8小題分析:二分査找的过程可以用一棵二叉树来描述,该二叉树称为二叉判定树。在有序表上进行分查找时的查找长度不超过二叉判定树的高度1+log2n三、算法设计题设计在单链表中删除值相同的多余结点的算法。typedefintdatatype;typedefstructnodedatatypedata;structnode*next;lklistvoiddelredundant(lklist*&head)Iklist*p,响q,*s;for(p=head;pl=0;p=p->next)tor(q=p>nexs=4;q!=0;if(q->data==p->data)[s->next=q->next;free(q);q=s->next;1else(s=q,q=q->next;y。2.设计个求结点x在二义树中的双亲结点算法。typedefstructnode(datatypedata;structnode*Child,*rchild;bitree;bitree*q[20];intr=0,f=0,flag=0voidpreorder(bitree*bt,charx)-IMDN开发者社群-imdn.cn"> next)(stack.op++;stacks[stacktop=p->data;3for(p=head;pl=0;p=p->next)iE(p->data==stacks(stackLop!)stacktop=stacktop-1;elsereturn(0);return(1);2.没计链式存储结构上建立一楳二又树的算法。typedefchardatatype,typedefstructnode(datatypedata;structnode*lchild,*rchild;bitreevoidcreatebitree(bilree*&bt)charch;scanf("%c,&eif(ch==")(bt=0;return;Jbt=(bitree*)malloc(sizeof(bitree));bt->data=chreatebitree(bt->lchild);createbitree(bt->rchild);3.设计判断一棵二叉树是否是二义排序树的算法。intminnum=-32768,flag=1typedefstructnodefintkey;structnode"Child,*rchild;bitree;yoidinorder(bitree*bt)if(bt=0)[inorder(bt->child);if(minnum>bt->key)flag=0;minnum=bt->key,inorder(bt->rchild);h数据结构试卷(二选择题(24分)1.卜面关于线性表的叙述错误的是(D)(A)线性表采用顺序存储必须:用一片连续的存储空间(B)线性表采用链式存儐不必山用一片迕续的存储空闫(C)线性表用链式存便丁插入和删除操作的实现D)线性表釆用顺序存储便亍插入和删除操作的实现设哈大曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有(A界个空指针域,9有叶万为的纸且2(A)2m-1(B)2mC)2m+1妤没顺序循环队列Q0:M1]的头指针和尾指针分别为P和R,头指针F总是指向队头元素的前一位置尾指针R总是指向队尾元的当前位置,则该循环队列中的元素个数为()(A)R-T(B)F-R(C)(R-F+M)%M()(F-R+M)%M√4!设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为A(A)BADC(B)BCDA(CCDAB(D)CBDA5.设某完全无向图有n个顶点,则该完全无向图中有(A条边(A)n(n-1)/2(B)n(n-1)(C)n26.设某棵二叉树中有2000个结点,则该二叉树的最小高度为(O)。(C)11D)12设采图中有m个顶点,则该有向图对应的剑趣中有()个表头结点(B)n(D)2n-18.设一组初始记录关键字序列(5,2,6,3,8),以笫一个记录关键字5为基准进行一趟快速排序的结果为(C)。(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查找技术,必须解决的两个问题是和下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句typedefstruct(ints[100];inttop:fsqsiack;voidpush(sqstack&stack,intx)if(stackop==m-1)printf(“overflow”)lies9tk二x;“a少+:3.中序遍历二叉排序树所得到的序列是有度序列(填有序或无序铁邀神厅的最间复弟度为1),平均时间复杀度为地D(3设某倮二叉树中度数为0的结点数为N,度数为1的结点数为N,则该二叉树中度数为2的结点数若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有山+41个空指针域6.设某无向各中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=7.设一缃初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选法建立的初始堆为8.改某无向图G的邻接表为2->1>3又v--1->4->2·从点W开始的深度优先遍历序圳为1,24:切度优先遍历序列为省三、应用题(36分)].设一组初始记录关键字序为(45,80,48,40,22,78),则分别给出第4趟简单选择排序和第4趟直接插入排序后的结果2.设指针变p指向双向链表中结点A,指针变量q指向被插入结点B,要求给出在结点A的后面插入结点B的操作序列(设双向链表中结京的两个指针域分别为11ink和rlink)a设一组有序的记录关键字序圳为(13,18,24,35,47,50,62,83,90),查找方法用二分查找要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度4设一棵树T中边的集合为联A,B),(A,C,(A,D),(B,E),(C,F,(C,G)},要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树5.设有无向图G(如右图所示),要求给出用普里姆算法构造最小生成树所走6过的边的集合。6.设有—组初始记录关键字为(45,80,48,4,2,178,要求构造一楔二(56叉排序树并给出构造过程。四、算法设计题(16分)1.设有一组初始记录关键字序列(K,K2,…,K),要求设计一个算法能够在0(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K,右半部分的每个关键字均大于等于K2.设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示数据结构试卷(二)参考答案选择题ltd2.B5,A7,B8.C二、填空题构造一个好的HASH凼数,确定解决冲突的方法2.stacktop+t,stacks[stacktop]=3.有序4.0(n2),0(logan)5.N-1,2N+N6.d/27.(31,38,54,56,75,80,55,638.(1,3,4,2),(14)应用题1.(22,40,45,48,80,78),(40,45,48,80,22,78)2.q>llink=p:g->rlink=p->rlink;p->rlink->link=q;p->rlink=q·3.2,ASL=91*1+2*2+3*4+4*2)=25/94.树的链式存储绪构略,二叉树略E={(1,3),(1,2),(3,5),(5,6),(6,4)}6.略四、算法设计题1.设有组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在0(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K1,右半部分的每个关键字均大于等于KYoidquickpass(intr[,ints,intt)inti=s,j=t,x=r[s]While(ix)jj;i(<){r[]==+1;}whie(i<&next)Ifor(q=hb;q!=0;q=q->next)if(q->data==p->data)breakif(ql=0)t=(lklist*)malloc(sizeof(klis);t->data=p-data;t->next=hc;hc=t;I数据结构试卷(三)选择题(30分)1.设某数据结构的二元组形式表示为A=(D,R)D={01,02,03,04,05,06,07,08,09},R={rr={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09},则数据结构A是(B)(A)线性结构B)树型结构(C)物理结构()图型结构2.卜面程序的时间复杂为(for(i=l,s=0(A)0(n)(C)0(n2)(D)0(n")/设指叶变量p指向单链表中结点A,若刷陰单链表中结点A则需要修改指针的操作序列为A(A)g=p->next:p->data=g->data:p->next=g->next:free(q)B)gp->next:g->data=p->data:p->next=g>nextfree(g):(C)q=p->next:p->next=q->next:free(q)(D)q=p->next:p->data=q->data:freeq)4.设有n个待排序的记录关键字,则在堆排序中需要(小个辅助记录单元(A)1(B)n(c)nlogen5.设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为(A)10,15,14,18,20,36,40,21(B)10,15,14,18,20,40,36,2I(C)10,15,14,20,18,40,36,21(D)15,10,14,18,20,36,40,21y/设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为)(A)0(1)(B)0(10g2n)((D)O(n2)7.设无向图G中有n个顶点e条边,则其对应的邻接表中的表头结点和表结点的个数分别为(D(B)e,nC)2D)n,28.设某强连通图中有n个顶点,则该强连通图中至少有(C)条边(A)n(n-1)(B)n+1D)n(+19.设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列)方法可以达到此目的(A)快速排序(B)堆排序(C)归并排序D)插入排序0下列四种排序中()的空间复杂度最大。(A)插入排序(B)冒泡排序(C)堆排序(D)归并排序二、填空殖(48分,其中最后两小题各6分)数据的物理结构主要包括座不构利和环结堆两种情况设一棵完全:叉树中有500个结点,则该二叉树的深度为4:若用二叉链表作为该完全二叉树的存情结构,则共有55个空指针域3.设输入序列为1、2、3,则经过栈的作用后可以得到种不同的输出序列。4.设有向图G用邻接矩阵An]「m作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的友,第1列上所有元素之和等于顶点i的入区毕设哈夫曼树中共有n小结点,则该哈夫曼树中有日个度数为1的结点6.没有向图G中有n个顶点e条有向边,所有的顶人度散之和为d则形和d的关系为=e遍历二义排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序)8.改奁找表中有100个元素,如果川二分法查找方法查找数据元素X,则最多需要比较次就可以断定数据元素K是否在查找表中9.·不论是顺序存储结构的栈还烂链式存储结构的栈:其入饯和出栈榤作的间复柒度均为的10.设有a个结点的完全一义树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的义结点编号为“,右孩子结点的编号为2计11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的·趟快速排序结果为!2.设有向图G中有向边的集合F=(<1,2>,<2,3>,<1,4>,<4,2>,<4,3},则该图的一种拓扑序列为13.下列算法实现顺序散列表中查找值为x的关键字,请在下划线处填上正确的诎句。structrecordfintkey:intothers;)inthashsqsearch(structrecordhashtable[l,intkinti,];j=j=kpwhile(hashtable].keyl=k&&hashtable].flag!=OHj=C)%o;if(i==j)return(-1B1ifDreturnG);elseretum(-1);14.下列算法实现在叉排序树上查找关键值k,请在下划线处填上正确的语句。typedefstructnodeintkey,structnode"Child;structnoderchild;bitree;bitree"bstsearch(bitree*t,intkif(l==o)return(O;elsewhile(t!=0)f(t->key==k)Y七;elseif(t->key>k)tt>lchd;lse七飞→YC三、算法设计题(22分设计在单链表中删除值相同的多余结点的算法2.设计-个求结点x在二叉树中的双亲结点算法。数据结构试卷(三)参考答案、选择题B4.A5.A6.B7.D8.C9.B10.D第3小题分析:首先用指针变量q指向结点A的后继结点B,然后将结点B的值复制到结点A中,最后删除结点B第9小题分析;9快速排序、归并排序和插入排序必须等到整个排序结束后才能够求出最小的10个数,而堆排序只需要在初始堆的基础上再进行10次筛选即可,每次筛选的时间复杂度为0(1ogn)。土、填空题1.顺序存储结构、链式存储结构2.9,5013.54.出度,入度6.7.中序8.79.0(1)10.豆/2,2i+111.(5,16,71,23,72,94,73)12.(1,4,3,2)13.j+l,hashtable[i].key==k14.return(t),t=t-rchild第8小題分析:二分査找的过程可以用一棵二叉树来描述,该二叉树称为二叉判定树。在有序表上进行分查找时的查找长度不超过二叉判定树的高度1+log2n三、算法设计题设计在单链表中删除值相同的多余结点的算法。typedefintdatatype;typedefstructnodedatatypedata;structnode*next;lklistvoiddelredundant(lklist*&head)Iklist*p,响q,*s;for(p=head;pl=0;p=p->next)tor(q=p>nexs=4;q!=0;if(q->data==p->data)[s->next=q->next;free(q);q=s->next;1else(s=q,q=q->next;y。2.设计个求结点x在二义树中的双亲结点算法。typedefstructnode(datatypedata;structnode*Child,*rchild;bitree;bitree*q[20];intr=0,f=0,flag=0voidpreorder(bitree*bt,charx) - IMDN开发者社群-imdn.cn">
登录
首页 » Others » 上海大学数据结构试卷及答案

上海大学数据结构试卷及答案

于 2021-05-07 发布
0 178
下载积分: 1 下载次数: 1

代码说明:

很好的考试复习资料,内容很多,讲解很细致,而且涉及的也是重点数据结构试卷(一)参考答案选择题2.C3.DC 5. A6,C7.C8,B9.810.B填空题1.(F+!2.0(n),0(n1,4. s->rext=p-7nexl: y>neext=sn, 2e6.m=2了,CBA8.4,1610.n-1、应用题1.链式存储结构略,前序 ABDEL,中序 DBEAC,后序 DEBCA,2.哈夫曼树略,WPL=783.(i8,5,16,19,21,23),(5,16,21,19,18,23)h1012345674.线性探测:链地址法:h2->1人8∧1025322768h4->25->326865.深度:125364,广度:123456,最小生成树T的边集为E={(1,4),(1,3)(3,5,(,如,(.6)}四、算法设计题1.设计判断单链表中结点是否关于中心对称算法typedef struct (int s[100]; int top, y sqstack;int lklistsymmetry(iklist *head)sqstack stack; stack top=-1; Iklist"p;forip=head;pl=O; p=p->next)(stack. op++;stack s[stack top=p->data; 3for(p=head;pl=0;p=p->next)iE (p->data==stack s(stackLop!)stack top=stack top- 1; else return(0);return(1);2.没计链式存储结构上建立一楳二又树的算法。typedef char datatype,typedef struct node (datatype data; struct node *lchild, *rchild; bitreevoid createbitree( bilree*&bt)char ch; scanf("%c, &eif(ch==")(bt=0; return; Jbt=(bitree*)malloc(sizeof(bitree)); bt->data=chreatebitree(bt->lchild); createbitree(bt->rchild);3.设计判断一棵二叉树是否是二义排序树的算法。int minnum=-32768, flag=1typedef struct nodefint key; struct node"Child, *rchild; bitree;yoid inorder ( bitree *bt)if (bt =0)[inorder(bt->child ); if(minnum>bt->key)flag=0; minnum=bt->key, inorder (bt->rchild); h数据结构试卷(二选择题(24分)1.卜面关于线性表的叙述错误的是(D)(A)线性表采用顺序存储必须:用一片连续的存储空间(B)线性表采用链式存儐不必山用一片迕续的存储空闫(C)线性表用链式存便丁插入和删除操作的实现D)线性表釆用顺序存储便亍插入和删除操作的实现设哈大曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有(A界个空指针域,9有叶万为的纸且2(A)2m-1(B)2mC)2m+1妤没顺序循环队列Q0:M1]的头指针和尾指针分别为P和R,头指针F总是指向队头元素的前一位置尾指针R总是指向队尾元的当前位置,则该循环队列中的元素个数为()(A)R-T(B)F-R(C)(R-F+M)%M()(F-R+M)%M√4!设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为A(A)BADC(B)BCDA(C CDAB(D) CBDA5.设某完全无向图有n个顶点,则该完全无向图中有(A条边(A)n(n-1)/2(B)n(n-1)(C)n26.设某棵二叉树中有2000个结点,则该二叉树的最小高度为(O)。(C)11D)12设采图中有m个顶点,则该有向图对应的剑趣中有()个表头结点(B)n(D)2n-18.设一组初始记录关键字序列(5,2,6,3,8),以笫一个记录关键字5为基准进行一趟快速排序的结果为(C)。(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查找技术,必须解决的两个问题是和下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句typedef struct (int s[ 100]; int top: f sqsiack;void push (sqstack &stack, int x)if( stackop==m-1) printf(“ overflow”)lies9tk二x;“a少+:3.中序遍历二叉排序树所得到的序列是有度序列(填有序或无序铁邀神厅的最间复弟度为1),平均时间复杀度为地D(3设某倮二叉树中度数为0的结点数为N,度数为1的结点数为N,则该二叉树中度数为2的结点数若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有山+41个空指针域6.设某无向各中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=7.设一缃初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选法建立的初始堆为8.改某无向图G的邻接表为2->1>3又v--1->4->2·从点W开始的深度优先遍历序圳为1,24:切度优先遍历序列为省三、应用题(36分)].设一组初始记录关键字序为(45,80,48,40,22,78),则分别给出第4趟简单选择排序和第4趟直接插入排序后的结果2.设指针变p指向双向链表中结点A,指针变量q指向被插入结点B,要求给出在结点A的后面插入结点B的操作序列(设双向链表中结京的两个指针域分别为11ink和 rlink)a设一组有序的记录关键字序圳为(13,18,24,35,47,50,62,83,90),查找方法用二分查找要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度4设一棵树T中边的集合为联A,B),(A,C,(A,D),(B,E),(C,F,(C,G)},要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树5.设有无向图G(如右图所示),要求给出用普里姆算法构造最小生成树所走6过的边的集合。6.设有—组初始记录关键字为(45,80,48,4,2,178,要求构造一楔二(56叉排序树并给出构造过程。四、算法设计题(16分)1.设有一组初始记录关键字序列(K,K2,…,K),要求设计一个算法能够在0(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K,右半部分的每个关键字均大于等于K2.设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示数据结构试卷(二)参考答案选择题ltd 2. B5,A7,B8.C二、填空题构造一个好的HASH凼数,确定解决冲突的方法2. stack top+t, stack s[stack top ]=3.有序4.0(n2),0( logan)5.N-1,2N+N6.d/27.(31,38,54,56,75,80,55,638.(1,3,4,2),(14)应用题1.(22,40,45,48,80,78),(40,45,48,80,22,78)2. q>llink=p: g->rlink=p->rlink; p->rlink->link=q; p->rlink=q·3.2,ASL=91*1+2*2+3*4+4*2)=25/94.树的链式存储绪构略,二叉树略E={(1,3),(1,2),(3,5),(5,6),(6,4)}6.略四、算法设计题1.设有组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在0(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K1,右半部分的每个关键字均大于等于KYoid quickpass(int r[, int s, int t)int i=s,j=t, x=r[s]While(inext: p->data=g->data: p->next=g->next: free(q)B)gp->next: g->data=p->data: p->next=g >next free(g):(C)q=p->next: p->next=q->next: free(q)(D)q=p->next: p->data=q->data: free q)4.设有n个待排序的记录关键字,则在堆排序中需要(小个辅助记录单元(A)1(B)n(c)nlogen5.设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为(A)10,15,14,18,20,36,40,21(B)10,15,14,18,20,40,36,2I(C)10,15,14,20,18,40,36,21(D)15,10,14,18,20,36,40,21y/设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为)(A)0(1)(B)0(10g2n)((D)O(n2)7.设无向图G中有n个顶点e条边,则其对应的邻接表中的表头结点和表结点的个数分别为(D(B)e,nC)2D)n,28.设某强连通图中有n个顶点,则该强连通图中至少有(C)条边(A)n(n-1)(B)n+1D)n(+19.设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列)方法可以达到此目的(A)快速排序(B)堆排序(C)归并排序D)插入排序0下列四种排序中()的空间复杂度最大。(A)插入排序(B)冒泡排序(C)堆排序(D)归并排序二、填空殖(48分,其中最后两小题各6分)数据的物理结构主要包括座不构利和环结堆两种情况设一棵完全:叉树中有500个结点,则该二叉树的深度为4:若用二叉链表作为该完全二叉树的存情结构,则共有55个空指针域3.设输入序列为1、2、3,则经过栈的作用后可以得到种不同的输出序列。4.设有向图G用邻接矩阵An]「m作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的友,第1列上所有元素之和等于顶点i的入区毕设哈夫曼树中共有n小结点,则该哈夫曼树中有日个度数为1的结点6.没有向图G中有n个顶点e条有向边,所有的顶人度散之和为d则形和d的关系为=e遍历二义排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序)8.改奁找表中有100个元素,如果川二分法查找方法查找数据元素X,则最多需要比较次就可以断定数据元素K是否在查找表中9.·不论是顺序存储结构的栈还烂链式存储结构的栈:其入饯和出栈榤作的间复柒度均为的10.设有a个结点的完全一义树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的义结点编号为“,右孩子结点的编号为2计11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的·趟快速排序结果为!2.设有向图G中有向边的集合F=(,,,,key==k)Y七; else if(t->key>k)tt>lchd;lse七飞→YC三、算法设计题(22分设计在单链表中删除值相同的多余结点的算法2.设计-个求结点x在二叉树中的双亲结点算法。数据结构试卷(三)参考答案、选择题B4.A5.A6.B7.D8.C9.B10. D第3小题分析:首先用指针变量q指向结点A的后继结点B,然后将结点B的值复制到结点A中,最后删除结点B第9小题分析;9快速排序、归并排序和插入排序必须等到整个排序结束后才能够求出最小的10个数,而堆排序只需要在初始堆的基础上再进行10次筛选即可,每次筛选的时间复杂度为0(1ogn)。土、填空题1.顺序存储结构、链式存储结构2.9,5013.54.出度,入度6.7.中序8.79.0(1)10.豆/2,2i+111.(5,16,71,23,72,94,73)12.(1,4,3,2)13. j+l, hashtable[i]. key==k14. return(t),t=t-rchild第8小題分析:二分査找的过程可以用一棵二叉树来描述,该二叉树称为二叉判定树。在有序表上进行分查找时的查找长度不超过二叉判定树的高度1+log2n三、算法设计题设计在单链表中删除值相同的多余结点的算法。typedef int datatype;typedef struct node datatype data; struct node *next; lklistvoid delredundant (lklist *&head)Iklist *p,响q,*s;for(p=head; pl=0; p=p->next)tor(q=p>nex s=4;q!=0;if (q->data==p->data)[s->next=q->next; free(q); q=s->next; 1else (s=q, q=q->next; y。2.设计个求结点x在二义树中的双亲结点算法。typedef struct node (datatype data; struct node *Child, *rchild; bitree;bitree*q[20]; int r=0, f=0, flag=0void preorder (bitree * bt, char x)

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论


0 个回复

  • 模糊控制倒立摆源代码及课件
    运用模糊控制方法实现一级倒立摆稳定。里面有相应的源程序代码及其课件,简单易懂。
    2020-12-03下载
    积分:1
  • DSP实验(10次实验有详细步骤)
    DSP整套实验资料,具有很强的实用性,掌握里面所有的东西,整个DSP技术都会有很大提升
    2019-10-30下载
    积分:1
  • SPSS课件以及原始数据
    SPSS课件以及原始数据,教材,很好,很强大!!!
    2020-06-26下载
    积分:1
  • 齿轮项故障诊断vi
    用labview建立的齿轮项故障诊断vi,包括读取数据,故障分类,状态监测模块。
    2020-11-30下载
    积分:1
  • Database Management Systems(3rd edition)
    Database Management Systems电子版McDiGehrke, 3rd00574dc21MANAGEMENT SYSTEMS3.2.2TranslatingBasic5.9.3173MANAGEMENTDatabasDatabaseHTMLcase
    2020-12-05下载
    积分:1
  • 系统内模控制器设计及仿真
    系统内模控制器设计及仿真,对学习内模控制的同学应该会有些用
    2021-05-07下载
    积分:1
  • 全景自动拼接源码Github资源
    全景自动拼接源码Github资源源码,可以对照代码学习opencv的拼接方法使用,可以结合论文查看相关算法原理,更为直观迅速
    2020-06-26下载
    积分:1
  • OFDMA System Analysis and Design
    OFDMA系统分析与设计的国外经典教材Chapter 1 Introduction to OFDM and OFDMAChapter 2 Characterization of the Mobile Wireless ChannelChapter 3 Fundamentals of Digital Communications and NetworkingChapter 4 Fundamentals of OFDM and OFDMA: Transceiver StructureChapter 5 Physical Layer: Time and FrequencyChapter For a listing of recent titles in theArtech House Mobile Communications Library,turn to the back of this bookOFDMA System Analysis and DesignSamuel C. YangARTECHHOUSEBOSTON LONDONartechhouse. comLibrary of Congress Cataloging-in-Publication DataA catalog record for this book is available from the U.S. Library of CongressBritish Library cataloguing in Publication DataA catalogue record for this book is available from the british libraryISBN-13:978-1-60807-076-3Cover design by vicki KaneC 2010 Artech House685 Canton streetNorwood. MA 02062All rights reserved. Printed and bound in the United States of America. No partof this book may be reproduced or utilized in any form or by any means, elec-tronic or mechanical, including photocopying, recording, or by any informationstorage and retrieval system, without permission in writing from the publisherAll terms mentioned in this book that are known to be trademarks or servicemarks have been appropriately capitalized artech House cannot attest to theaccuracy of this information. Use of a term in this book should not be regardedas affecting the validity of any trademark or service mark10987654321To my beautiful wife JennyContentsPrefaceAcknowledgmentsXVCHAPTER TIntroduction to ofdm and ofdma1.1 Motivation1.2 Conventional FDm1.3 Advantages of FDm1.3.1 Intersymbol Interference(ISI)and Multipath Fading1.3.2 Modulation and Coding per Subcarrier1.3.3 Simple equalization1.4 Disadvantages of FDM1.5 Basics of ofdm1.6 Advantages of OFDM1.6.1 Low-Complexity modulation1.6.2 Spectral Efficiency1.7 Basics of ofdma1.8 Advantages of OFDMA121.9 Some Practical issues of ofdm and ofdma1.9.1 Time Domain: Interblock Interference131.9.2 Frequency Domain: Intercarrier Interference131.10 OFDM and Dsss141.11 Overview of the book14References15Selected BibliographyCHAPTER 2Characterization of the mobile wireless channel2.1 Introduction2.2 Link analysis2.3 Distance Dimension: Propagation Loss2.3.1 Path Loss2.3.2 Shadowing Loss24Contents2.3.3 Multipath Fading26Example 2.1282.3.4 Concluding Remarks292.4 Time Dimension: Multipath Delay Spread302.4.1 Delay Spread30Example 2.231Example 2.3312. 4.2 Coherence bandwidth322.4.3 Implications for OFDM352.5 Frequency Dimension: Doppler Spread362.5.1 Doppler Spread36Example 2. 4372.5.2 Coherence time2.5.3 Implications for OFDM402. 6 Conclusions41References43Selected Bibliography44ChAPTER 3Fundamentals of Digital Communications and Networking453.1 Introduction453.2 Basic Functions of a Transceiver453.3 Channel Coding473.3.1 Linear block codes473.3.2 Convolutional codes493.4 Symbol mapping and modulation3.5 Demodulation563. 5. 1 Matched Filter563.5.2 Symbol Error3.6 Adaptive Modulation and Coding603.7 Cyclic Redundancy Check(CRC)623.8 Automatic Repeat Request(arQ)643.8.1 Stop-and-Wait ARQ643.8.2 Sliding Window arQ653.9 Hybrid ARQ67References69Selected bibliographyCHAPTER 4Fundamentals of ofdm and ofdma: transceiver structure4.1 Basic Transmitter functions714.2 Time domain: guard time4.3 Frequency Domain: Synchronization744.4 Basic receiver functions754.5 Equalization764.6 OFDM Symbol79Contents4.7 OFDMA Transmitter844. 8 OFDMA Receiver4.9 OFDMA4.9.1 Frequency diversity4.9.2 Multiuser diversity914.9.3 Concluding Remarks4.10 Peak-to-Average Power ratio924.11 Conclusions93References94Selected Bibliography95CHAPTER 5Physical Layer: Time and Frequency975.1 Introduction5.2 Distributed Subcarrier Permutation: Forming Subchannels onDownlink5.2.1 Full Usage of Subchannels(FUSC1005.2.2 Partial Usage of Subchannels(PUSC)1015.2.3 Tile Usage of Subchannels 1(TUSC1)1025.2.4 Tile Usage of Subchannels 2(TUSC2)1025.3 Distributed Subcarrier Permutation: Forming Subchannels on Uplink 1025.3.1 Partial Usage of Subchannels(PUSC)1035.3.2 Optional Partial Usage of Subchannels(Optional PUSC)1035.4 Adjacent Subcarrier Permutation: Downlink and Uplink1045.5 Summary of Subcarrier Permutation Modes1045.6 Bursts and Permutation Zones1055.7 Subframes and frames1075.7.1 Preamble1105.7.2 Frame Control Header(FCH)1105.7.3 Downlink MAP (DL-MAP)and Uplink MAP(UL-MAP1115. 8 TDD and FDD5. 9 System Design Issues1125.9.1 Frequency Diversity and multiuser diversity1125.9.2 Segmentation1125. 10 Adaptive burst profiles1155.10.1 Burst Profiles1155.10.2 Channel Quality Feedback116References117ChAPTER 6Physical Layer: Spatial Techniques1196.1 Introduction6.2 Spatial Diversity: Receive Diversity1206.2.1 Receive Diversity: Antenna Selection1226.2.2 Receive Diversity: Maximal Ratio Combining6.3 Spatial Diversity: Transmit Diversity123Contents6.3. 1 Transmit Diversity: Open-Loop 2 X 11246.3.2 Transmit Diversity: Open-Loop 2X 21266.3.3 Transmit Diversity: Closed-Loop Antenna Selection128Example 6.11296.3.4 Transmit Diversity: Closed-Loop precoding1306.3.5 Remarks1326.4 Spatial Multiplexing1336.5 MIMO-OFDM1366.6 Beamforming1366.7 System Design Issues139References140Selected Bibliography141CHAPTER 7Medium Access control: architecture and data plane1437.1 MAC Architecture1437.2 Convergence Sublayer1457. 2.1 Address Mapping( Classification1467. 2.2 Header Suppression1467. 3 Common Part Sublayer1477.3.1ARQ1477. 3.2 MAC SDU and MAc pdu1487.3.3 Fragmentation/Packing1497.4 Security Sublayer152References152chaPTeR 8Medium Access Control Lower Control plane1538. 1 Introduction1538.2 Scheduler1538.3 Bandwidth Request1558.3.1 Request in Existing Uplink Allocation1568.3.2 Unicast Polling1568.3.3 Multicast and Broadcast Polling1578.3.4 Contention-Based Request for OFDMA1578.4 Control Signaling1588.5 Ranging1598.5.1 Initial Ranging1598.5.2 Periodic Ranging1608.5.3 Handover ranging1618.6 Power Control1618.6.1 Uplink Power Control: Closed-Loop1648.6.2 Uplink Power Control: Open-Loop1668.6.3 Assignment of Uplink Modulation and Coding8.6.4 Concluding Remarks168References169ContentsChaPTER 9Medium Access Control: Upper Control plane1719.1 Introduction1719.2 Network Entry1719.2. 1 Synchronization with Downlink of Base Station and acquisitionof parameters1739.2.2 Initial Ranging1739. 2.3 Negotiation of Mobile Capabilities1749.2.4 Security Procedures1749.2.5 Mobile registration1759.2.6 IP Connectivity1759.2.7 Connection Setup1769.3 Mobility Management: Link Handover1769.3.1 Cell Reselection1779.3.2 Hard Handover(HHO1799.3.3 Macro Diversity Handover(MDHO)1849.3.4 Fast Base Station Switching(FBSS1879.3.5 System Design Issue: H Add and h delete1899.3.6 Concluding Remarks1919.4 Mobility management: Network handover192References192CHAPTER 10Quality of Service(Qos)19510.1 Introduction19510.2 Definitions and Fundamental Concepts19510.2.1 Service Flows and Qos Parameters19510.2.2 Connections19610.3 Object Relationship Model19710.4 Service flow transactions19910.4.1 Creating a Service Flow19910.4.2 Changing a Service Flow20010.4.3 Deleting a Service Flow20310.5 QoS Parameters20410.6 Scheduling Services20610.6.1 Unsolicited Grant Service(UGS)20610.6.2 Real-Time Polling Service(rtPS20710.6.3 Extended Real-Time Polling Service(ertPS20710.6.4 Nonreal-Time Polling Service(nrtPS20810.6.5 Best Effort(BE)20810.6.6 Remarks209References210
    2020-11-30下载
    积分:1
  • 优化中的frank-wolfe方法详细讲解及matlab实现
    优化中的frank-wolfe方法详细讲解及matlab实现,适于初学者学习,内容比较基础详细,非常容易掌握。
    2020-11-28下载
    积分:1
  • 点云完全配准算法比较
    根据上次的点云粗配准,对点云进行完全配准,并且计算分析误差。主要包括NDT、3Dsc、FPFH、PFH几种算法比较。
    2020-12-12下载
    积分:1
  • 696518资源总数
  • 104932会员总数
  • 9今日下载