2022年桂林航天工业学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案).docx
《2022年桂林航天工业学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案).docx》由会员分享,可在线阅读,更多相关《2022年桂林航天工业学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案).docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年桂林航天工业学院计算机科学与技术专业数据结构与算法科目期末试卷A(有答案)一、选择题1、用有向无环图描述表达式(A+B)*(A+B)/A),至少需要顶点的数目为()。A.5B.6 C.8D.92、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。A.N B.2N-1 C.2N D.N-13、单链表中,增加一个头结点是为了()。A.使单链表至少有一个结点B.标识表结点中首结点的位置C.方便运算的实现D.说明单链表是线性表的链式存储4、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。A.h-next=sB.s-next=hC.s-next=h;h
2、-next=sD.s-next=h-next;h-next=s5、下面关于串的叙述中,不正确的是()。A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储6、若一棵二叉树的前序遍历序列为a, e, b, d, c,后序遍历序列为b, c, d, e, a, 则根结点的孩子结点()。A.只有e B.有e、b C.有e、c D.无法确定30637095(2) 若查找元素54,需依次和元素30、63、42、54比较,查找成功。(3) 若查找元素90,需依次和元素30、63、87、95比较,查找失败。(4)ASLqc = (1*1 +
3、 2*2 + 4*3 + 5*4)/12 = 37/1230、答:赋值语句一共被执行了 m*n次,所以该程序段的时间复杂度是O (m*n)。31、答:(1)算法的基本思路是利用递归的思想来求解二叉树的带权路径长度,如果当 前节点不是叶子节点,那么当前节点为根的树的带权路径长度便等于它的子树的带权路 径长度之和,对于此函数要传入一个当前节点的树高的形参,那么递归调用孩子节点时 只需要将这个形参加一即可。(2)typedef struct BiNode血weighj权值struct BiNode左孩子指针struct BiNode *right: 右孩子指针BiNode5 *BiTree:(3)具
4、体算法实现如下:mt CalcTL(BiTree BT, mt height)(if(BT = NULL)/如果当前节点为空节点return 0;如果当前节点的左右孩子节点都为空,即当前节点为叶子节点,直接返回当前节点的WPL !BT-right)return BT. weight * height;如果当前节点不是叶子节点,则对当前节点的左右子树进行递归,返回左右子树WPL之和elsereturn CalcTL(BT-left: height-1) - CalcVTL(BT-right5 height*1):五、算法设计题32、答:算法如下:void EnQueue (LinkedList
5、rear, ElemType x)/ “ar是带头结点的循环链队列的尾指针,本算法将元素x插入到队尾 s= (LinkedList) malloc (sizeof (Lnode) ); /申请结点空间 s-data=x; s-next=rear-next;/将 s结点链入队尽rear-next=s; rear=s;rear 指向新队尾void DeQueue (LinkedList rear) / rear是带头结点的循环链队列的尾指针/本算法执行出队操作,成功输出队头元素;否则给出出错信息/s指向队头元素 队头元素出队/空队列void DeQueue (LinkedList rear) /
6、rear是带头结点的循环链队列的尾指针/本算法执行出队操作,成功输出队头元素;否则给出出错信息/s指向队头元素 队头元素出队/空队列/s指向队头元素 队头元素出队/空队列/s指向队头元素 队头元素出队/空队列 if(rear-next=rear) printf(队空n); exit(0);) s=rear-next-next;rear-next-next=s-next;printf (出队元素是“,s-data); if(s=rear) rear=rear-next; free(s);33、答:算法如下:BiTree Search(BiTree btfElemType x) 在二叉树t中查找结
7、点值等于x的结点 if(bt)Search(bt-lchildrx);Search(bt-rchildz x);if(bt-data=x) return bt;/if 结束void Count (BiTree t.int *nOr) 统计以t为根结点的干树的叶结点数nOCount(bt-IchiIdr &n);Count(bt-rchildr &n);if ( ! t-lchild & J t-rchild) /叶结点 printf (t-data); !()+; 输出并计数) 结束 Count34、答:算法如下:LinkedList Delete(LinkedList L)L於带头结点的单链
8、表,本算法刷除其最小值结点p=L-next;/p为工作指针。指向待处理的结点。假定链表非空pre=L;/ /pre指向最小值结点的前驱q=P;q指向最小值结点,初始假定第一元素结点是最小值结点while(p-next)if (p-next-datadata) pre=p;q=p-next;查最小值结点pp-next; 指针后移): .pre-next=q-next; 从链表上删除及小值结点 free(q) ;return L; 释放最小值结点空间结束算法Delete35、答:算法如下:void Snake_Number(int A(nnr int n)将自然数l”n,按“蛇形”填入n阶方阵A中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构与算法 2022 桂林 航天 工业学院 计算机科学 技术 专业 数据结构 算法 科目 期末试卷 答案
链接地址:https://www.taowenge.com/p-86344717.html
限制150内