上课情况和电子版_第1页
上课情况和电子版_第2页
上课情况和电子版_第3页
上课情况和电子版_第4页
上课情况和电子版_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构试卷(一一、单选题(每题220分栈和队列的共同特点是(a)。用方式的队列,在进行插入运算时(dA.仅修改头指 B.头、尾指针都要修C.仅修改尾指 dA.队 B. C.线性 D.二叉A[m][n]64(10)A2][2]每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。c 二叉树的第kd D.2k-若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( cd A. B.C. D.A. B. C. D.1(cd) 二、填空题(126分 时间正确 复杂度强壮 准确度_高效 一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示 3 (C(EFG(IJ 后缀算式923+-102/-的值为3-1。中缀算式(3+4X)-2Y/3对应的后缀算 34X*+2Y*/- 若用链表一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。在这种结构中,n个结点的二叉树共有n_2n个指针域,其中有n-1个指针域是存放了地址,有 3n+1 分别有e+1_e个和e+12e个。AOV网是一 n个顶点的无向完全图中,包含有n-1_n(n-1)/2 素成为一个子表,则得到的四个子表分别

向一棵B_树插入元素的过程中,若最终引起树根结点的,则新树比原树的高 增加 O(log2n)整个堆排序过程的时间复杂度为0(1) 堆排序归并排 三、计算题(每题624分在如下数组A中了一个线性表,表头指针为A[0].next,试写出该线性表3572041 3572041A[0]A[3]A[2]A[7]A[1]A[5]A[4]78,5040,6034,90)邻接矩阵:

1 1

1111已知一个图的顶点集VE分别为:V={1,2,3,4,5,6,7}; 4,2,5,8,3四、阅读算法(714分LinkListmynote(LinkList while(p->next)p=p->next; } }S1的功能;判断pp则指向下一节点查询链表的尾节点设链表表示的线性表为(a1,a2,…,an),写出算法执行后的返回值所表示的线性表。a2,a3,…an,a1voidABC(BTNode*{ BTABC(BT->right);}}该算法的功能是:判断是否为满二叉树递归的后序遍历链式的二叉树五、算法填空(8分)boolFind(BTreeNode*BST,ElemType&{ifreturnfalse;else{if(item==BST-return item elseif(item<BST-returnFind( elsereturnFind( }六、编写算法(8分intCountX(LNode*HL,ElemTypex){intcount;node*head,*p;head=HL;if(head-{while(p-{if(p-}}}Structnode{elemtypeStructnodeintCountX(LNode*HL,ElemType inti=0;LNode*p=HL;//i{if(P->data==x)i++;}//while,ixreturn数据结构试卷(二一、选择题(24 设哈夫曼树中的叶子结点总数为m,若用二叉链表作为结构,则该哈夫曼树中总共有()个空指针域。(A)2m- (B) (C) (D)Q[0:M-1FRFR((A)R- (B)F- (C)(R-F+M)%M(D)(F- (A) (B) (C) (D)n()(A)n(n- (B)n(n- (C) (D)n2-2000((A) (B) (C) (D)n()(A)n- (B) (C) (D)2n-速排序的结果为((A) (B)(C) (D)二、填空题(24为了能有效地应用HASH查找技术,必须解决的两个问题 typedefstruct{ints[100];inttop;}sqstack;voidpush(sqstack&stack,intx){if(stack.top==m-1)else } 2的结点数为 设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则 ,BFS三、应用题(364设指针变量p指向双向链表中结点A,指针变量q指向入结点B,要求给出在结点AB(设双向链表中结点的两个指针域分别为llinkrlink62T{(A,B),(A,C),(A,D),(B,E),(C,F),(C,G)},要求四、算法设计题(16(K1K2Kn个关键字均大于等于Ki。设有两个AB,要求设计生成C=A∩B的算法,其中A、BC用链式结构表示。数据结构试卷(三一、选择题(每题1分,共20<03,08>,<03,09>}A((A)线性结 (B)树型结 (C)物理结 (D)图型结下面程序的时间复杂为(for(i=1,s=0;i<=n;i++){t=1;for(j=1;j<=i;j++)(A) (B) (C) (D)pAA,则需要修改指针的操作序列为(n()2(A) (B) (C)nlog (D)2录的一趟快速排序结束后的结果为()。n(2(A) (B)O(log (D)2Gne条边,则其对应的邻接表中的表头结点和表结点的个数分别为((A) (B) (C) (D)n个顶点,则该强连通图中至少有()(A)n(n- (B) (C) (D)(A)(B)堆排 (C)归并排(D)(A)(B)冒泡排 (C)堆排(D)二、填空殖(120 设一棵完全二叉树中有500个结点,则该二叉树的深度为 等于顶点i的 ,第i列上所有元 和等于顶点i的 100X, 下列算法实现在顺序散列表中查找值为xstructrecord{intkey;intinthashsqsearch(structrecordhashtable[],int{int j=i=k%while(hashtable[j].key!=k&&hashtable[j].flag!=0){j=( )%m;if(i==j)return(-1);}if( )return(j);elsereturn(-1);}typedefstructnode{intkey;structnode*lchild;structnode*rchild;}bitree; *bstsearch(bitree*t,int {if(t==0) whileif(t- ;elseif(t->key>k)t=t->lchild; }三、计算题(每题10分,共30(3615406322选用的散列函数是H(K)=Kmod7,若发生采用线性探查法处理,试: 。四、算法设计题(1530数据结构试卷(四一、选择题(120设一维数组中有n个数组元素,则第i个数组元素的平均时间复杂度为(2(A) (B)O(nlog (C) (D)2k,则该二叉树中最多有()(A)2k- (B) (C)2k- (D)2k-ne((A) (B) (C) (D)在二叉排序树中插入一个结点的时间复杂度为(2(A) (B) (C)O(log (D)2nm()(A) (B)n- (C) (D)m-(A) (B) (C) (D)设用链表作为栈的结构则退栈操作((A)必须判别栈是否为 (B)必须判别栈是否为(C)判别栈元素的类 (D)对栈不作任何判下列四种排序中()(A)快速排 (B)冒泡排 (C)希尔排 (D)0N01Nl2N2,则下列等式成立的是(。(A) (B) (C) (D)nX超过(。(A) (B)log2n- (C) (D)二、填空题(120设有n个无序的记录关键字,则直接插入排序的时间复杂度为 设指针变量p指向双向循环链表中的结点X,则删除结点X llinkrlink。 设哈夫曼树中共有99个结点,则该树中有

设顺序线性表中有n个数据元素,则第i 个元素 设某无向图G中有n个顶点,用邻接矩阵A作为该图的结构,则顶点i和顶点j互 设无向图对应的邻接矩阵为A,则A中第i上非0元素的个 第i列上非 hashtalbek的结点,成功时返回指向关键0。typedefstructnode{intkey;structnode*next;}lklist;voidcreakhash(lklist*hashtable[]){int lklist {k=a[i]%p;s- }}三、计算题(每题10分,共301、画出广义表LS=((),(e),(a,(b,c,d)))的头尾链表结构ABCABC 3、设散列表的地址范围是[0..9H(key)=(key2+2)MOD9,并采用链表处理,请画出元素、、、、、、、依次插入散列表的结构。四、算法设计题(每题10分,共30在链 数据结构试卷(五一、选择题(20分)1.数据的最小单位是((A)数据 (B)数据类 (C)数据元 (D)数据变设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为( (B)(C) (D),其中含有个长度为2的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结 substr(“DATASTRUCTURE”,5,9)的返回值为( (B)(C) (D)n,则该操作的时间复杂度为(2(A)O(log (B) (C) (D)2m0N01NlmNmN0=(。 (B)l+N2+2N3+3N4+……+(m-(C)N2+2N3+3N4+……+(m- (D)1000X()(A) (B) (C) (D)a((A) (B) (C) (D)i((A)n- (B)n-1- (C)n+1- (D)基准而得到一趟快速排序的结果是((A) (B)(C) (D)二、填空题20设有一个顺序共享栈S[0:n-1],其中第一个栈项指针top1的初值为-1,第二个栈顶指针top2的初值为n,则判断共享栈满的条件是 设有一个n阶的下三角矩阵A,如果按照行的顺序将下三角矩阵中的元素(包括对角线上元素)存放在n(n+1)个连续的单元中,则A[i][j]与A[0][0]之间有 设一棵完全二叉树的顺序结构中数据元素为ABCDEF,则该二叉树的前序遍历 设一棵完全二叉树有128个结点,则该完全二叉树的深度为 设有向图G的结构用邻接矩阵A来表示,则A中第i行中所有非零元素个数之和等于顶点i的 ,第i列中所有非零元素个数之和等于顶点i的 void {for(i=1;i<=n-1;{for(exchange=0,j=0; if(r[j]>r[j+1]){temp=r[j+1]; if(exchange==0)return;}}structrecord{intkey;intothers;};intbisearch(structrecordr[],intk){intlow=0,mid,high=n-1;{ if(r[mid].key==k)return(mid+1);else )high=mid-1;else}}三、应用题(32DBEACABDEC,设无向图G(如右图所示 四、算法设计题(28数据结构试卷(六一、选择题(30之和为((A) (B) (C) (D)执行一趟快速排序能够得到的序列是([41,12,34,45,27]55[45,34,12,41]55[63,12,34,45,27]55[12,27,45,41]55head且该链表没有头结点,则其判空条件是( (B)head-(C)head->next==head (D)head!=04.O(nlog2n)的是((A)堆排 (B)冒泡排 (C)希尔排 (D)快速排设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是( (B)高度等于其结点(C)任一结点无左孩 (D)任一结点无右孩一趟排序结束后不一定能够选出一个元素放在其最终位置上的是((A)堆排 (B)冒泡排 (C)快速排 (D)希尔排40((A) (B) (C) (D)顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为(2(A) (B) (C) (D)O(1og2二路归并排序的时间复杂度为((A) (B) (C)O(nlog (D)O(1og 深度为k()(A)2k-1- (B)2k- (C)2k- (D)2k-sX,则入队列的操作序列为(front- (B)s-(C)rear- (D)s-ne((A) (B) (C) (D)199()(A) (B) (C) (D)n(22(A) (B) (C)O(nlog (D)O(1og22设用邻接矩阵A表示有向图G的结构,则有向图G中顶点i的入度为( (B)第i列非0元素的个数之(C)第i行0元素的个数之和 (D)第i列0元素的个数之和二、判断题(20分)调用一次深度优先遍历可以到图中的所有顶点(((满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树(((设一棵树TBTBT(线性表的顺序结构比链式结构更好((快速排序是排序算法中平均性能最好的一种排序(三、填空题(30 设指针变量p指向单链表中结点A,指针变量s指向入的新结点X,则进行插入操 (设结点的指针域为nextGG(DRD={1345R={r}r={<1,2>, 设无向图G中有n个顶点,则该无向图中每个顶点的度数最多 050,130, FR 设二叉树中结点的两个指针域分别为lchild和rchild,则判断指针变量p所指向的结 四、算法设计题(203.在链式结构上设计直接插入排序算法数据结构试卷(七一、选择题(30n()(A) (B) (C) (D)n(n-设无向图Gn()(A) (B)n- (C) (D)2n-而得到的一趟快速排序结果是((A) (B)(C) (D)4((A)先序遍 (B)中序遍 (C)后序遍 (D)层次遍点的左孩子结点的编号为((A) (B) (C) (D)2i-s=i=0;doi=i+1s=s+i;}while(i<=n);的时间复杂度为(2(A) (B)O(nlog (C) (D)2head,则其判空条件是( (B)head-(C)head- (D)10,则该二叉树上叶子结点最多有((A) (B) (C) (D)90(。(A) (B) (C) (D)top( (B)top=top-(C)top- (D)top=top-二、判断题(20不论是入队列操作还是入栈操作,在顺序结构上都需要考虑“溢出”情况(( (1(对连通图进行深度优先遍历可以到该图中的所有顶点((((()三、填空题(30设指针变量p指向双向链表中的结点A,指针变量s指向入的结点X,则在结点A的后面插入结点X=p;s->right=p->right;=s;->left=s(right设完全有向图中有n个顶点,则该完全有向图中共有 中有n个顶点,则该完全无向图中共有 3的结点数 个 设一棵二叉树的前序序列为ABC,则有 structrecord{intkey;datatypevoidquickpass(structrecordr[],ints,intt,int{intj=t;structrecordx=r[s];i=s;{while(i<j&&r[j].key>x.key)j=j- if(i<j)while ) if(i<j){r[j]=r[i];j=j-} }四、算法设计题(20数据结构试卷(八一、选择题(30 (B)串中不同字母的个(C)串中所含字符的个 (D)串中不同数字的个n(2(A) (B) (C) (D)O(log2两个字符串相等的充要条件是( (B)两个字符串中对应位置上的字符相(C)同时具备(A)和(B)两个条 (D)以上答案都不100,H(k)=kP,则P((A) (B) (C) (D)在二叉排序树中插入一个关键字值的平均时间复杂度为(22(A) (B)O(1og (C)O(nlog (D)22A[1:1414A[4]的过程中比较元素的顺序为()。 (B)(C) (D)A[7],A[5]65((A) (B) (C) (D)则该三叉链权中有()0(A) (B) (C) (D)(A)(B)(C)(D)(A)(B)(C)(D)(A)先进先出 (B)先进后出 (C)只能插入 (D)只能删除二、判断题(20分)如果两个关键字的值不等但哈希函数值相等,则称这两个关键字为同义词(O(nlog2n)(()二维数组和数组均不是特殊的线性结构((如果某个有向图的邻接表中第ii((O(n)(() 可以用一个三元组表来表示稀疏矩阵中的非0元素(三、填空题(30 typedefstructnode{intdata;structnode*lchild;structnode bstinsert(bitree*&t,intk){if(t==0){ elseif(t->data>k)bstinsert(t->lchild,k);else } 面插入结点X需要执行的语句序列:s->next=p->next; ;设指针变量head指向双向链表中的头结点指针变量p指向双向链表中的第一个结点,则指针变量p和指针变量head之间的关系是p=和head= 中的两个指针域分别为llink和rlink设某棵二叉树的中序遍历序列为ABCD,后序遍历序列为BADC 堆只需把16与 四、算法设计题(20数据结构试卷(九一、选择题(30下列程序段的时间复杂度为(for(i=0;i<m;i++)for(j=0;j<t;j++)(A) (B) (C) (D)ni()(A)n- (B)n+l- (C)n-1- (D)数分别为N1、N2和N3,则二叉树B的根结点的左子树的结点数为( (A)N1- (B)N2- (C) (D)利用直接插入排序法的思想建立一个有序线性表的时间复杂度为(22(A) (B)O(nlog (C) (D)O(1og22设指针变量p指向双向链表中结点A,指针变量s指向入的结点X,则在结点A的后面插入结点X(p->right=s;s->left=p;p->right->left=s;s->right=p-p->right=s;p->right->left=s;s->left=p;s->right=p- (A)快速排 (B)堆排 (C)归并排 (D)冒泡排i((A)n- (B)n-1- (C)n+l- (D)设散列表中有m个单元,散列函数H(key)=key%p,则p最好选择( (B)小于等于m的最大素(C)小于等于m的最大偶 (D)小于等于m的最大合120()(A) (B) (C) (D)n()(A)n(n- (B)n(n- (C) (D)(n-n,则顺序查找的平均比较次数为((A) (B) (C) (D)(n-的元素需要经过()(A) (B) (C) (D)找长度为((A) (B) (C) (D)G((A) (B)2,3,4,1(C)1,4,2,3(D)生成的二叉排序树的深度为((A) (B) (C) (D)二、填空题(30X1)s- ;2)p->next=s;3)t=p-4)p- ;5)s- 设某顺序循环队列中有m个元素,且规定队头指针F指向队头元素的前一个位置,队尾指针R指向队尾元素的当前位置,则该循环队列中最多 排序 三、判断题(20有向图的邻接表和逆邻接表中表结点的个数不一定相等。()对链表进行插入和删除操作时不必移动链表中结点。()子串“ABC”在主串“AABCABCD2。(遍历序列中的最后一个结点。()O(n2)。(数有关。()中序遍历一棵二叉排序树可以得到一个有序的序列。()入栈操作和入队列操作在链式结构上实现时不需要考虑栈溢出的情况。(顺序表查找指的是在顺序结构上进行查找((五、算法设计题(20数据结构试卷(十一、选择题(24下列程序段的时间复杂度为(i=0,s=0;while(s<n)(A)O(n1/2)(B)O(n1/3)(C)O(n)(D)设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列()方式 (B)单向循环链(C)双向链 (D)双向循环链设指针q指向单链表中Ap单链表中结点A后继结点B,指针s指向被XABX(s->next=p->next;p->next=-s;(B)q->next=s;s-(C)p->next=s->next;s->next=p;(D)p->next=s;s-1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为((A) (B)(C) (D)设有一个10阶的下三角矩阵A(包括对角线按照从上到下、从左到右的顺序到连续的55个单元中每个数组元素占1个字节的空间则A[5][4]地址与A[0][0]的地址之差为((A) (B)19(C)28(D)设一棵m叉树N1个度1N2个度数为2Nm个度数为m结点,则该树中共有()个叶子结点。mm(i

mmNi

mm(C)Ni

mm1(i二叉排序树中左子树上所有结点的值均()(A) (B) (C) (D)夫曼树,则这棵哈夫曼树的带权路径长度为((A) (B) (C) (D)表中需要做()(A) (B) (C) (D)n(n-020n,则这棵二叉中共有()个结点。(A) (B) (C)2n- (D)8,则最多经过()(A) (B) (C) (D) 二、填空题(48分,其中最后两小题各6设需要对5个不同的记录关键字进行排序,则至少需要比较 次设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有 设一棵m叉树脂的结点数为n,用多重链表表示其结构,则该树中有 设指针变量pA,则删除结点A 设散列表的长度为8,散列函数H(k)=k%7,用线性探测法解决,则根据一组初始 typedefstructnode{intdata;structnode voidcreatebitree(bitree*&bt){if(ch=='#') }typedefstructnode{intdata;structnode*next;}lklist;voidlklistcreate( *&head){for{p=(lklist*)malloc(sizeof(lklist));scanf(“%d”,&(p->data));p->next=0;if(i==1)head=q=p;else{q->next=p; }}三、算法设计题(22设计在二叉排序树上查找结点X数据结构试卷(一)参考答一、选择题(220分1.A 二、填空题(126分正确 强壮 高效 - 34X*+2Y*3/ n- n(n- n(n- ( 12.三、计算题(624分78,5040,6034,90) 1 1 邻接矩阵:

1111 4422424442242452458245 23235 四、读算法(714分五、法填空(28分 六、编写算法(8分intCountX(LNode*HL,ElemType inti=0;LNode*p=HL;//i{if(P->data==x)i++;}//while,ixreturn数据结构试卷(二)参考答 22N0-略(K1,K2,…,nKi。voidquickpass(intr[],ints,int{inti=s,j=t,x=r[s];while(i<j&&r[j]>x)j=j-1;if(i<j)while(i<j&&r[i]<x)i=i+1;if(i<j){r[j]=r[i];j=j-}}AB,C=A∩BA、BCtypedefstructnode{intdata;structnode*next;}lklist;voidintersection(lklist*ha,lklist*hb,lklist*&hc){lklist*p,*q,*t; }}数据结构试卷(三)参考答第3小题分析:首先用指针变量q指向结点A的后继结点B,然后将结点B的值到AB。第9小题分析:9快速排序、归并排序和插入排序必须等到整个排序结束后才能够求出最小的10个数,而堆排序只需要在初始堆的基础上再进行10次筛选即可,每次筛选的时间O(log2n)。5071+log2n。AAEBFGCDHFKJ2、H(36)=36mod H1(22)=(1+1)mod7=2;H(15)=15mod7=1;….H2(22)=(2+1)mod7=3;H1(15)=(1+1)mod7=2;H(40)=40modH(63)=63mod7=0;H(22)=22mod7=1;…. (2)ASL=1211353、1,3,typedefinttypedefstructnode{datatypedata;structnode*next;}lklist;voiddelredundant(lklist*&head){lklist*p,*q,*s;{if(q->data==p->data){s->next=q->next;free(q);q=s->next;}else{s=q,q=q->next;}}}typedefstructnode{datatypedata;structnode*lchild,*rchild;}bitree;bitree*q[20];intr=0,f=0,flag=0;voidpreorder(bitree*bt,char{if(bt!=0&&if(bt->data==x){flag=1;else{r=(r+1)%20;q[r]=bt;preorder(bt->lchild,x);preorder(bt->rchild,x);}voidparent(bitree*bt,char{inti;for(i=f+1;i<=r;i++)if(q[i]->lchild->data==x||q[i]->rchild->data)break;if(flag==0)printf("notfoundx\n");elseif(i<=r)printf("%c",bt->data);elseprintf("not}数据结构试卷(四)参考答 2231^-1^-

-- ^^1b0---1^1----b0---1^1----a01^1e01---1----0c1^dd0(1) BDEFCA;(2) BDEFCAIJKHGAABGCHDIEJ 4^4^3869^^27^^^^5123456789typedefchartypedefstructnode{datatypedata;structnode*next;}lklist;voidsplit(lklist*head,lklist*&ha,lklist*&hb,lklist*&hc){lklist*p;ha=0,hb=0,hc=0;{if(p->data>='A'&&p->data<='Z'){p->next=ha;elseif(p->data>='0'&&p->data<='9'){p->next=hb;hb=p;}else{p->next=hc;}}typedefstructnode{intdata;structnode*lchild,*rchild;}bitree;voidswapbitree(bitree*bt){bitree*p;if(bt==0)return;swapbitree(bt->lchild);swapbitree(bt->rchild);p=bt->lchild;bt->lchild=bt->rchild;bt->rchild=p;}#definentypedefstructnode{intkey;structnode*lchild,*rchild;}bitree;voidbstinsert(bitree*&bt,intkey){if(bt==0){bt=(bitree*)malloc(sizeof(bitree));bt->key=key;bt->lchild=bt->rchild=0;}elseif(bt->key>key)bstinsert(bt->lchild,key);elsebstinsert(bt->rchild,key);}voidcreatebsttree(bitree{int}数据结构试卷(五)参考答ki<=k2i&&n-typedefstructnode{datatypedata;structnode*lchild,*rchild;}bitree;intjudgebitree(bitree*bt1,bitree*bt2){if(bt1==0&&bt2==0)elseif(bt1==0||bt2==0||bt1->data!=bt2->data)}voidmergelklist(lklist*ha,lklist*hb,lklist{lklist*s=hc=0;while(ha!=0&&hb!=0)if(ha->data<hb->data){if(s==0)hc=s=ha;else{s->next=ha;s=ha;};ha=ha->next;}else{if(s==0)hc=s=hb;else{s->next=hb;s=hb;};hb=hb->next;}if(ha==0)s->next=hb;elses-}数据结构试卷(六)参考答 1.2.3.4.5.6.7.8.9.10.n-O(nlog2n),structrecord{intkey;intothers;};intbisearch(structrecordr[],intk){intlow=0,mid,high=n-1;{if(r[mid].key==k)return(mid+1);elseif(r[mid].key>k)high=mid-1;else}}intminnum=-typedefstructnode{intkey;structnode*lchild,*rchild;}bitree;voidinorder(bitree*bt){ }{lklist intif(head==0||head->next==0){for(s=head;s!=q->next;s=s->next)if(s->data>p->data)break; }}数据结构试卷(七)参考答1.2.3.4.5.6.7.8.9.10.2h-1,2h-5i<j&&{lklist*p,*q,*s; intmin,t;if(head==0||head->next==0)return;for(q=head;q!=0;q=q->next){min=q->data;for(p=q->next;p!=0;p=p->next)if(min>p->data){min=p->data;s=p;}if(s!=q){t=s->data;s->data=q->data;q->data=t;}}}voidsubstring(chars[],longstart,longcount,chart[{longif(start<1||start>length)printf("Thecopypositioniswrong");elseif(start+count-1>length)printf("Toocharacterstobecopied");else{for(i=start-1,j=0;i<start+count-1;i++,j++)t[j]=s[i];t[j]=}inttypedefstructnode{intkey;structnode*lchild,*rchild;}bitree;voidlevel(bitree*bt,intx){if }数据结构试卷(八)参考答12345678910p-0n-voidcountnode(bitree*bt,int{}typedefstruct{intvertex[m];inttypedefstructnode1{intinfo;intadjvertex;structnode1*nextarc;}glinklistnode;typedefstructnode2{intvertexinfo;glinklistnode*firstarc;}glinkheadnode;voidadjmatrixtoadjlist(gadjmatrixg1[],glinkheadnodeg2[{inti,j;glinklistnode*p;for(i=0;i<=n-1;i++)g2[i].firstarc=0;for(i=0;i<=n-1;i++)for(j=0;j<=n-1;j++)if(g1.edge[i][j]==1){p=(glinklistnode*)malloc(sizeof(glinklistnode));p->adjvertex=j;p->nextarc=g[i].firstarc;g[i].firstarc=p;p=(glinklistnode*)malloc(sizeof(glinklistnode));p->adjvertex=i;p->nextarc=g[j].firstarc;g[j].firstarc=p;}}数据结构试卷(九)参考答 6812. 3.4567. 8.910voidsum(bitree*bt,int{}voidquickpass(intr[],ints,int{inti=s,j=t,x=r[s];{while(i<j&&r[j]%2==0)j=j- if(i<j)while(i<j&&r[i]%2==1) if(i<j){r[j]=r[i];j=j-}}intisriselk(lklist{for(q=head,p=head->next;p!=0;q=p,p=p->next)if(q->data>p->data)return(0);}数据结构试卷(十)参考答 nn(m-q-O(n2),voidmergelklist(lklist*ha,lklist*hb,lklist{lklist*s=hc=0;while(ha!=0&&hb!=0)if(ha->data<hb->data){if(s==0)hc=s=ha;else{s->next=ha;s=ha;};ha=ha->next;}else{if(s==0)hc=s=hb;else{s->next=hb;s=hb;};hb=hb->next;}if(ha==0)s->next=hb;elses-}设计在二叉排序树上查找结点Xbitree*bstsearch1(bitree*t,int{bitreewhile(p!=0)if(p->key==key)return(p);elseif(p->key>key)p=p->lchild;elsep=p->rchild;}voidadjustheap(intr[],int{while(i>=1)if(temp>=r[i-1])break;else{r[j-1]=r[i-1];j=i;i=i/2;}}

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论