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">
于 2021-05-07 发布
0 132
很好的考试复习资料,内容很多,讲解很细致,而且涉及的也是重点数据结构试卷(一)参考答案选择题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)
下载说明:请别用迅雷下载,失败请重下,重下不扣分!
-
基于单片机的煤气报警器proteus仿真
用proteus设计的煤气报警,可以在电脑上进行仿真,不必在实物上测试
- 2020-12-02下载
- 积分:1
-
halcon和labview接口例程
halcon和labview连接例程,图形变量和数字变量的传输,图像显示,用的.net接口做的,可以帮助大家快速找到需要用的函数
- 2020-12-10下载
- 积分:1
-
机器学习 回归
使用多项式拟合一个周期内、加入噪声的正弦曲线。语言:MATLAB求解方式:由于自己写的梯度下降函数收敛太慢,因此调用MATLAB梯度下降优化函数;后期用共轭梯度方法求解,收敛较快。代码都在里面,但是比较乱。
- 2020-12-09下载
- 积分:1
-
5G NR信号里的matlab生成,SSB块
5G中SSB块中相关信号的生成和在时偏域资源格上的映射,包括SSS、PSS、PBCH和PBCH DMRS的生成与映射
- 2020-11-28下载
- 积分:1
-
智能步进电机驱控芯片TMC5160中文手册-带书签.pdf
中文版的芯片手册,官方刚翻译不久,本人添加了所有书签,包含我的笔记注释,绝对可以成倍提高开发效率!TMC5160 DATASHEET(Rev. 1.08/2018-NOV-19)目录10.1温度传感器3操作原则…看。香看音102短路保护..…731.1关键概念10.3开路诊断……751.2控制接口斜坡发生器…761.3软件1.4运动和控制电机11.1实际单位换算761.5静止态自动降电流.8112运动轮廓1.6 STEALTHCHOP2& SPREADCYCLE驱动……8113讴度阈值791.7 STALLGUARD2-机械负载传感114参考开关1.8 COOLSTEP-负载自适应电流控制…91.9 DCSTEP-负载相关速度控制…STALLGUARD2负载检测..821.10编码器接口∴…..10121调整 STALLGUARD2阈值SGT引脚分配12.2 STALLGUARD2更新速率和滤波器123检测电机堵转3521封装外形……11124用 STALLGUARD实现归零2.2信号描述12125 STALLGUARD2操作局限性85示例电路15COOLSTEP操作8631标准应用电路…15131对用户的好处…32外部栅极电压调节器.16132C00 OLSTEP设置.8633选择 MOSFET和斜率17133调节 COOLSTEP,883.4调整MOSF氏T桥臂19步进/方向接口sPI接口141时序4.1SP数据报结构.142改变分辩率4.2SP|信号23143 MICROPLYER和静止检测914.3时序24寄存器…D|AG输出…9251通用配置寄存器2715.1脉冲/方向模式925.2速度相关的驱动特性控制寄存器∴33152运动控制模式925.3斜坡发生器岢存器35DCSTEP 945.4编码嚣寄存器5.5电机驱动寄存器161用户好处42162设计 DCSTEP…STEALTHCHOP∴52163运动控制模式下的 DCSTEP9561参数自调整16.4 DCSTEP模式下的堵转检测9562 STEALTHCHOP选项16.5 DCSTEP操作中的测量电机实际速度.966.3 STEALTHCHOP电流调节器….16.6步进/方向模式下的 DCSTEP……976.4基于速度的定标……58紧急停止1006.5 STEALTHCHOP和 SPREADCYCLE两者组合.596.6 STEALTHCHOP的标志位增量编码器ABN接口∴1016.7空转和被动制动61181编码器时序102SPREADCYCLE和经典斩波方式63182没置编码器以匹配电机分辨率∴…..102183闭环10271 SPREADCYCLE斩波器647,2经典恒定关断时间斩波器67直流电机或螺线管104选择采样电阻19.1螺饯管操作104基于速度的模式挫制快速配置指南105诊断和保护73人门∴110www.trinamic.comTMC5160 DATASHEET(Rev. 1.08 /2018-NOV-19421.1初始化例程11027.2地的布线119独立操作模式273桥臂电压的布线119111274供电滤波119外部复位..113275布线示例120时钟振荡器和输入113封装机械数据.22241内部时钟…∴113281TQF48EP封装尺寸图…122242外部时钟113282 QFN-WA封装尺寸124283封装代码125最大电气参数设计理念,126电气特性114声明126261操作范围114262直流特性和时序…ESD敏感126115263热特性11732图表127布线考虑119修订历史128271芯片底部焊盘119参考…128www.trinamic.comTMC5160 DATASHEET(Rev. 1.08 /2018-NOV-19操作原则TMC5160运动控制和驱动芯片是C門U和大功率步进电机之间的智能功率接口器件。所有步进电机逻辑完全在TMC5160内,不需要软件来控制电机一一只需提供目标位置。TMC5160提供了许多独特的増强功能,这些功能通过集成的控制驱动器得以实现。TMC5160的六点斜坡发生器自动使用 stealthchoesTep, costEp, and stallguard2来优化每个电机的运动。TMC5160将TMC2100、TMC2130和TMC513系列扩展到更高的电压和更高的电机电流TMC5160提供三种基本操作模式:模式1:全功能运动控制和驱动器所有步进电机逻辑完全在TMC5160内。不需要软件来控制电机—一只需提供目标位置。SDMoDE接地使能此模式模式2:脉冲和方向驱动器像TMC4361这样的外部高性能S-rεmp运动制器或¢pU产生与系统內其他部件(如电杌)同步的脉冲和方向信号。TMC5160控制电流和运动模式,并反馈电机状态。 micro Plyer自动平滑运动。SDMⅥODE接高电平使能此模式。模式3:简单的步进和方向驱动器TMC5160裉据步进和方向信号控制电机。 micro Plyer自动平滑运动。不需要CPU:配置由硬件引脚完成。静止保持电流控制由TMC5160完成。可选的反馈信号作为错误检测和冋步标志的输岀。SP|MODE接地, SD MOD接高电平使能此模式TMC5160SOUTI StepBlABREMP generatethtronmotor driversA interfaceeado,dle千aprag"arnrsteppemctoDIAG/INT out4206 er tryDIAGO SWNngle wirak dlanosicsinfare16MH亿r→HtellGuard2Tudose:3V。-5vCC 10一oth GD: UART modeoct driver enable图11TMC5160基本应用框图(运动控制器)www.trinamic.comTMC5160 DATASHEET(Rev. 1.08 /2018-NOV-192OUTtage TMC5160redUcionInterfacespread OyclestealthahopSRBHsteppeDIAG/INTDIAG1ingle wira931. 121 MHtCKINstallGuard2Tv图12TMC5160步进/方向模式应用框图TMC5160carge pumAnigratioDMD2ConfiguratonCntrol resisterpmgrarmmahlAmotorspreadace (CNDCFGSllIndex pulseDriver erpBMMA23.3v5r5vCC villagec1→SRALStandalone modeapt driver enable图13TMC5160独立模式驱动器应用框图11关键概念TMC5160实现了 TRINAMIC产品独有的高级功能。这些特征在许多步进电机应用有效的提高了精度、能效、可靠性、平滑性和能耗。www.trinamic.comTMC5160 DATASHEET(Rev. 1.08 /2018-NOV-19stealth Chop2m无噪声、高精度斩波算法,用于电机的静止和运动状态下的静音控制。 stealth Chop2在stealthChoρ的基础上,加快了电机迳动加减速特性,降低的所需的电流最小值。spread cycleˉ高精度斩波算法,用于高动态电机运动和产生绝对干净的电流波。低嗓音、低共振和低振动圻波器。dcstep7负載相关速度控制。它机尽可能快地移动,不失步stal guard2w无传感器堵转检沏和机槭负載测量coo/Step根据负载自适应电流,可将能耗降低75%micro Plyer细分内抬器,用于从全步开始,以较低分辨率步长输入获得仝256微步的平滑度除了这些性能増强辶外, TRINAMIC电机驱动器还提供了裣测和防上短路输岀、输岀开路、过热和欠压情况的保障措施,以增强安全性和故障恢复。12控制接口TMC5160支持SP接口和带有CRC校验的UART单线接口。此外还支持为无需寄存器配置的独立STEPDR模式。配置引脚SP_MoDE和SD_MODE到相应的高电平或者圯选泽接口。121sP接口sP丨接口是与总线时钟同步的串行位接口。当SP丨主设备发送数据到从设备时,从设备同时会向主设备返回数据。SP主机和TMC5160之间的通信包括一条40位发送命令字和一条40位接收状态字。每个完整乜机运动过程通常是由多条命令杓成,122UART接口单线接口支持类似RS485(SWP和SWN)或单线接口(SWN开路)的差分操作。它可以由任何标准UART驱动。不需要波特率配置13软件从软件的角度来看,TMC5160是一个具有多个控制和状态寄存器的外围设备。其中大部分是只读或者只写的。一些寄存器允许读写访闩。如果只写寄存器需要读-修改-写访问,可以在主软件中通过阴影寄存器实现www.trinamic.comTMC5160 DATASHEET(Rev. 1.08 /2018-NOV-19814运动和控制电机141集成运动控制器集成的32位运动控制器貞接驱动电机到目标位置,或者加速到目标速度。所冇的运动参敖都可以动态改变。运动控制器立即重新计算。最小运动配置数据包含加速和减逸值以及最大运动逸度。支持设置启动和停止速度以及第二加速和减速度。集成运动控制器可对机械参考开关和无传感器 stallguard2及时响应。优势灵活编程斜坟参数有效地利用电动机转矩来加速和减速允许更高的机器性能即时反应停止和堵转条件142STEP/DR接口电机可选择通过步进和方向输入来控制。在这种情况下,运动控制器不使用。步进输入引脚上的有效边沿可以是上升沿,也可以是上升沿和下降活双边缘,归模弌笠(deσεe)控制。使用两个边缘捋步进信号的触发速率降低一半,对慢速通信接口(如光耦隔离接口)非常有用。在每个活动边上,DR输亼电平值决定是向前还是向后运行。每个脉冲可以是全步或微步,其中每个全步有2、4、8、16、32、64、18或256个微步。DR引脚上电平为低的步进(STE卩)脉冲增加了微步汁数器数值,而电平高的减少了微步计效器的数值。内部表袼将指针值转换成正弦和余弦值,控制电机微步咆流15静止态自动降电流自动电流减少大大降低了应用功耗和冷却需求。通过寄存器设置修改静态电流、延迟时间和衰减。自动飞轮和被动制动是静止的一种选择。被动制动将电机静止功耗降低到零,同时仍然禔供有效的阻尼和制动!斜坡发生器和STEP/DR两个操作模式都支痔一种更快检测靜止的配置。Standstill flag(st st)ORRENTIRUNstandstill delay 7POWERDOWN/HCLDDELAY220/218 docks power down pow er downRMS motor current trace(astsfandstill) delay tinm图1.1电机自动降电流16 stealth Chop2& spreadcycle驱动为灬 stealthcho基于电压斩波器的原理。除了电机机械滚轮軸承产生的噪音,它特别保证了电机在静上慢动作时绝对安静。不同于其他电压模弌斩波器, stealth Chop2不需要任何配置。通电后,它会在第次运动中自动学习最佳设置,并进一步优仳后续运动中的设置。初始的归麥过程足以使系统完成stealth Chop最佳配置。也可以选择,通过接口预先配置初始学习参数。 stealth Chop,通过对电机度的变化立即做出反应,允许高的电机动态。www.trinamic.comTMC5160 DATASHEET(Rev. 1.08 /2018-NOV-19对于高动态的应用, spread Cycle是除 stealth Chop2之外的选项。它可以通过输入引脚(独立模式)或SP或UART接口配置。 stealth Chop2和 spread Cycle甚至可以结合使用,以达到两者的最佳效果: stealth Chop2用于无噪音的静止状态,无声平滑的性能, spread cycle用于高动态,低振动和最高的峰值逸度。spreadeαycle是周期斩波模弌。它在很宽的速厦和负载范围内提供平稳的操作和良好的共振阻尼。spreadcycle方案自动集成和调节快衰减周期,以保证平滑过零性能。stealth Chop2优势显著改善了低成本电机微步性能电机运行平稳安静绝对没有待机噪音降低机械共振产生改善的扭矩17 stallard2-机械负載传感stallguard2提供了对电机负载的精确测量。它可以用于堵转检测,也可以用于低于使电机失步的负载下的其他用途,例如 coolSte负载自适应调节电流。这提供了更多关于驱动器的信息,允许诸如无传感器归零和驱动器机械诊断之类的功能18 coolStep-负載自适应电流控制costep以最佳电流驱动电机。它根据stal! guard2负载测量信息将电机电流调整到实际负载所需的最小量。节约了能源,降低了芯片的温度。好处是:能效能效功耗降低高达75%电机产生较少热量提高了机械精度较少或没有散热提高了可靠性使用较小的电机减少所需的转矩→成本较低的电机完成这项工作图15显示了42mm步进电机当使用 costep时,与50%转矩的标准操作相比的效率。在本例中cool step在60转/分以上时启用EffieEficiency with 50% torque reserve彐 fluency050100150200图15 costEp下的能效(示例)19 esTep-负载相关速度控制esTep能让电机在其负载极限和逸度极限附近运行,而不失步。如果皃机上的机械负载増加到堵转负载点,电机会自动降低速度,这样它仍然可以驱动负载。有了这饣功能,马达将不会堵转。除了在较低速庋下增加扭矩之外,动态惯性淂允许电杋通过减速克服机械过载。 esTep直接与斜坡发生器集成,www.trinamic.comTMC5160 DATASHEET(Rev. 1.08 /2018-NOV-1910因此即使电杌速度因机械负载増加而需要降低,也能达到目标位置。dcStεp可以在没有任何失步的情况下达到10倍或更大的动态范围。通过优化高负载情况下的运动速度,该功能进-步提高了整体系统效率esTep优电机在过载情况下不会失步应用程序可以运行的更快自动实现最高的加速度在速度极限下实现最高的能效全步驱动达到最高电机扭短便宜的马达便能满足应用110编码器接口TMC5160为部增量编码器提供编码器接口。编码器不仅用于失步的判断,还可实现运动控制器的归零功能(替代参考开关)。可编栏预分频器设置编码器分辨率以适应电机分辨率。内部包含一32位编码器计数器。www.trinamic.com
- 2020-12-04下载
- 积分:1
-
设备管理系统/Java&MySQL
设备管理系统,使用Java结合MySQL编写,在eclipse下进行的设计.MySQL Connector/J.jar是实现Java程序与MySQL设计的数据库进行连接的文件.MySQL安装时要设置中文字符集,才能设计中文数据库.
- 2020-12-05下载
- 积分:1
-
用C语言实现polyfit函数
用C语言实现polyfit多项式拟合,已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值。
- 2020-12-03下载
- 积分:1
-
haar特征提取 matlab
本文档仅仅是一个提取HAAR特征的过程,没有加入adaboost训练器,有需要的可以下载仿真一下。仅供参考,不作科研使用
- 2020-12-06下载
- 积分:1
-
基于51单片机数控直流电源的设计
基于51的数控直流电源的设计,比较不错,尤其是数控电源在工业与民用上的应用越来越多,这方面的资料又比较欠缺,所以拿来与大家分享。虽然分比较高,但还是很值得的基于51单片机数控直流电源的设计目录1.前言1.1研究背景及意义…1.2国内外研究现状1.3课题的主要内容14论文的总体结构……2方案论证与设计基础知识2.1方案设计与论证…22主控单片机(MCU2.3液晶显示屏(1602)……2.4三端可调稳压器…82.5运算放大器OP072.6数模转换芯片……………1027模数转换芯片3.系统电路原理及硬件实现…………………………………123.1系统总体框图1232系统模块电路设计……………………………………………………………133.2.1单片机控制模块……惠州学院毕业论文3.2.2稳压控制模块…………………………………………………………………143.2.3电压与电流采样模块153.2.4显示模块……183.2.5电源模块193.2.6键盘模块…203.3系统整体原理图……………………………204.系统的软件设计214.1软件设计思路……………………214.2系统软件流程……214.2.1主程序模块……………………………………214.2.2闭环比较程序模块235.系统测试与误差分析……………………………………………………245.1系统测试245.1.1软件测试245.1.2硬件测试245.1.3系统整体测试………………………………………………………2552误差分析……………266.设计总结和展望…………………………………………………………27致谢…………29参考文献附录1系统整体原理图…附录2系统源程序…………………………32基于51单片机数控直流电源的设计1前言1.1研究背景及意义电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。直流稳压电源是电子技术常用的仪器设备之一,广泛的应用于教学、科研等领域,是电子实验员、电子设计人员及电路开发部门进行实验操作和科学研究所不可缺少的电子仪器。在电子电路中,通常都需要电压稳定的直流电源来供电。而整个稳压过程是由电源变压器、整流、滤波、稳压等四部分组成。然而这种传统的直流稳压电源功能简单、不好控制、可靠性低、干扰大、精度低且体积大、复杂度高。普通的直流稳压电源品种有很多,但均存在以下二个问题:输出电压是通过粗调(波段开关)及细调(电位器)来调节。这样,当输出电压需要精确输出,或需要在一个小范围内改变时,困难就较大。另外,随着使用时间的增加,波段开关及电位器难免接触不良,对输出会有影响。稳压方式均是采用串联型稳压电路,对过载进行限流或截流型保护,电路构成复杂,稳压精度也不高。在家用电器和其他各类电子设备中,通常都需要电压稳定的直流电源供电。但在实际生活中,都是由220ⅴ的交流电网供电。这就需要通过变压、整流、滤波、稳压电路将交流电转换成稳定的直流电。滤波器用于滤去整流输出电压中的纹波,一般传统电路由滤波扼流圈和电容器组成,若由晶体管滤波器来替代,则可缩小直流电源的体积,减轻其重量,且晶体管滤波直流电源不需直流稳压器就能用作家用电器的电源,这既降低惠州学院毕业论文了家用电器的成本,又缩小了其体积,使家用电器小型化。传统的直流稳压电源通常采用电位器和波段开关来实现电压的调节,并由电压表指示电压值的大小。因此,电压的调整精度不高,读薮欠直观,电位器也易磨损。而基于单片机控制的直流稳压电源能较好地解决以上传统稳压电源的不足。随着科学技术的不断发展,特别是计算机技术的突飞猛进,现代工业应用的工控产品均需要有低纹波、宽调整范围的高压电源,而在一些高能物理领域,更是急需电脑或单片机控制的低纹波、宽调整范围的电源。1.2国内外研究现状从十九世纪90年代末起,随着对系统更高效率和更低功耗的需求,电信与数据通讯设备的技术更新推动电源行业屮直流值流电源转换器向更高灵活性和智能化方向发展。在上世纪80年代的第一代分布式供电系统开始转向到上世纪末更为先进的第四代分布式供电结构以及中间母线结构,直流/直流电源行业正面临着新的挑战,即如何在现有系统加入嵌入式电源智能系统和数字控制。随着科学技术的迅速发展,人们对物质需求也越来越来高,特别是一些高新技术产品。如今随着直流电源技术的飞跃发展,整流系统由以前的分立元件和集成电路控制发展为微机控制,从而使直流电源智能化,具有遥测、遥信、遥控的三遥功能,基本实现了直流电源的无人值守。并且,在当今科技快速发展过程中,模块化是直流电源的发展趋势,并联运行是电源产品大容量化的一个有效手段,可以通过设计N+1冗余电源系统,实现容量扩展,提高电源系统的可靠性可用性,缩短维修、维护时间,从而使企业产生更大的效益。如:扬州鼎华公司近些年基于51单片机数控直流电源的设计来结合美国 Sorensen amre等公司的先进技术,成功开发了单机最大功率120KW智能模块电源,可以并联32台(可扩展到64台),使最大输出功率可以达到7600kW以上。智能模块电源采用电流型控制模式,集中式散热技术,实吋多仼务监控,具有高效、高可靠、超低辐射,维护快捷等优点,机箱结构紧凑,防腐与散热也作了多方面的加强。它的应用将会克服大功率电源的制造、运输及维修等困难。而且和传统可控硅电源相比节电20%-30%节能优势,奠定了它将是未来大功率直流电源的首选1.3课题的主要内容如何实现对电源的输出控制系统设计的目的是要用微处理器来替代传统直流稳压电源中手动旋转电位器,实现输出电压在电源量程范围内步进冋调,精度要求高。实现的途径很多,可以用DAC的模拟输出控制电溟的基准电压或分压电阻,或者用其它更有效的方法,因此如何选择简单有效的方法是本课题需要解决的首要问题。2、数控直流电源功能的完备数控直流稳压电源要实现电压的键盘化输出控制,同时要具备输出、过压过流保护及数组存贮与预置等功能。另外,根据要求电源还应该可以通过按键选择一些特殊的功能。如何有效的实现这些功能也是课题所需研究解决的问题。3、性能指标输出最大电压:15V输出最大电流:1A惠州学院毕业论文电压步进01V电压分辨率:002V14论文的总体结构第一部分简要介绍课题的背景、意义、国内外研究现状,介绍本文的主要研究内容,包括实现的目标、功能的完备和性能指标。第二部分提出了数控直流电源的总的设计思路和几种实现方案论证,以及相关系统实现的功能,对这些方案的可行性进行比较分析,选择了一种基于51单片机系统的数控直流电源的方案,并对该方案运用的基础知识和使用的器件作出扼要的介绍。第三部分模块化详细阐述了基于51单片数控直流电源的系统整体结构和设计框图,包括薮据单片杋控制模块、稳压控制模块、电压僡流釆样模块、电源模块及键盘模块。第四部分主要阐述了数控直流电源的软件系统的设计思路和软件设计流程。第五部分对数控直流电源的性能参数进行测量与评估,以及对误差进行分析。第六部分对本薮控直流电源的给出了本课题的结论,并对其发展前景进行了展望。2方案与设计基础知识21方案设计与论证根据设计的要求:1、最高输岀电压15V,最大输出电流1A。2、电压步进01V。3、纹波系数尽可能小,输出稳定。4、有限按键操作方使,LCD显示界面基于51单片机数控直流电源的设计5、闭环控制理论的嵌入式软件实现特色及基本技术路线:低成本解决方案。2、直观的实验效果3、经典理论验证平台先硬件后软件,先局部后整体。我设计出以下三个方案:方案一:设计开关电源。在前期方案设计中采用PWM脉宽调制。它的功耗小,效率髙,稳压范围宽,电路形式灵活多样,功耗小,效率高。在制作过程中发现,PWM占空比的线性变化使相应的电流呈非线性变化,经分析发现滤波电容的存在对占空比很小的PWM波积分效果明显,导致电压的非线性变化更显著,特别是PWM占空比很小时(希望得到输出的电压很小),利用单片开关电源的PWM技术控制开关的占空比来调整输出电压的,以达到稳定输出的日的。但用数字量控制的作用更加明显。方案二:用DA和运算放大器做电流源,即采用DA输出调节晶体管的偏值电流电压)。采用此方案能有效的缩短调节吋间,并能提高输出精度。设计方案,包括了微控制器模块、稳压控制模玦、显示模块、键榅模玦、电源模块四部分构成,形成开环控制。方案原理示意图见图2-1:惠州学院毕业论文电压控制单掉电存贮元(LM317)单元(24C02)51单片机(8051)按键电路三位数码管显示单元电源电路图2-1方案二原理框图采用常用的51芯片作为控制器,PO口和DAC0832的数据口直接相连,DA的电压输出端接放大器OP07的输入端,设定放大器的放大倍数为5,输出到电压模块LM3317的电压分辨率0.1ⅴ。所以,当MCU输出数据增加1的时候,最终输出电压增加0.1V,当调节电压的时候,可以以每次0.1Ⅴ的梯度增加或者降低电压。数码管显示电路,该系统使用3个数码管,可以显示三位数,分别组成显示电路的十位、个位、小数点位。本主电路的原理是通过MCU控制DA的输出电压大小,通过放大器放大,给电压模块作为最终输出的参考电压,真正的电压,电流还是由电压模块LM317输出。方案三:用D∧A和运算放大器做电流源,即釆用DA输出调节晶体管的偏值电流
- 2020-12-09下载
- 积分:1
-
雷达系统分析与建模雷达系统分析与建模
雷达系统分析与建模雷达系统分析与建模雷达系统分析与建模雷达系统分析与建模雷达系统分析与建模
- 2020-11-29下载
- 积分:1