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 214
下载积分: 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 个回复

  • teqc质量分析结果图形展示软件
    teqc 的plot files 可以通过此软件进行图形展示,如有问题请指教留言。1. 软件处理的数据格式为COMPACT3格式,老版本的格式并不兼容,请使用最新版本的teqc2. 软件不进行数据处理,仅对teqc输出的结果文件进行图形展示:*.azi - 卫星方位角文件*.ele - 卫星仰角文件*.i12 - d电离层延迟*.d12 - 电离层延迟变化*.m12 - 多路径效应*.m21 - 多路径效应*.sn1 - 载噪比*.sn2 - 载噪比
    2020-11-28下载
    积分:1
  • pso工具箱 matlab
    pso工具箱 matlab PSOt为PSO的工具箱,该工具箱将PSO算法的核心部分封装起来,提供给用户的为算法的可调参数,用户只需要定义好自己需要优化的函数(计算最小值或者最大值),并设置好函数自变量的取值范围、每步迭代允许的最大变化量(称为最大速度,Max_V)等,即可自行优化。
    2020-12-07下载
    积分:1
  • k均值聚类算法
    k均值聚类算法,代码实现
    2020-11-30下载
    积分:1
  • 遗传算法求解日前调度
    用遗传算法求解电力系统简单日前调度问题,考虑微网发电成本的经济性,以微型燃气轮机发电成本、 储能运行维护成本和微网与主网之间买、卖电的交互成本为系统总成本,以电力平衡及机组运行的相关约束为模型的约束条件,建立使系统的总成本最低为目标函数的日前经济优化调度模型。 日前经济优化调度一般以 24 小时为调度周期,电网的调度中心根据次日调度周期内的负荷以及可再生能源出力预测数据,提前安排次日每个小时内发电机机组或储能设备等的出力情况以及要从上层电网购买或售出的电量,以达到发电成本最小或收益最大的目的。
    2021-05-06下载
    积分:1
  • 自适应滤波&LMS算法
    自适应滤波&LMS算法课件,讲解比较详细
    2020-11-30下载
    积分:1
  • 基于MATLAB GUI的信号发生器及频谱分析仪
    基于MATLB GUI的信号发生器可以产生正弦波、方波、指数信号及任意表达式的信号,可以设定指定信号的频率、占空比、放大系数、衰减系数等参数,也支持输入任意信号的表达式。同时具有频谱分析的功能,设定采样频率后即可对信号进行频谱分析。
    2020-12-12下载
    积分:1
  • MATLAB在卡尔曼滤波器中应用的理论与实践Kalman
    MATLAB在卡尔曼滤波器中应用的理论与实践KalmanKALMAN FILTERINGTheory and Practice Using MATLABThird editionMOHINDER S GREWALCalifornia State University at FullertonANGUS P. ANDREWSRockwell Science Center (retired)WILEYA JOHN WILEY & SONS, INC. PUBLICATIONCopyright 2008 by John Wiley sons, Inc. All rights reservedPublished by John Wiley sons, InC, Hoboken, New JerseyPublished simultaneously in CanadaNo part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or byany means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permittedunder Section 107 or 108 of the 1976 United States Copyright Act, without either the prior writtenpermission of the Publisher, or authorization through payment of the appropriate per-copy fee to theCopyright Clearance Center, Inc, 222 Rosewood Drive, Danvers, MA 01923,(978)750-8400, fax(978)750-4470,oronthewebatwww.copyright.com.RequeststothePublisherforpermissionshouldbe addressed to the Permissions Department, John Wiley Sons, Inc, lll River Street, Hoboken, NJ07030,(201)748-6011,fax(201)748-6008,oronlineathttp://www.wiley.com/go/permissionimit of liability Disclaimer of Warranty: While the publisher and author have used their best efforts inpreparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability orfitness for a particular purpose. No warranty may be created or extended by sales representatives orwritten sales materials. The advice and strategies contained herein may not be suitable for your situationYou should consult with a professional where appropriate. Neither the publisher nor author shall be liablefor any loss of profit or any other commercial damages, including but not limited to special, incidentalconsequential, or other damagesFor general information on our other products and services or for technical support, please contact ourCustomer Care Department within the United States at(800)762-2974, outside the United States at(317)572-3993 or fax(317)572-4002Wiley also publishes its books in a variety of electronic formats. Some content that appears in print maynot be available in electronic format. For more information about wiley products, visit our web site atwww.wiley.comLibrary of Congress Cataloging- in-Publication DataGrewal. Mohinder sKalman filtering: theory and practice using MATLAB/Mohinder S. GrewalAngus p. andrews. 3rd edIncludes bibliographical references and indexISBN978-0-470-17366-4( cloth)1. Kalman filtering. 2. MATLAB. I. Andrews, Angus P. II. TitleQA402.3.G69520086298312—dc22200803733Printed in the United States of america10987654321CONTENTSPrefaceAcknowledgmentsXIIIList of abbreviationsXV1 General Information1.1 On Kalman Filtering1.2 On Optimal Estimation Methods, 51. 3 On the notation Used In This book 231. 4 Summary, 25Problems. 262 Linear Dvnamic Systems2. 1 Chapter focus, 312.2 Dynamic System Models, 362. 3 Continuous Linear Systems and Their Solutions, 402.4 Discrete Linear Systems and Their Solutions, 532.5 Observability of Linear Dynamic System Models, 552.6 Summary, 61Problems. 643 Random Processes and Stochastic Systems3.1 Chapter Focus, 673.2 Probability and random Variables (rvs), 703.3 Statistical Properties of RVS, 78CONTEN3.4 Statistical Properties of Random Processes(RPs),803.5 Linear rp models. 883.6 Shaping Filters and State Augmentation, 953.7 Mean and Covariance propagation, 993.8 Relationships between Model Parameters, 1053.9 Orthogonality principle 1143.10 Summary, 118Problems. 1214 Linear Optimal Filters and Predictors1314.1 Chapter Focus, 1314.2 Kalman Filter. 1334.3 Kalman-Bucy filter, 1444.4 Optimal Linear Predictors, 1464.5 Correlated noise Sources 1474.6 Relationships between Kalman-Bucy and wiener Filters, 1484.7 Quadratic Loss Functions, 1494.8 Matrix Riccati Differential Equation. 1514.9 Matrix Riccati Equation In Discrete Time, 1654.10 Model equations for Transformed State Variables, 1704.11 Application of Kalman Filters, 1724.12 Summary, 177Problems. 1795 Optimal Smoothers5.1 Chapter Focus, 1835.2 Fixed-Interval Smoothing, 1895.3 Fixed-Lag Smoothing, 2005.4 Fixed-Point Smoothing, 2135.5 Summary, 220Problems. 226 Implementation Methods2256. 1 Chapter Focus, 2256.2 Computer Roundoff, 2276.3 Effects of roundoff errors on Kalman filters 2326.4 Factorization Methods for Square-Root Filtering, 2386. 5 Square-Root and UD Filters, 2616.6 Other Implementation Methods, 2756.7 Summary, 288Problems. 2897 Nonlinear Filtering2937.1 Chapter Focus, 2937.2 Quasilinear Filtering, 296CONTENTS7.3 Sampling Methods for Nonlinear Filtering, 3307.4 Summary, 345Problems. 3508 Practical Considerations3558.1 Chapter Focus. 3558.2 Detecting and Correcting Anomalous behavior, 3568.3 Prefiltering and Data Rejection Methods, 3798.4 Stability of Kalman Filters, 3828. 5 Suboptimal and reduced- Order Filters, 3838.6 Schmidt-Kalman Filtering, 3938.7 Memory, Throughput, and wordlength Requirements, 4038.8 Ways to Reduce Computational requirements 4098.9 Error Budgets and Sensitivity Analysis, 4148.10 Optimizing Measurement Selection Policies, 4198.11 Innovations analysis, 4248.12 Summary, 425Problems. 4269 Applications to Navigation4279.1 Chapter focus, 4279.2 Host vehicle dynamics, 4319.3 Inertial Navigation Systems(INS), 4359. 4 Global Navigation Satellite Systems(GNSS), 4659.5 Kalman Filters for GNSS. 4709.6 Loosely Coupled GNSS/INS Integration, 4889.7 Tightly Coupled GNSS /INS Integration, 4919. 8 Summary, 507Problems. 508Appendix A MATLAB Software511A 1 Notice. 511A 2 General System Requirements, 511A 3 CD Directory Structure, 512A 4 MATLAB Software for Chapter 2, 512A. 5 MATLAB Software for Chapter 3, 512A6 MATLAB Software for Chapter 4, 512A. 7 MATLAB Software for Chapter 5, 513A 8 MATLAB Software for Chapter 6, 513A 9 MATLAB Software for Chapter 7, 514A10 MATLAB Software for Chapter 8, 515A 11 MATLAB Software for Chapter 9, 515A 12 Other Sources of software 516CONTENAppendix b A Matrix Refresher519B. 1 Matrix Forms. 519B 2 Matrix Operations, 523B 3 Block matrix Formulas. 527B 4 Functions of Square Matrices, 531B 5 Norms. 538B6 Cholesky decomposition, 541B7 Orthogonal Decompositions of Matrices, 543B 8 Quadratic Forms, 545B 9 Derivatives of matrices. 546Bibliography549Index565PREFACEThis book is designed to provide familiarity with both the theoretical and practicalaspects of Kalman filtering by including real-world problems in practice as illustrativeexamples. The material includes the essential technical background for Kalman filter-ing and the more practical aspects of implementation: how to represent the problem ina mathematical model, analyze the performance of the estimator as a function ofsystem design parameters, implement the mechanization equations in numericallystable algorithms, assess its computational requirements, test the validity of resultsitor the filteThetant attributes ofthe subject that are often overlooked in theoretical treatments but are necessary forapplication of the theory to real-world problemsIn this third edition, we have included important developments in the implemen-tation and application of Kalman filtering over the past several years, including adaptations for nonlinear filtering, more robust smoothing methods, and develelopingapplications in navigationWe have also incorporated many helpful corrections and suggefrom ourreaders, reviewers, colleagues, and students over the past several years for theoverall improvement of the textbookAll software has been provided in MatLab so that users can take advantage ofits excellent graphing capabilities and a programming interface that is very close tothe mathematical equations used for defining Kalman filtering and its applicationsSee Appendix a for more information on MATLAB softwareThe inclusion of the software is practically a matter of necessity because Kalmanfiltering would not be very useful without computers to implement it. It provides aMATLAB is a registered trademark of The Mathworks, IncEFACEbetter learning experience for the student to discover how the Kalman filter works byobserving it in actionThe implementation of Kalman filtering on computers also illuminates some of thepractical considerations of finite-wordlength arithmetic and the need for alternativealgorithms to preserve the accuracy of the results. If the student wishes to applywhat she or he learns, then it is essential that she or he experience its workingsand failings--and learn to recognize the differenceThe book is organized as a text for an introductory course in stochastic processes atthe senior level and as a first-year graduate-level course in Kalman filtering theory andapplicationIt can also be used for self-instruction or for purposes of review by practi-cing engineers and scientists who are not intimately familiar with the subject. Theorganization of the material is illustrated by the following chapter-level dependencygraph, which shows how the subject of each chapter depends upon material in otherchapters. The arrows in the figure indicate the recommended order of study. Boxesabove another box and connected by arrows indicate that the material represented bythe upper boxes is background material for the subject in the lower boxAPPENDIX B: A MATRIX REFRESHERGENERAL INFORMATION2. LINEAR DYNAMIC SYSTEMSRANDOM PROCESSES AND STOCHASTIC SYSTEMS4. OPTIMAL LINEAR FILTERS AND PREDICTORS5. OPTIMAL SMOOTHERS6. IMPLEMENTATIONMETHODS7. NONLINEAR8. PRACTICAL9. APPLICATIONSFILTERINGCONSIDERATIONSTO NAVIGATIONAPPENDIX A: MATLAB SOFTWAREChapter l provides an informal introduction to the general subject matter by wayof its history of development and application. Chapters 2 and 3 and Appendix b coverthe essential background material on linear systems, probability, stochastic processesand modeling. These chapters could be covered in a senior-level course in electricalcomputer, and systems engineeringChapter 4 covers linear optimal filters and predictors, with detailed examples ofapplications. Chapter 5 is a new tutorial-level treatment of optimal smoothing
    2020-12-01下载
    积分:1
  • 基于UCI中Car Evaluation数据集的分类、回归与聚类
    通过在UCI开源网站上下载Car Evaluation数据集,对其使用机器学习算法进行分析,分别使用了分类算法,回归算法,聚类算法,文件中附数据集以及代码,代码使用jupyter运行即可,代码中介绍比较详细,通熟易懂,从头至尾皆可跑通!
    2020-12-11下载
    积分:1
  • 语音库DLL破解版smartread7.dll
    语音库DLL破解版语音库DLL破解版smartread7.dll
    2020-11-27下载
    积分:1
  • 汽车系统动力学1/4悬架模型
    参考汽车系统动力学里的1/4悬架模型的程序,包括了轮胎动载,车身加速度均方根值,悬架动行程的谱密度绘图
    2020-11-07下载
    积分:1
  • 696518资源总数
  • 105540会员总数
  • 37今日下载