《2023年数据结构与算法期末试卷B.doc》由会员分享,可在线阅读,更多相关《2023年数据结构与算法期末试卷B.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二学期闽江学院期末试卷考试课程:数据构造与算法试卷类别:A卷 B卷 考试形式:闭卷 开卷合用专业年级:13级金融服务、13级软件服务 装 订 线班级 姓名 学号 题号一二三总分得分一、单项选取题60%(请将答案填入答题卡相应位置,30题,每题2分,共60分)得分1、计算机算法必要具有输入、输出和( )等5个特性。 A可行性、可移植性和可扩充性 B可行性、拟定性和有穷性 C拟定性、有穷性和稳定性 D易读性、稳定性和安全性 2、设语句x+时间是单位时间,则如下语句时间复杂度为()。 for(i=1;ilast是表尾结点指针。若想删除链表首元结点,则应执行下列()操作? As = L-last;
2、L-last= L-last-next; free(s); BL-last= L-last-next; free(L-last); CL-last= L-last-next-next; free(L-last); Ds = L-last-next-next; L-last-next-next = s-next; free(s);7、带头结点单链表L为空鉴定条件是() AL-next = NULL; BL!= NULL; CL-next= L; DL= NULL;8、设结点构造为(prior,data,next),L是不带头结点循环双链表,L是表头结点指针。若想删除循环双链表中p结点后继结点(假
3、设存在),则应执行下列()操作? Ap-next = p-next-next; Bp-next = p-next-next;p-next-prior = p; Cp-next = p-next-next;p-next-next-prior = p;Dp-next-prior = p;p-next = p-next-next;9、若在线性表中经常涉及插入删除操作,则采用如下哪种表进行元素存储比较好()? A有序表 B顺序表 C链表 D栈10、在一种长度为n顺序表中插入第i个元素(1=ivexnum),&(G-arcnum);/输入图顶点数与弧数/构造顶点数组for(i=0;ivexnum;i+)
4、getchar();/吸取输入回车符scanf(%c,_(1)_);/输入图顶点信息_(2)_;/构造边结点for(k=0;karcnum;k+)getchar();/吸取回车符scanf(%c,%c,&v1,&v2);/输入弧两个端点i=LocateVex(G,v1);/起点编号j=LocateVex(G,v2);/终点编号pi=_(3)_;pi-adjvex=_(4)_;pi-nextarc=_(5)_;G-verticesi.firstarc=pi;(1) A&(G-verticesj.data) B. &(G-verticesi.data) C. &(G-verticesj.adjve
5、x) D. &(G-verticesi.adjvex)(2) AG-vexnum+ B. 此处不需要添加代码C. G-datai.firstarc=NULL D. G-verticesi.firstarc=NULL(3) Anew Node B. new VNodeC. new ArcNode D. new ALGraph(4) Ai B. j C. v1 D. v2(5) AG-verticesi.firstarc B. G-verticesj.firstarcC. G-verticesi.nextarc D. G-verticesj.nextarc三、填空题30%(请将答案填入答题卡相应位
6、置,除第3题第一空为4分外,别的都为2分,共30分)得分1、已知记录 (46,74,53,14,26,38,86,65,27,34),请给出归并排序第一趟排序成果(以第一种元素作为基准):_2、从一棵二叉排序树中查找一种元素时,若元素值不不大于根结点值,则继续向_查找。3、假设一棵二叉树后序序列为DCEGBFHKJIA,中序序列为DCBGEAHFIJK,请画出该二叉树_(4分),并写出该二叉树先序遍历序列_。4、已知二叉树二叉链表表达法定义如下:typedef char TElemType;typedef struct BiTnode TElemType data; struct BiTnod
7、e *lchild,*rchild;BiTNode,*BiTree;请将下列二叉树查找算法补充完整:int LocateElem(BiTree T,TElemType e)/e为要查找元素int floor;/用于记录层数if(T)/若树不空 if(_(1)_)/若在根处找到return 1;floor = LocateElem(_(2)_);/在左子树查找if(floor0)/若在左子树中找到return _(3)_;floor = LocateElem(_(4)_);if(floor0)return _(5)_;return 0;/若树为空,则直接返回0,阐明找不到5、已知图邻接表定义如第二题所示,下列程序段为图深度优先搜索算法,请将算法中缺失语句补充完整:void DFS (ALGraph G,int v) /从编号为v顶点出发进行深度优先搜索遍历 /假设所有变量、函数皆已定义 visitedv=true;/访问标志数组,true表达访问过,false表达未被访问过 VisitFunc(v);/访问v标点for(p=_(1)_;p;_(2)_)/for(用p指向第一种邻接顶点;若该邻接顶点存在;p指向下一种邻接顶点) w=p-_(3)_;/用w记录邻接顶点编号if(_(4)_)/若该邻接顶点未被访问过 _(5)_;/从邻接顶点开始递归深度优先搜索遍历