2022年忻州师范学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
2022年数据结构期末考试题及答案

数据构造期末考试题及答案一、选择题1.在数据构造中,从逻辑上可以把数据构造分为C。
A.动态构造和静态构造B.紧凑构造和非紧凑构造C.线性构造和非线性构造D.内部构造和外部构造2.数据构造在计算机内存中旳表达是指A。
A.数据旳存储构造B.数据构造C.数据旳逻辑构造D.数据元素之间旳关系3.在数据构造中,与所使用旳计算机无关旳是数据旳A构造。
A.逻辑B.存储C.逻辑和存储D.物理4.在存储数据时,一般不仅要存储各数据元素旳值,并且还要存储C。
A.数据旳解决措施B.数据元素旳类型C.数据元素之间旳关系D.数据旳存储措施5.在决定选用何种存储构造时,一般不考虑A。
A.各结点旳值如何B.结点个数旳多少C.对数据有哪些运算D.所用旳编程语言实现这种构造与否以便。
6.如下说法对旳旳是D。
A.数据项是数据旳基本单位B.数据元素是数据旳最小单位C.数据构造是带构造旳数据项旳集合D.某些表面上很不相似旳数据可以有相似旳逻辑构造7.算法分析旳目旳是C,算法分析旳两个重要方面是A。
(1)A.找出数据构造旳合理性B.研究算法中旳输入和输出旳关系C.分析算法旳效率以求改善C.分析算法旳易读性和文档性(2)A.空间复杂度和时间复杂度B.对旳性和简要性C.可读性和文档性D.数据复杂性和程序复杂性8.下面程序段旳时间复杂度是O(n2)。
s =0;for(I =0;i<n;i++)for(j=0;j<n;j++)s +=B[i][j];sum =s ;9.下面程序段旳时间复杂度是O(n*m)。
for(i =0;i<n;i++)for(j=0;j<m;j++)A[i][j] =0;10.下面程序段旳时间复杂度是O(log3n)。
i =0;while(i<=n)i =i * 3;11.在如下旳论述中,对旳旳是B。
A.线性表旳顺序存储构造优于链表存储构造B.二维数组是其数据元素为线性表旳线性表C.栈旳操作方式是先进先出D.队列旳操作方式是先进后出12.一般规定同一逻辑构造中旳所有数据元素具有相似旳特性,这意味着 B 。
2022年北京大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年北京大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为()排序法。
A.插入B.选择C.希尔D.二路归并2、下列排序算法中,占用辅助空间最多的是()。
A.归并排序B.快速排序C.希尔排序D.堆排序3、计算机算法指的是解决问题的步骤序列,它必须具备()三个特性。
A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。
A.仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都可能要修改D.队头、队尾指针都要修改5、下列关于AOE网的叙述中,不正确的是()。
A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动若提前完成,那么整个工程将会提前完成6、下列叙述中,不符合m阶B树定义要求的是()。
A.根结点最多有m棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接7、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。
下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。
Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ8、一个具有1025个结点的二叉树的高h为()。
A.11B.10C.11至1025之间D.10至1024之间9、有n(n>0)个分支结点的满二叉树的深度是()。
A.n2-1B.log2(n+1)+1C.log2(n+1)D.log2(n-l)10、在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A 的左孩子的平衡因子为0,右孩子的平衡因子为l,则应作()型调整以使其平衡A.LLB.LRC.RLD.RR二、填空题11、N个顶点的连通图用邻接矩阵表示时,该矩阵至少有______个非零元素。
2022年忻州师范学院公共课《大学计算机基础》期末试卷B(有答案)

2022年忻州师范学院公共课《大学计算机基础》期末试卷B(有答案)一、单项选择题1、二进制数01010101等于十进制数()A.85B.87C.89D.912、将十进制数57转换为二进制数是()A.111011B.111001C.101111D.1100113、十六进制数3FC3转换为相应的二进制数是()A.11111111000011B.01111111000011C.01111111000001D.111111110000014、二进制数110010转换成十进制数是()A48 B 50 C52 D565、下面是关于计算机病毒的两种论断,经判断(1)计算机病毒也是一种程序,它在某些条件上激活,起干扰破坏作用,并能传染到其他程序中去;(2)计算机病毒只会破坏磁盘上的数据,()A.只有(1)正确B.只有(2)正确C. (1)和(2)都正确D. (1)和(2)都不正确6、微型计算机中最普遍使用的字符编码是()A.国标码B.ASCII码C.BCD码D.EBCDIC码7、在以下打印机中,打印速度最快的是()A.针式打印机B.激光打印机C.喷墨打印机D.3D打印机8、在Windows 7的对话框中,选项前的“□”图标称为()A.单选按钮B.复选框C.命令按钮D.输入框9、在Windows 7中,下列不正确的文件名是()A.X.Y.ZB.MyFilesC.X$Y.CD.A<B,DOC10、在Windows 7中,双击一个已经最大化的应用程序窗口标题栏,该窗口将()A.关闭B.最小化C.还原D.不变化11、在Windows 7中,目录结构采用()A.树形结构B.线形结构C.层次结构D.网状结构12、Windows 7中“回收站”是()A.内存中的一块区域B.硬盘中的一块区域C.软盘中的一块区域D.高速缓存中的一块区域13、在Windows 7中,要删除一个应用程序,正确的操作应该是()A. 打开“资源管理器”窗口,使用鼠标拖动操作B. 打开“控制面板”窗口,双击“添加/删除程序”图标C. 打开“MS-DOS”窗口,使用Del命令D. 打开“开始”菜单,选中“运行”项,在弹出的“运行”对话框中使用Del命令14、Windows中,对话框()A.有最大化按钮B.有最小化按钮C.不能改变形状大小D.不能移动15、将整个屏幕内容复制到剪贴板上,应按()A.PrintScreenB.Alt+ PrintScreenC. Ctrl+ PrintScreenD.Ctrl+V16、Word文档的默认扩展名是()A.WPSB.DOTC.DOCD.EXE17、在Word中,选择“表格”菜单中“拆分表格”命令后,可以对表格进行()A.左右拆分B.上下拆分C.任意拆分D.上下和左右拆分18、在Word中,要组合多个图形对象,需要分别选中各个图形对象,其正确的操作是()A.分别单击各个图形对象B.按住Ctrl键,分别单击各个图形对象C.按住Alt键,分别单击各个图形对象D.按住Shift键,分别单击各个图形对象19、在Word2010“字体”对话框中不能设置()A上标B删除线C字符间距D段落间距20、向Excel 2010单元格输入数据之后,单元格中出现一串“#”符号,表示()A.单元格被隐藏B.单元格被加密C.用户输入了错误的数据D.输入的数值长度超过了单元格的宽度21、打印Excel 2010的工作表时.在文件菜单的“页面设置”命令中.不可能设置()A.打印方向B.纸张大小C.页边距D.打印份数22、在Exce12010中可以为单元格命名,下列单元格名称正确的是()A.A3B.ЗAC.成绩,优D.成绩优23、在Excel 2010中,设A10单元格的数字格式为整数,若输入:33.51,则显示()A.33.51B.33C.34D.ERROR24、在Excel 2010中,计算字符串长度的函数是()A.LENB.MAXC.MIND.SUM25、下列有关分类汇总的叙述中,正确的是()A分类汇总需按多个字段分类B分类汇总的汇总方式只能求和C分类汇总只能对数值型的字段分类D分类汇总需先按分类字段进行排序26、在PowerPoint 2010各种视图中,可以同时显示多张幻灯片的视图是()A.普通视图B.备注页视图C.幻灯片放映视图D.幻灯片浏览视图27、用户对PowerPoint 2010幻灯片中图片进行编辑的视图是()A.备注视图B.普通视图C.幻灯片浏览视图D.幻灯片放映视图28、TCP/IP协议的分层结构中,从下到上各层依次是()A.网络接口层、网络层、传输层、应用层B.网络层、网络接口层、应用层、传输层C.应用层、传输层、网络接口层、网络层D.传输层、应用层、网络层、网络接口层29、当发送方发出电子邮件后,接收方计算机处于关机状态,则电子邮件将()A.丢弃B.退回给发送方C.会被重新发送D.保存在服务商的服务器上答案:D30、在Internet中,超文本传输协议的英文缩写是()A. TCPB. FTPC. SMTPD. HTTP二、填空题31、在Windows 7的控制面板中选择_____________可以查看其他国家的当前时间。
2022年湖北师范大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年湖北师范大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。
A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理2、将线性表的数据元素进行扩充,允许带结构的线性表是()。
A.串B.树C.广义表D.栈3、以下与数据的存储结构无关的术语是()。
A.循环队列B.链表C.哈希表D.栈4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。
A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front5、下列关于AOE网的叙述中,不正确的是()。
A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动若提前完成,那么整个工程将会提前完成6、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。
A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,197、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别()。
A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=28、有n(n>0)个分支结点的满二叉树的深度是()。
A.n2-1B.log2(n+1)+1C.log2(n+1)D.log2(n-l)9、有关二叉树下列说法正确的是()。
2022年海南师范大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年海南师范大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、已知广义表LS=((a,b,c),(d,e,f)),用head和tail数取出LS中原子e的运算是()。
A.head(tail(LS))B.tail(head(LS))C.head(tail(head(tail(LS))))D.head(tail(tail(head(LS))))2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
A.13B.33C.18D.403、连续存储设计时,存储单元的地址()。
A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续4、下列关于AOE网的叙述中,不正确的是()。
A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动若提前完成,那么整个工程将会提前完成5、下面关于串的叙述中,不正确的是()。
A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储6、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。
A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,197、下列选项中,不能构成折半查找中关键字比较序列的是()。
A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4508、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。
2022年甘肃民族师范学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年甘肃民族师范学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、无向图G=(V,E),其中:V={a,b,c,d,e,f},E={(a,b),(a, e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是()。
A.a,b,e,c,d,fB.a,c,f,e,b,dC.a,e,b,c,f, dD.a,e,d,f,c,b2、n个结点的完全有向图含有边的数目()。
A.n*nB.n(n+1)C.n/2D.n*(n-1)3、链表不具有的特点是()。
A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比4、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。
A.h->next=sB.s->next=hC.s->next=h;h->next=sD.s->next=h-next;h->next=s5、在下列表述中,正确的是()A.含有一个或多个空格字符的串称为空格串B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树C.选择排序算法是不稳定的D.平衡二叉树的左右子树的结点数之差的绝对值不超过l6、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。
下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。
Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ7、下列叙述中,不符合m阶B树定义要求的是()。
A.根结点最多有m棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接8、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为()。
2022年文华学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年文华学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、将线性表的数据元素进行扩充,允许带结构的线性表是()。
A.串B.树C.广义表D.栈2、用有向无环图描述表达式(A+B)*((A+B)//A),至少需要顶点的数目为()。
A.5B.6C.8D.93、单链表中,增加一个头结点是为了()。
A.使单链表至少有一个结点B.标识表结点中首结点的位置C.方便运算的实现D.说明单链表是线性表的链式存储4、最大容量为n的循环队列,队尾指针是rear,队头:front,则队空的条件是()。
A.(rear+1)MOD n=frontB.rear=frontC.rear+1=frontD.(rear-1)MOD n=front5、在下列表述中,正确的是()A.含有一个或多个空格字符的串称为空格串B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树C.选择排序算法是不稳定的D.平衡二叉树的左右子树的结点数之差的绝对值不超过l6、下列选项中,不能构成折半查找中关键字比较序列的是()。
A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4507、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。
下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。
Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ8、有n(n>0)个分支结点的满二叉树的深度是()。
A.n2-1B.log2(n+1)+1C.log2(n+1)D.log2(n-l)9、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为()。
A.CBEFDAB.FEDCBAC.CBEDFAD.不定10、下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是()。
2022年长沙学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年长沙学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、下列说法不正确的是()。
A.图的遍历是从给定的源点出发每个顶点仅被访问一次B.遍历的基本方法有两种:深度遍历和广度遍历C.图的深度遍历不适用于有向图D.图的深度遍历是一个递归过程2、无向图G=(V,E),其中:V={a,b,c,d,e,f},E={(a,b),(a, e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是()。
A.a,b,e,c,d,fB.a,c,f,e,b,dC.a,e,b,c,f, dD.a,e,d,f,c,b3、算法的计算量的大小称为计算的()。
A.效率B.复杂性C.现实性D.难度4、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>, <V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是()。
A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V75、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。
A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front6、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年忻州师范学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、n个结点的完全有向图含有边的数目()。
A.n*nB.n(n+1)C.n/2D.n*(n-1)2、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。
A.NB.2N-1C.2ND.N-13、线性表的顺序存储结构是一种()。
A.随机存取的存储结构B.顺序存取的存储结构C.索引存取的存储结构D.Hash存取的存储结构4、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是()。
A.543612B.453126C.346521D.2341565、在用邻接表表示图时,拓扑排序算法时间复杂度为()。
A.O(n)B.O(n+e)C.O(n*n)D.O(n*n*n)6、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。
A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,197、下列关于无向连通图特性的叙述中,正确的是()。
Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ8、一个具有1025个结点的二叉树的高h为()。
A.11B.10C.11至1025之间D.10至1024之间9、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。
A.107B.108C.214D.21510、数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中的()的两趟排序后的结果。
A.选择排序B.起泡排序C.插入排序D.堆排序二、填空题11、在有n个顶点的有向图中,每个顶点的度最大可达______。
12、在哈希函数H(key)=key%p中,p值最好取______。
13、文件可按其记录的类型不同而分成两类,即______和______文件。
14、应用Prim算法求解连通网络的最小生成树问题。
(1)针对如图所示的连通网络,试按如下格式给出在构造最小生成树过程中顺序选出的各条边。
(2)下面是Prim算法的实现,中间有5个地方缺失,请阅读程序后将它们补上。
15、在一棵m阶B-树中,若在某结点中插入一个新关键字而引起该结点分裂,则此结点中原有的关键字的个数是______;若在某结点中删除一个关键字而导致结点合并,则该结点中原有的关键字的个数是______。
16、在顺序存储的二叉树中,编号为i和j的两个结点处在同一层的条件是______。
17、当两个栈共享一存储区时,栈利用一维数组stack(1,n)表示,两栈顶指针为top[1]与top[2],则当栈1空时,top[1]为______,栈2空时, top[2]为______,栈满时为______。
18、下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。
三、判断题19、文件系统采用索引结构是为了节省存储空间。
()20、倒排文件是对次关键字建立索引。
()21、循环队列也存在空间溢出问题。
()22、广义表(((a,b,c),d,e,f))的长度是4。
()23、若从二叉树的任一结点出发,到根的路径上所经过的结点序列按其关键字有序,则该二叉树一定是哈夫曼树。
()24、任何二叉树的后序线索树进行后序遍历时都必须用栈。
()25、在外部排序过程中,对长度为n的初始序列进行“置换-选择”排序时,可以得到的最大初始有序段的长度不超过n/2。
()26、在用堆排序算法排序时,如果要进行增序排序,则需要采用“大根堆”。
()27、无环有向图才能进行拓扑排序。
()28、当改变网上某一关键路径上任一关键活动后,必将产生不同的关键路径。
()四、简答题29、写出下列排序算法的基本思想,并写出对序列(23,12,35,47, 16,25,36,19,21,16)进行排序时每一趟的结果。
30、调用下列C函数f(n),回答下列问题:(1)试指出f(n)值的大小,并写出,f(n)值的推导过程。
(2)假定n=5,试指出,f(5)值的大小和执行,f(5)时的输出结果。
C函数:31、对下面的关键字集{30,15,21,40,25,26,36,37}若查找表的装填因子为0.8,采用线性探测再哈希方法解决冲突,做:(1)设计哈希函数;(2)画出哈希表;(3)计算查找成功和查找失败的平均查找长度;(4)写出将哈希表中某个数据元素删除的算法。
五、算法设计题32、按图的宽度优先搜索法写一算法判别以邻接矩阵存储的有向图中是否存在由顶点V i到顶点V j 的路径(i≠j)33、已知二叉树丁的结点形式为(llink,data,count,rlink),在树中查找值为X的结点,若找到,则记数(count)加1;否则,作为一个新结点插入树中,插入后仍为二叉排序树,写出其非递归算法。
34、试设计一个C语言算法(或C语言程序):用单链表做存储结构,以回车符为结束标志,输入一个任意长度的字符串,然后判断该字符串是否为“回文”(正向读和反向读时,串值相同的字符串称为“回文”),输出信息“Yes”或“NO”;最后删除字符串并释放全部空间。
例如:若输入“ABCD12321DCBA”是回文,则输出“Yes”。
若输入“ABCD123DCBA”,不是回文,则输出“NO”。
要求:定义相关数据类型,不得使用数组(顺序表)做字符串的存储结构和辅助存储空间。
假定字符串的长度为n,试分析上述算法的时间复杂度。
35、设稀疏矩阵M m×n中有t个非零元素,用三元组顺序表的方式存储。
请设计一个算法,计算矩阵M的转置矩阵N,要求转置算法的时间复杂度为O(n+t)。
参考答案一、选择题1、【答案】D2、【答案】A3、【答案】A4、【答案】C5、【答案】B6、【答案】A7、【答案】A8、【答案】C9、【答案】B10、【答案】C二、填空题11、【答案】2(n-1)12、【答案】小于等于表长的最大素数或不包含小于20的质因子的合数13、【答案】操作系统文件;数据库14、【答案】(1)(0,3,1);(3,5,4);(5,2,2);(3,1,5);(1,4,3)(2)① T[k];toVex=i② min=MaxInt;③ mispos=i④ exit(0)⑤ T[i];fromVex=v【解析】Prim算法的执行类似于寻找图的最短路径的Dijkstra算法。
假设N={V,E}是连通图,E T是N上最小生成树边的集合。
算法从V T={u0}, E T开始,重复执行下述操作:在所有u属于V T,v 属于V-V T的边(u,v)属于E中找一条代价最小的边(u0,v0)加入集合E T,同时将v0并入V T,直到V T=V为止。
15、【答案】【解析】m阶B-树除根结点和叶子结点外,结点中关键字个数最多是m1,最少16、【答案】【解析】用顺序存储结构存储二叉树时,要按完全二叉树的形式存储,非完全二叉树存储时,要加“虚结点”。
设编号为i和j的结点在顺序存储中的下标为s和t,则结点i和j在同一层上的条件是17、【答案】0;n+1;top[1]+1=top[2]18、【答案】a[j]=a[k];low=stack[top][0];stack[top][0]=k+1【解析】快速排序(quick sort)的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
三、判断题19、【答案】×20、【答案】√21、【答案】√22、【答案】×23、【答案】×24、【答案】×25、【答案】×26、【答案】√27、【答案】√28、【答案】×四、简答题29、答:此排序为双向起泡排序:从前向后一趟排序下来得到一个最大值,若其中发生交换,则再从后向前一趟排序,得到一个最小值。
第一趟:12,23,35,16,25,36,19,21,16,47 第二趟:12,16,23,35,16,25,36,19,21,47 第三趟:12,16,23,16,25,35,19,21,36,47 第四趟:12,16,16,23,19,25,35,21,36,47 第五趟:12,16,16,19,23,25,21,35,36,47 第六趟:12,16,16,19,21,23,25,35,36,47 第七趟:12,16,16,19,21,23,25,35,36,4730、答:(1)第一层for循环判断n+1次,往下执行n次,第二层for执行次数为(n+(n-1)+(n-2)+…+1),第三层循环体受第一层循环和第二层循环的控制,其执行次数如表1-1所示。
执行次数为f(n)=(1+2+…+,n)+(2+3+…+,n)+…+n=n*n(n+1)/2-n(n2-1)/6。
(2)在n=5对,f(5)=55,执行过程中,输出结果为:31、答:(1)由于装填因子为0.8,关键字有8个,所以表长为8/0.8=10。
用除留余数法设计哈希函数,哈希函数为14(key)=key%7。
(2)哈希表如表所示:(3)计算查找失败时的平均查找长度,必须计算不在表中的关键字,当其哈希地址为i(0≤i≤m-1)时的查找次数。
本例中m=10。
故查找失败和查找成功时的平均查找长度分别为:(4)算法如下:五、算法设计题32、答:算法如下:33、答:算法如下:34、答:算法如下:35、答:算法如下:。