收藏 分销(赏)

算法与数据结构期末考试试卷[.doc

上传人:精**** 文档编号:3888248 上传时间:2024-07-23 格式:DOC 页数:57 大小:316.54KB
下载 相关 举报
算法与数据结构期末考试试卷[.doc_第1页
第1页 / 共57页
算法与数据结构期末考试试卷[.doc_第2页
第2页 / 共57页
算法与数据结构期末考试试卷[.doc_第3页
第3页 / 共57页
算法与数据结构期末考试试卷[.doc_第4页
第4页 / 共57页
算法与数据结构期末考试试卷[.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、课程测试试题(A卷)一、 一、 单选题(每题 2 分,共20分)1. 1. 对一个算法的评价,不包括如下( )方面的内容。 A健壮性和可读性 B并行性 C正确性 D时空复杂度2. 2. 在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。 A. p-next=HLnext; HLnext=p; B。 p-next=HL; HL=p; C。 pnext=HL; p=HL; D. HL=p; p-next=HL;3. 3. 对线性表,在下列哪种情况下应当采用链表表示?( ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C。表中元素需要占据一片连续的存储空间

2、 D.表中元素的个数不变4. 4. 一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( ) A. 2 3 1B。 3 2 1 C。 3 1 2 D. 1 2 35. 5。 AOV网是一种( ). A有向图 B无向图 C无向无环图 D有向无环图6. 6。 采用开放定址法处理散列表的冲突时,其平均查找长度( ).A低于链接法处理冲突 B。 高于链接法处理冲突 C与链接法处理冲突相同 D高于二分查找7. 7。 若需要利用形参直接访问实参时,应将形参变量说明为( )参数。A值 B函数 C指针 D引用8. 8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( )

3、.A行号 B列号 C元素值 D非零元素个数9. 9。 快速排序在最坏情况下的时间复杂度为( )。AO(log2n) BO(nlog2n) C0(n) D0(n2)10. 10。 从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。 A. O(n) B. O(1) C。 O(log2n) D. O(n2)二、 二、 运算题(每题 6 分,共24分)1. 1。 数据结构是指数据及其相互之间的_。当结点之间存在M对N(M:N)的联系时,称这种结构为_。2. 2. 队列的插入操作是在队列的_进行,删除操作是在队列的_进行。3. 3. 当用长度为N的数组顺序存储一个栈时,假定用top=N表示栈空,则

4、表示栈满的条件是_。4. 4。 对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_,在表尾插入元素的时间复杂度为_。5. 5. 设W为一个二维数组,其每个数据元素占用4个字节,行下标i从0到7 ,列下标j从0到3 ,则二维数组W的数据元素共占用_个字节.W中第6 行的元素和第4 列的元素共占用_个字节。若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W6,3的起始地址为_。6. 6. 广义表A= (a,(a,b),((a,b),c),则它的深度为_,它的长度为_。7. 7。 二叉树是指度为2的_树.一棵结点数为N的二叉树,其所有结点的度的总和是_。8. 8. 对一棵

5、二叉搜索树进行中序遍历时,得到的结点序列是一个_。对一棵由算术表达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的_.9. 9. 对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为_个,其中_个用于指向孩子,_个指针是空闲的.10. 10. 若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序存储到一维数组A中,即编号为0的结点存储到A0中.其余类推,则A i 元素的左孩子元素为_,右孩子元素为_,双亲元素为_。11. 11。 在线性表的散列存储中,处理冲突的常用方法有_和_两种。12. 12. 当待排序的记录数较大,排序码较随机且对稳定性不作要求时,宜采用_排序

6、;当待排序的记录数较大,存储空间允许且要求排序是稳定时,宜采用_排序。三、 三、 运算题(每题6分,共24分)1. 1. 已知一个65稀疏矩阵如下所示,试:(1) (1) 写出它的三元组线性表;(2) (2) 给出三元组线性表的顺序存储表示.2. 2。 设有一个输入数据的序列是 46, 25, 78, 62, 12, 80 , 试画出从空树起,逐个输入各个数据而生成的二叉搜索树。3. 3。 对于图6所示的有向图若存储它采用邻接表,并且每个顶点邻接表中的边结点都是按照终点序号从小到大的次序链接的,试写出:(1) 从顶点出发进行深度优先搜索所得到的深度优先生成树;(2) 从顶点出发进行广度优先搜索

7、所得到的广度优先生成树; 4. 4. 已知一个图的顶点集V和边集E分别为: 图6 V=1,2,3,4,5,6,7;E=2,1,3,2,4,3,4,5,4,6,5,1,,6,1,6,2,x) return 1; else return 0; (1) (1) 指出该算法的功能;(2) (2) 该算法的时间复杂度是多少?2. 2. 写出下述算法的功能: void AJ(adjlist GL, int i, int n) Queue Q; InitQueue(Q); coutiadjvex; if(!visitedj) coutjnext; 五、 五、 算法填空(共8分)如下为二分查找的非递归算法,试

8、将其填写完整.Int Binsch(ElemType A ,int n,KeyType K)int low=0;int high=n-1;while (low=high)int mid=_;if (K=Amid。key) return mid; /查找成功,返回元素的下标 else if (Kmid.key) _; /在左子表上继续查找 else _; /在右子表上继续查找return -1; /查找失败,返回1六、 六、 编写算法(共8分)HL是单链表的头指针,试写出删除头结点的算法。ElemType DeleFront(LNode & HL)课程测试试题(A卷)参考答案一、 一、 单选题(

9、每题2分,共20分)1。B 2.A 3。B 4。C 5.D 6。B 7。D 8.A 9。D 10.C二、 二、 填空题(每空1分,共26分)1. 1。 联系 图(或图结构)2. 2。 尾 首3. 3. top=04. 4。 O(1) O(n)5. 5。 128 44 1086. 6. 3 3 7. 7. 65515132-145-2515637 图7有序 n18. 8. 有序序列 后缀表达式(或逆波兰式)9. 9。 2n n1 n+110. 10. 2i+1 2i+2 (i-1)/211. 11. 开放定址法 链接法12. 12。 快速 归并三、 三、 运算题(每题6分,共24分)1. 1.

10、(1) ((1,5,1),(3,2,-1),(4,5,2),(5,1,5),(6,3,7) (3分)(2) 三元组线性表的顺序存储表示如图7示。2. 2. 图8如图8所示.3. 3. DFS: BFS: 4. 4。 拓朴排序为: 4 3 6 5 7 2 1 四、 四、 阅读算法(每题7分,共14分)1. 1。 (1) 判断n是否是素数(或质数) (2)O()2. 2. 功能为:从初始点vi出发广度优先搜索由邻接表GL所表示的图。五、 五、 算法填空(8 分) (low+high)/2 high=mid1 low=mid+1 六、 六、 编写算法(8分)ElemType DeleFront(LN

11、ode & HL)if (HL=NULL) cerrnext) q=L;L=Lnext;p=L; S1: while(pnext) p=pnext; S2: pnext=q;qnext=NULL; return L; 请回答下列问题: (1)说明语句S1的功能; (2)说明语句组S2的功能; (3)设链表表示的线性表为(a1,a2, ,an),写出算法执行后的返回值所表示的线性表。2. 2。 void ABC(BTNode * BT) if BT ABC (BTleft); ABC (BTright); coutdatadata) item=BST-data;/查找成功 return _; e

12、lse if(itemleft BSTright 六、 六、 编写算法(8分)int CountX(LNode HL,ElemType x) int i=0; LNode* p=HL;/i为计数器 while(p!=NULL) if (P-data=x) i+; p=p-next; /while, 出循环时i中的值即为x结点个数 return i; /CountX吉首大学试题库课程测试试题(C卷)一、 一、 单选题(每小题2分,共8分)1、 1、在一个长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时的平均查找长度(即x与元素的平均比较次数,假定查找每个元素的概率都相等)为 ( ).A

13、n B n/2 C (n+1)/2 D (n1)/22、 2、在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p之间插入一个s所指的结点,则执行( ). A slink=plink; plink=s; B plink=s; slink=q; C plink=slink; slink=p; D q link=s; slink =p;3、 3、 栈的插入和删除操作在( )进行.A 栈顶 B 栈底 C 任意位置 D 指定位置4、 4、 由权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( ) A 24 B 71 C 48 D 53二、 二、 填空题(每空1分,

14、共32分)1、 1、数据的逻辑结构被分为_、 _ 、_和_四种。2、 2、一种抽象数据类型包括_和_两个部分。3、 3、在下面的数组a中链接存储着一个线性表,表头指针为ao.next,则该线性表为_。 a 0 1 2 3 4 5 6 7 8 60 56 42 38 74 25 4 3 7 6 2 0 1datanext4、 4、在以HL为表头指针的带表头附加结点的单链表和循环单链表中,判断链表为空的条件分别为_和_。5、 5、用具有n个元素的一维数组存储一个循环队列,则其队首指针总是指向队首元素的_,该循环队列的最大长度为_。6、 6、当堆栈采用顺序存储结构时,栈顶元素的值可用-表示;当堆栈采

15、用链接存储结构时,栈顶元素的值可用_表示。7、 7、一棵高度为5的二叉树中最少含有_个结点,最多含有_个结点;一棵高度为5的理想平衡树中,最少含有_个结点,最多含有_个结点.8、 8、在图的邻接表中,每个结点被称为_,通常它包含三个域:一是_;二是_;三是_。9、 9、在一个索引文件的索引表中,每个索引项包含对应记录的_和_两项数据。10、 10、 假定一棵树的广义表表示为A(B(C,D(E,F,G),H(I,J)),则树中所含的结点数为_个,树的深度为_,树的度为_, 结点H的双亲结点为_,孩子结点为_ 。11、 11、 在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为_,整个堆排序

16、过程的时间复杂度为_。12、 12、 在对m阶的B_树插入元素的过程中,每向一个结点插入一个索引项(叶子结点中的索引项为关键字和空指针)后,若该结点的索引项数等于_个,则必须把它分裂为_个结点。三、 三、 运算题(每小题6分,共24分)1、 1、已知一组记录的排序码为(46,79,56,38,40,80, 95,24),写出对其进行快速排序的每一次划分结果.2、 2、一个线性表为B=(12,23,45,57,20,03,78,31,15,36),设散列表为HT0.。12,散列函数为H(key)= key % 13并用线性探查法解决冲突,请画出散列表,并计算等概率情况下查找成功的平均查找长度。3

17、、 3、已知一棵二叉树的前序遍历的结果序列是ABECKFGHIJ,中序遍历的结果是EBCDAFHIGJ,试写出这棵二叉树的后序遍历结果。4、 4、已知一个图的顶点集V各边集G如下:V = 0,1,2,3,4,5,6,7,8,9;E = (0,1),(0,4),(1,2),(1,7),(2,8),(3,4),(3 ,8),(5,6),(5,8),(5,9),(6,7),(7,8),(8,9)当它用邻接矩阵表示和邻接表表示时,分别写出从顶点V0出发按深度优先搜索遍历得到的顶点序列和按广度优先搜索遍历等到的顶点序列。假定每个顶点邻接表中的结点是按顶点序号从大到小的次序链接的。图深度优先序列广度优先序

18、列邻接矩阵表示时邻接表表示时四、 四、 阅读算法,回答问题(每小题8分,共16分)1、假定从键盘上输入一批整数,依次为:78 63 45 30 91 34 1,请写出输出结果。 include include stdlib.h consst int stackmaxsize = 30;typedef int elemtype;struct stack elemtype stack stackmaxsize; int top;# include “stack.hVoid main ( ) stack a; initstack(a); int x; cin x; while (x! = 1) pu

19、sh (a, x ); cin x;while (!stackempty (a) cout pop (a) void BinTree ::unknown (BinTreeNode*t) BinTreeNode p =t, temp; if (p!=NULL) temp = pleftchild; pleftchild = prightchild; prightchild = temp; unknown(pleftchild); undnown(prightchild); 该算法的功能是:_五、 五、 算法填空,在画有横线的地方填写合适的内容(10分)对顺序存储的有序表进行二分查找的递归算法 。

20、 int Binsch( ElemType A ,int low ,int high,KeyType K ) if (low = high) int mid = 1 if ( K= = A mid .key ) return mid; else if ( K Amid.key) return 2 else return 3else return 4六、 六、 编写算法(10分)编写算法,将一个结点类型为Lnode的单链表按逆序链接,即若原单链表中存储元素的次序为a1,an1,an,则逆序链接后变为, an,an1,a1。Void contrary (Lnode * HL)课程测试试题(C卷)(答案)一、单选题(每小题2分,共8分)题 号 1 2 3 4答 案 C D A B二、填空题(每空1分,共32分)1: 集合、线性、树、图;2: 数据描述、操作声名;3: (38,56,25,60,42,74);4: HLnext =NULL; HL=HLnext;5: 前一个位置; n-1

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服