中国科技大学 算法导论 10级期末试卷

合集下载

中科大算法导论期末试卷及答案

中科大算法导论期末试卷及答案
2. (卷 1)已知 f1(n)=Θ(g1(n)),f2(n)=Θ(g2(n)),请问是否有 f1(n)+ f2(n)= Θ( max( g1(n),g2(n) ) )?
解:存在������1(n) + ������2(������) = ������(max(������1(������), ������2(������) 证明: ������1(������) = ������(������1(n)) 则存在 a1>0,a2>0, n1>0 使得 n>n1 时有 ������1 ∗ ������1(n) < ������1(������) < ������2 ∗ ������1(n) ������2(������) = ������(������2(n)) 则存在 b1>0,b2>0, n2>0 使得 n>n2 时有 ������1 ∗ ������2(n) < ������2(������) < ������2 ∗ ������2(n) 取 c1=min(a1,b1) >0, c2=2*max(a2,b2) >0, n0=max(n1,n2)>0 当 n>n0 时,有 ������1(n) + ������2(������) > ������1 ∗ ������1(n) + ������1 ∗ ������2(n)
= ������2(������������ − 5 ������������������������) − 2������ > 2������3 − 2������ > 2������0(������02 − 1) =12 即当 c=7, n0=2 时,对 n>n0, 5������2������������������������ + 2������ < ������������3恒成立, 5������2������������������������ + 2������ = ������(������3)

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

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

课程测试试题(A 卷)一、 一、 单选题(每题 分,共 分) 对一个算法的评价,不包括如下( )方面的内容。

.健壮性和可读性 .并行性 .正确性 .时空复杂度 在带有头结点的单链表 中,要向表头插入一个由指针 指向的结点,则执行 。

对线性表,在下列哪种情况下应当采用链表表示? 经常需要随机地存取元素 经常需要进行插入和删除操作 表中元素需要占据一片连续的存储空间 表中元素的个数不变 一个栈的输入序列为 ,则下列序列中不可能是栈的输出序列的是 网是一种( )。

.有向图 .无向图 .无向无环图 .有向无环图 采用开放定址法处理散列表的冲突时,其平均查找长度( )。

.低于链接法处理冲突 高于链接法处理冲突 .与链接法处理冲突相同 .高于二分查找 若需要利用形参直接访问实参时,应将形参变量说明为( )参数。

.值 .函数 .指针 .引用 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( )。

.行号 .列号 .元素值 .非零元素个数 快速排序在最坏情况下的时间复杂度为( )。

. . . . 从二叉搜索树中查找一个元素时,其时间复杂度大致为 。

二、 二、 运算题(每题 分,共 分) 数据结构是指数据及其相互之间的 。

当结点之间存在 对 ( : )的联系时,称这种结构为 。

队列的插入操作是在队列的 进行,删除操作是在队列的 进行。

当用长度为 的数组顺序存储一个栈时,假定用 表示栈空,则表示栈满的条件是 。

对于一个长度为 的单链存储的线性表,在表头插入元素的时间复杂度为 ,在表尾插入元素的时间复杂度为 。

设 为一个二维数组,其每个数据元素占用 个字节,行下标 从 到 ,列下标 从 到 ,则二维数组 的数据元素共占用_ _个字节。

中第 行的元素和第 列的元素共占用_ _个字节。

若按行顺序存放二维数组 ,其起始地址为 ,则二维数组元素 , 的起始地址为_ _。

广义表 则它的深度为 ,它的长度为 。

2022年三峡大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年三峡大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年三峡大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。

A.快速排序B.堆排序C.归并排序D.直接插入排序2、n个结点的完全有向图含有边的数目()。

A.n*nB.n(n+1)C.n/2D.n*(n-1)3、若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为节省时间应采用的存储方式()。

A.单链表B.双向链表C.单循环链表D.顺序表4、下面关于串的叙述中,不正确的是()。

A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储5、已知串S='aaab',其next数组值为()。

A.0123B.1123C.1231D.12116、已知字符串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=27、下列选项中,不能构成折半查找中关键字比较序列的是()。

A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4508、在下述结论中,正确的有()。

①只有一个结点的二叉树的度为0。

②二叉树的度为2。

③二叉树的左右子树可任意交换。

④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。

A.①②③B.⑦③④C.②④D.①④9、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。

A.其中任意一个结点均无左孩子B.其中任意一个结点均无右孩子C.其中只有一个叶结点D.其中度为2的结点最多为一个10、分别以下列序列构造二叉排序树,与用其他三个序列所构造的结果不同的是()。

2022年北京物资学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年北京物资学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年北京物资学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、将线性表的数据元素进行扩充,允许带结构的线性表是()。

A.串B.树C.广义表D.栈2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。

A.13B.33C.18D.403、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。

A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表4、下面关于串的叙述中,不正确的是()。

A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储5、在下列表述中,正确的是()A.含有一个或多个空格字符的串称为空格串B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树C.选择排序算法是不稳定的D.平衡二叉树的左右子树的结点数之差的绝对值不超过l6、已知关键字序列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.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ8、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。

A.107B.108C.214D.2159、设X是树T中的一个非根结点,B是T所对应的二叉树。

2022年成都大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年成都大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年成都大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。

A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。

A.13B.33C.18D.403、连续存储设计时,存储单元的地址()。

A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。

A.仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都可能要修改D.队头、队尾指针都要修改5、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。

A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front6、下列关于无向连通图特性的叙述中,正确的是()。

Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ7、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。

假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。

初始时为空,下列判断队空和队满的条件中,正确的是()。

A.队空:end1==end2;队满:end1==(end2+1)mod MB.队空:end1==end2;队满:end2==(end1+1)mod (M-1)C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod MD.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1)8、在下述结论中,正确的有()。

中国科学技术大学期末考试试卷

中国科学技术大学期末考试试卷

一、填空题1.常用的并行算法设计的基本技术有_______ _________,___________________,_______________________,____________ ______,_____________________,_______________________等。

2.常见的并行计算模型有____________ ______,_____________________,_______________________,____________ ______等。

3.PCAM设计过程分为_________,__________,_________ 和_________四步。

4.常见的并行程序设计模型包括__ ___________,__ _____________,______________________,______________________等。

二、问答题1.请简述从上个世纪80年代至今,主流并行计算机体系结构的变化趋势。

2.基于蝶式计算原理的FFT在二维mesh连接和蝶式网络连接的处理器上均可并行实现。

(1)请问哪种实现效率较好?并给出原因。

(2)蝶式网络连接的处理器在实际的并行计算机系统并不常见,这是否会影响FFT在蝶式网络连接上的并行实现在实际中的使用?为什么?3.基本的开关技术有哪两种?各具有什么特点?三、阅读题1.阅读以下新闻报道,回答问题。

2004 年6月29日国家科技部今日在人民大会堂宣布:“863计划重点项目——曙光4000A通过鉴定验收,曙光4000A实现了对每秒10万亿次运算速度的技术和应用的双跨越,成为国内计算能力最强的商品化超级计算机”。

在今年6月22日刚刚公布的全球高性能计算机TOP500排行榜中,曙光4000A以每秒11万亿次的峰值速度和80610亿次Linpack计算值位列全球第十,这是中国超级计算机得到国际同行认可的最好成绩。

算法与数据结构_江西师范大学中国大学mooc课后章节答案期末考试题库2023年

算法与数据结构_江西师范大学中国大学mooc课后章节答案期末考试题库2023年

算法与数据结构_江西师范大学中国大学mooc课后章节答案期末考试题库2023年1.两个字符串相等的充分必要条件是()参考答案:两个字符串的长度相等且对应位置上的字符也相等2.与单链表相比,双链表的优点之一是 ( ) 。

参考答案:能够方便的访问某结点的前驱结点3.对于一个头指针为H的带头结点的循环单链表,判定该表为空表的条件是H->next=NULL。

参考答案:错误4.设有两个串S和T ,其中T是S的子串,求T在S中首次出现的位置的算法称为()参考答案:串的模式匹配5.静态链表与动态链表类似,在元素的插入、删除上也不需做元素的移动。

参考答案:正确6.哈夫曼树的带权路径长度等于其中所有结点的带权路径之和。

参考答案:错误7.哈夫曼树中除了度为1的节点外,还有度为2的节点和叶子节点。

参考答案:错误8.任何一个无向连通网的最小生成树()。

参考答案:至少有1棵9.某算法的时间复杂度是O(n^3),表明该算法的执行时间与n^3成正比。

参考答案:正确10.下列属于非线性数据结构的是()参考答案:图11.n个结点的线索二叉树上含有的线索个数为()参考答案:n+112.串的长度是指()。

参考答案:串中所含字符的个数13.若串S=“software”,其子串个数为()参考答案:3714.int f(char s[])函数判断字符串s 是否是回文,是回文则返回1,否则返回0;如 f("abba")返回1,f("abcba")返回1f("abab")返回0;对于(1),下列选项正确的是()int f(char s[]){ int i=0,j=0; while(s[j]) j++; for(j--; i < j && s[i] == s[j]; i++, j--); return _______(1)_______ ;}参考答案:s[i] = = s[j]15.在求最小生成树时,Kruskal算法更适合于()。

2022年中国计量大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年中国计量大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年中国计量大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、下列排序算法中,占用辅助空间最多的是()。

A.归并排序B.快速排序C.希尔排序D.堆排序2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。

A.13B.33C.18D.403、链表不具有的特点是()。

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、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是()。

A.543612B.453126C.346521D.2341566、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。

A.只有e B.有e、b C.有e、c D.无法确定7、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。

假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。

初始时为空,下列判断队空和队满的条件中,正确的是()。

A.队空:end1==end2;队满:end1==(end2+1)mod MB.队空:end1==end2;队满:end2==(end1+1)mod (M-1)C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod MD.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1)8、有n(n>0)个分支结点的满二叉树的深度是()。

(完整版)算法设计与分析期末考试卷及答案a

(完整版)算法设计与分析期末考试卷及答案a
_
flag=false
_
_
end if
_
__
end for
A[i] A[1]
w =i
return w, A end SPLIT
二.计算题和简答题(每小题
1.用O、、 表示函数f与g之间阶的关系,并分别指出下列函数中阶最低和最高 的函数:
(1)f (n)=100g(n)=100n
(2)f(n)=6n+nlog ng(n)=3n
算法EX1
输入:正整数n,n=2k。输出:⋯
ex1(n)
end EX1过程ex1(n) if n=1 then pro1(n)
else

名姓
级年
_
_系
_院学
pro2(n)
ex1(n/2) end if
return
end ex1
3.用Floyd算法求下图每一对顶点之间的最短路径长度, 计算矩阵D0,D1,D2和D3,其中Dk[i, j]表示从顶点i到顶点j的不经过编号大于
i=find ( (1) )
if i>0 then output i
else output“no solution”
end SEARCH
过程find (low, high)
//求A[low..high]中使得A[i]=i的一个下标并返回,若不存在,
//则返回0。
if (2) then return 0
生专
_

马的周游问题:给出一个nxn棋盘,已知一个中国象棋马在
_
_
棋盘上的某个起点位置(x0, y0),求一条访问每个棋盘格点恰好
_
_
一次,最后回到起点的周游路线。 (设马走日字。)

2022年湖北汽车工业学院科技学院公共课《大学计算机基础》期末试卷A(有答案)

2022年湖北汽车工业学院科技学院公共课《大学计算机基础》期末试卷A(有答案)

2022年湖北汽车工业学院科技学院公共课《大学计算机基础》期末试卷A(有答案)一、单项选择题1、二进制数10111101等于十进制数()A.187B.189C.191D.1932、二进制数01010101等于十进制数()A.85B.87C.89D.913、与二进制数01000011等值的十进制数是()A.19B.35C.67D.1314、将十进制数57转换为二进制数是()A.111011B.111001C.101111D.1100115、对于已感染了病毒的U盘,最彻底的去除病毒的方法是()A.用酒精将U盘消毒B.放在高压锅里煮C.将感染病毒的程序删除D.对U盘进展格式化6、用拼音输入法输入“北京奥运”四个汉字,它们的内码占用的存储空间为()A.2个字节B.4个字节C.6个字节D.8个字节7、桌面上已经有某应用程序图标,要运行该程序,一般可以使用鼠标()A.左键单击该图标B.右键单击该图标C.左键双击该图标D.右键双击该图标8、Windows7的应用程序窗口中,一般不存在()A.“关闭”按钮B."最小化”按钮C.“最大化/还原”按钮D.“确定”按钮9、在Windows 7的对话框中,下拉框是一个方框,并在右边有一个()A.向下的黑三角标志B.横向的省略号标志C.颜色变灰的标志D.向右的三角形标志10、在Windows 7中,要修改日期显示的格式应该在“控制面板”的()A.“日期/时间”中进行设置B.“区域设置”中进行设置C.“显示”中进行设置D.“字体”中进行设置11、下列有关桌面的叙述中,正确的是()A.桌面上的图标都不能移动B.桌面上不能新建文件夹C.桌面上的不能排列D.桌面上的图标能自动排列12、在Windows 7“回收站”中,可以恢复()A.从硬盘中删除的文件和文件夹B.从光盘中刷除的文件和文件夹C.从软盘中删除的文件和文件夹D.剪切掉的文挡13、设置键盘属性时,在哪个选项框中可以更改键盘接受连续按键速度的设置()A.字符重复B.键盘设置C.按键设置D.光标闪烁频率14、退出Word应用程序的快捷键是()A.EscB.Alt+F4C.Ctrl+F4D.Shift+F415、在Word中.下面关于打印预览的叙述.错误的是()A.打印预览的效果基本就是打印的效果B.打印预览也是文档视图方式之一C.打印预览的显示状态下不能对文档行边界进行调整D.打印预览的显示状态下可以对文档中的文字进行修改16、在Word 2010中,不能实现插入表格的方式是()A.快速表格B.文本转换为表格C.绘图工具制作表格D.Excel电子表格17、下列有关Word2010叙述中,不正确的是()A、进行打印预览时必须开启打印机B、使用“文件”菜单的“打开”命令,可打开一个已存在的Doc文档C、可将正在编辑的文档另存为一个纯文本TXT文件D、允许同时打开多个文档18、在Word中,可以插入页眉和页脚的视图是()A.普通视图B.Web版是视图C.大纲视图D.页面视图19、在Word2010中,下列不能打印当前文档的操作是()A、选择“常用”菜单的“打印”按钮B、选择“文件”菜单的“打印”选项C、选择“文件”菜单的“打印设置”选项D、选择“文件”菜单的“打印预览”选项20、若已将Exce12010工作表A1单元格设为数值格式,当其中输入的数字超出列宽时,A1单元格显示()A.######B.#VALUEC.从高位截取列宽显示的数字位数D.从低位截取列宽显示的数字位数21、在Excel 2010中,一个工作簿最多可包含工作表数是()A.3个B.16个C.255个D.256个22、在Excel 2010中、要将有数据且设登了格式的单元格恢复为默认格式的空单元格,应先选定该单元格,然后使用()A.Del 键B.“格式”菜单的“单元格”命令C.“编辑”菜单的“清除”命令D.“常用”工具栏的“剪切”命令23、在Excel 2010工作表中,如题22图所示的数据,在C2中求A1+B2的和,应输人()B."A1+B2"C."=A1+B2"D.SUM(A1:B2)24、在Excel 2010的Sheet1工作表某单元格中,引用Sheet2工作表A4 单元格的式为()A.Sheet2$A4B.Sheet2&A4C.Sheet2%A4D.Sheet2!A425、在Excel 2010中,可使活动单元格指针移动到指定单元格的快捷键是()A. F10B. F5C. F3D. F226、PowerPoint 2010不具有的功能是()A.图文编辑B.设计放映方式C.对数据进行分类汇总D.编辑幻灯片的放映次序27、在PowerPoint2010中,对对象可以进行四种动画设置,不包括()A.进入B.退出C.强调D.自定义28、利用HTML语言编写网页,实现超级链接的标记是()A. <a>...</a>C.<body>...</body>D.<hn>..</hn>29、在Internet中,TCP/IP是()A.网络地址B.网络操作系统C.网络通信协议D.网络拓扑结构30、按计算机网络的交换方式分类,可以分为()A.数据交换网、电路交换网、分组交换网B.数据交换网、电路交换网、报文交换网C.报文交换网、分组交换网、数据交换网D.报文交换网、电路交换网、分组交换网二、填空题31、在Windows 7 的磁盘管理窗口中,对硬盘创建分区时,第一个驱动器盘符是_______32、我国须布的汉字标准GB 2313-1980,简称______33、超大规模集成电路计算机是第__________代计算机。

08—09年期末考试算法设计与分析试卷B及答案

08—09年期末考试算法设计与分析试卷B及答案

附表5:考试课程: 班级: 姓名: 学号:------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------、⑴ 证明:令F(N)=O(f),则存在自然数N1、C1,使得对任意的自然数N 1N ≥,有: F(N));(1N f C ≤……………………………..(2分)同理可令G(N)=O(g), 则存在自然数N 2、C2,使得对任意的自然数N 2N ≥,有:G(N));(2N g C ≤ ……………………………..(3分)令 C3=m ax{C1,C2},N3=ma x{N1,N2},则对所有的N 3N ≥,有: F(N));(3)(1N f C N f C ≤≤G (N ));(3)(2N g C N g C ≤≤ ……………………………..(5分) 故有:O (f)+O(g)=F(N)+G(N))())()((3)(3)(3g f O N g N f C N g C N f C +=+=+≤ 因此有:O(f)+O(g)=O(f+g ) ……………………………..(7分)⑵ 解:① 因为:;01033)103(lim 222=+-+∞→nn n n n n 由渐近表达式的定义易知: 103322+n n 是的渐近表达式。

……………………………..(3分)② 因为:;0/12121)/121(lim=+-+∞→nn n 由渐近表达式的定义易知:21是21+1/n 的渐近表达式。

……………………………..(6分)2、解:经分析结论为:(1));5(log log 2+=n n θ………………………….(5分)(2))(log 2n n O =;………………………….(10分)(3))(log 2n n Ω=;………………………….(15分)3、解:用分治法求解的算法代码如下:int partit io n(float A[],int p,in t r ) {i nt i=p,j =r+1; f lo at x =a[p]; w hile (1) {while(a[++i]<x&&i <r); w hile(a[--j]>x);if(i>=j)break;a[i]];……………………………..(4分)[ja};a[p]=a[j];a[j]=x;returnj;……………………………..(7分)}voidQuicksort(floata[], int p, intr){if( p<r){int q=partition(a,p,r);……………………………..(10分)Quicksort(a,p,q-1);Quicksort(a,q+1,r);}};Quicksort(a,0,n-1);……………………………..(13分)4、解:用动态规划算法求解的算法代码如下:int lcs_len(char *a,char *b,int c[][N]){intm=strlen(a),n=strlen(b),i,j;for(i=0;i<=m;i++) c[i][0]=0;for(j=1;j<=n;j++) c[0][j]=0;……………………………..(4分)for(i=1;i<=m;i++)for(j=1;j<=n;j++)if(a[i-1]= =b[j-1])c[i][j]=c[i-1][j-1]+1;else if(c[i-1][j]>=c[i][j-1])c[i][j]=c[i-1][j];else c[i][j]=c[i][j-1];……………………………..(7分) return c[m][n];……………………………..(8分)};char *build_lcs(char s[],char *a,char *b){intk,i=strlen(a),j=strlen(b),c[N][N];k=lcs_len(a,b,c);s[k]=’\0’;while(k>0){if(c[i][j]==c[i-1][j])i--;……………………………..(11分)else if(c[i][j]==c[i][j-1]) j--;else{s[--k]=a[i-1];i--,j--;}}returns;……………………………..(15分)}5、解:int greedy(vecter<int>x,int n){int sum=0,k=x.size();for(int j=0;j<k;j++)if(x[j]>n){cout<<”No solution”<<endl;re tur n -1;……………………………..(6分) }for(int i=0,s=0;i<k ;i ++){ s+=x[i];if(s>n){ sum ++;s=x[i];}……………………………..(9分)}return sum;……………………………..(12分)} 6、解:此题用动态规划算法求解:i nt di st( ) {i nt m=a.si ze ( ); int n=b.s ize( );vec tor<i nt>d(n+1,0);for(int i =1;i<=n;i ++) d[i]=i;……………………………..(5分) f or(i=1;i<=m;i++){ int y=i -1;f or(int j =1;j<=n;j ++){ int x =y; y=d[j];int z=j>1?d[j-1]:i; ……………………………..(10分) int del=a[i-1]= =b[j-1]?0:1;d [j ]=min(x+d el,y+1,z+1); ……………………………..(13分) } }ret urn d[n]; ……………………………..(16分) }7、试用回溯法解决下列整数变换问题:关于整数的变换和定义如下:⎣⎦2/)(;3)(i i g i i f ==。

算法设计期末试卷及答案

算法设计期末试卷及答案

一.简述递归动态规划算法的基本步骤,以及动态规划算法与分治法的异同。

设计动态规划算法的主要步骤为:(最长公共子串,0/1背包)(1)找出最优解的性质,并刻划其结构特征。

(2)递归地定义最优值。

(3)以自底向上的方式计算出最优值。

(4)根据计算最优值时得到的信息,构造最优解分治法与动态规划法的相同点是:将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。

两者的不同点是:适合于用动态规划法求解的问题,经分解得到的子问题往往不是互相独立的。

而用分治法求解的问题,经分解得到的子问题往往是互相独立的。

二.分治法在每一层递归上都有三个步骤:(汉诺塔问题)1.分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;2.解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题;3.合并:将各个子问题的解合并为原问题的解。

它的一般的算法设计模式如下:Divide-and-Conquer(P)1. if |P|≤n02. then return(ADHOC(P))3. 将P分解为较小的子问题P1 ,P2 ,...,Pk4. for i←1 to k5. do yi ←Divide-and-Conquer(Pi) △递归解决Pi6. T ←MERGE(y1,y2,...,yk) △合并子问题7. return(T)三.分支限界法的搜索策略:(0/1背包,旅行售货员)在当前节点(扩展节点)处,先生成其所有的儿子节点(分支),然后再从当前的活节点(当前节点的子节点)表中选择下一个扩展节点。

为了有效地选择下一个扩展节点,加速搜索的进程,在每一个活节点处,计算一个函数值(限界),并根据函数值,从当前活节点表中选择一个最有利的节点作为扩展节点,使搜索朝着解空间上有最优解的分支推进,以便尽快地找出一个最优解。

分支限界法解决了大量离散最优化的问题。

四.回溯法一般步骤:()(1)针对所给问题,定义问题的解空间;(2)确定易于搜索的解空间结构;(3)以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。

算法设计与分析试卷及答案

算法设计与分析试卷及答案

湖南科技学院二○ 年 学期期末考试信息与计算科学专业 年级《算法设计与分析》 试题考试类型:开卷 试卷类型:C 卷 考试时量:120 分钟 一、填空题(每小题3 分,共计30 分)1. 用O 、Ω和θ表示函数f 与g 之间的关系______________________________。

()()log log f n n n g n n ==2. 算法的时间复杂性为1,1()8(3/7),2n f n f n n n =⎧=⎨+≥⎩,则算法的时间复杂性的阶为__________________________。

3. 快速排序算法的性能取决于______________________________。

4. 算法是_______________________________________________________。

5. 在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是_________________________。

6. 在算法的三种情况下的复杂性中,可操作性最好且最有实际价值的是_____情况下的时间复杂性。

7. 大Ω符号用来描述增长率的下限,这个下限的阶越___________,结果就越有价值。

8. ____________________________是问题能用动态规划算法求解的前提。

9. 贪心选择性质是指________________________________________________________ ____________________________________________________________。

10. 回溯法在问题的解空间树中,按______________策略,从根结点出发搜索解空间树。

二、简答题(每小题10分,共计30分)1. 试述回溯法的基本思想及用回溯法解题的步骤。

题 号 一二三四五总分 统分人得 分 阅卷人复查人2. 有8个作业{1,2,…,8}要在由2台机器M1和M2组成的流水线上完成加工。

中科大算法导论作业标准标准答案

中科大算法导论作业标准标准答案

第8次作业答案16.1-116.1-2543316.3-416.2-5参考答案:16.4-1证明中要三点:1.有穷非空集合2.遗传性3.交换性第10次作业参考答案16.5-1题目表格:解法1:使用引理16.12性质(2),按wi单调递减顺序逐次将任务添加至Nt(A),每次添加一个元素后,进行计算,{计算方法:Nt(A)中有i个任务时计算N0 (A),…,Ni(A),其中如果存在Nj (A)>j,则表示最近添加地元素是需要放弃地,从集合中删除};最后将未放弃地元素按di递增排序,放弃地任务放在所有未放弃任务后面,放弃任务集合内部排序可随意.解法2:设所有n个时间空位都是空地.然后按罚款地单调递减顺序对各个子任务逐个作贪心选择.在考虑任务j时,如果有一个恰处于或前于dj地时间空位仍空着,则将任务j赋与最近地这样地空位,并填入; 如果不存在这样地空位,表示放弃.答案(a1,a2是放弃地):<a5, a4, a6, a3, a7,a1, a2>or <a5, a4, a6, a3, a7,a2, a1>划线部分按上表di递增地顺序排即可,答案不唯一16.5-2(直接给个计算例子说地不清不楚地请扣分)题目:本题地意思是在O(|A|)时间内确定性质2(性质2:对t=0,1,2,…,n,有Nt(A)<=t,Nt(A)表示A中期限不超过t地任务个数)是否成立.解答示例:思想:建立数组a[n],a[i]表示截至时间为i地任务个数,对0=<i<n,如果出现a[0]+a[1]+…+a[i]>i,则说明A不独立,否则A独立.伪代码:int temp=0;for(i=0;i<n;i++) a[i]=0; ******O(n)=O(|A|)for(i=0;i<n;i++) a[di]++; ******O(n)=O(|A|)for(i=0;i<n;i++) ******O(n)=O(|A|) {temp+=a[i];//temp就是a[0]+a[1]+…+a[i]if(temp>i)//Ni(A)>iA不独立;}17.1-1(这题有歧义,不扣分)a) 如果Stack Operations包括Push Pop MultiPush,答案是可以保持,解释和书上地Push Pop MultiPop差不多.b) 如果是Stack Operations包括Push Pop MultiPush MultiPop,答案就是不可以保持,因为MultiPush,MultiPop交替地话,平均就是O(K).17.1-2本题目只要证明可能性,只要说明一种情况下结论成立即可17.2-1第11次作业参考答案17.3-1题目:答案:备注:最后一句话展开:采用新地势函数后对i 个操作地平摊代价:)1()())1(())(()()(1''^'-Φ-Φ+=--Φ--Φ+=Φ-Φ+=-Di Di c k Di k Di c D D c c i i i i i i17.3-2题目:答案:第一步:此题关键是定义势能函数Φ,不管定义成什么首先要满足两个条件 对所有操作i ,)(Di Φ>=0且)(Di Φ>=)(0D Φ比如令k j+=2i ,j,k 均为整数且取尽可能大,设势能函数)(Di Φ=2k;第二步:求平摊代价,公式是)1()(^-Φ-Φ+=Di Di c c i i 按上面设置地势函数示例:当k=0,^i c =…=2当k !=0,^i c =…=3 显然,平摊代价为O(1)17.3-4题目:答案:结合课本p249,p250页对栈操作地分析很容易有下面结果17.4-3题目:答案:αα=(第i次循环之后地表中地entry 假设第i个操作是TABLE_DELETE, 考虑装载因子:inum size数)/(第i次循环后地表地大小)=/i i第12 次参考答案19.1.1题目:答案:如果x不是根,则degree[sibling[x]]=degree[child[x]]=degree[x]-1如果x是根,则sibling为二项堆中下一个二项树地根,因为二项堆中根链是按根地度数递增排序,因此degree[sibling[x]]>degree[x]19.1.2题目:答案:如果x是p[x]地最左子节点,则p[x]为根地子树由两个相同地二项树合并而成,以x为根地子树就是其中一个二项树,另一个以p[x]为根,所以degree[p[x]]=degree[x]+1;如果x不是p[x]地最左子节点,假设x是p[x]地子节点中自左至右地第i个孩子,则去掉p[x]前i-1个孩子,恰好转换成第一种情况,因而degree[p[x]]=degree[x]+1+(i-1)=degree[x]+i;综上,degree[p[x]]>degree[x]19.2.2题目:题目:19.2.519.2.6第13次作业参考答案20.2-1题目:解答:20.2-3 题目:解答:20.3-1 题目:答案:20.3-2 题目:答案:第14次作业参考答案这一次请大家自己看书处理版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.6ewMy。

武汉理工大学期末考试算法试卷复习课

武汉理工大学期末考试算法试卷复习课

第二章主要内容
• 二分检索算法时间复杂度分析
–成功/不成功检索的最好情况 –成功/不成功检索的最坏情况 –成功/不成功检索的平均情况
总结 成功检索 不成功检索 最好 平均 最坏 最好 平均 最坏 Θ(1) Θ(logn) Θ(logn) Θ(logn) Θ(logn) Θ(logn)
第二章 主要内容:找最大最小元素
Procedure MAXMIN(i,j,fmax,fmin) 容易求解的 integer i,j;global n,A(1:n) 子问题 if (i==j) fmaxfminA(i) else if(i==j-1) { if A(i)<A(j) fmaxA(j);fminA(i) else fmaxA(i);fminA(j) } 递归调用 else mid[(i+j)/2] call MAXMIN(i,mid,gmax,gmin) call MAXMIN(mid+1,j,hmax,hmin) fmaxmax(gmax,hmax) fminmin(gmin,hmin) endcase End MAXMIN
第一章 主要内容
• 什么是算法?
– 它是一组有穷规则的集合,它规定了解决某一 特定类型问题的一系列运算。
• 算法的5个特征
–确定性;能行性;输入;输出;有穷性。
第一章 主要内容
• 算法与程序的区别
– 程序:
• 与某种语言有关,能直接在机器上运行。 • 只满足确定性、能行性、输入、输出四个特性但不一定能 终止的一组规则。
V1
V2
4 9 7 2 2 2 3
V3
6 5
V cost(4,9)=c(9,12)=45 V4
cost(4,10)=c(10,12)=2

北京航空航天大学 《算法导论》期末参考题(有一部分考到了)

北京航空航天大学 《算法导论》期末参考题(有一部分考到了)

一、选择题1.算法分析中,记号O表示(B),记号Ω标售(A),记号Θ表示(D)A 渐进下界B 渐进上界C 非紧上界D 紧渐进界E 非紧下界2.以下关于渐进记号的性质是正确的有:(A)A f(n) =Θ(g(n)),g(n) =Θ(h(n))⇒f(n) =Θ(h(n))B f(n) =O(g(n)),g(n) =O(h(n)) ⇒h(n) =O(f(n))C O(f(n))+O(g(n)) = O(min{f(n),g(n)})D f(n) = O(g(n)) ⇔g(n) = O(f(n))3. 记号O的定义正确的是(A)。

A O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤ f(n) ≤ cg(n) };B O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤cg(n) ≤ f(n) };C O(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0有:0 ≤f(n)<cg(n) };D O(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0有:0 ≤cg(n) < f(n) };4. 记号Ω的定义正确的是(B)。

A O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤ f(n) ≤ cg(n) };B O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤ cg(n) ≤ f(n) };C (g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0有:0 ≤f(n)<cg(n) };D (g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0有:0 ≤cg(n) < f(n) };5. T(n)表示当输入规模为n时的算法效率,以下算法效率最优的是( C )A T(n)= T(n – 1)+1,T(1)=1B T(n)= 2n2C T(n)= T(n/2)+1,T(1)=1D T(n)= 3nlog2n6. 动态规划算法的基本要素为(C)A 最优子结构性质与贪心选择性质B 重叠子问题性质与贪心选择性质C 最优子结构性质与重叠子问题性质D 预排序与递归调用7.下列不是动态规划算法基本步骤的是( A )。

2022年中南大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年中南大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年中南大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为()。

A.j=r[j].nextB.j=j+lC.j=j->nextD.j=r[j]->next2、用有向无环图描述表达式(A+B)*((A+B)//A),至少需要顶点的数目为()。

A.5B.6C.8D.93、若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为节省时间应采用的存储方式()。

A.单链表B.双向链表C.单循环链表D.顺序表4、在用邻接表表示图时,拓扑排序算法时间复杂度为()。

A.O(n)B.O(n+e)C.O(n*n)D.O(n*n*n)5、下面关于串的叙述中,不正确的是()。

A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储6、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。

下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。

Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ7、已知关键字序列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,198、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。

A.107B.108C.214D.2159、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。

A.其中任意一个结点均无左孩子B.其中任意一个结点均无右孩子C.其中只有一个叶结点D.其中度为2的结点最多为一个10、下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是()。

2022年上海理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年上海理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年上海理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。

A.13B.33C.18D.402、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为()排序法。

A.插入B.选择C.希尔D.二路归并3、若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为节省时间应采用的存储方式()。

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.O(n)B.O(n+e)C.O(n*n)D.O(n*n*n)6、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。

A.只有e B.有e、b C.有e、c D.无法确定7、若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是()。

8、每个结点的度或者为0或者为2的二叉树称为正则二叉树。

n个结点的正则二叉树中有()个叶子。

A.log2nB.(n-1)/2C.log2n+1D.(n+1)/29、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。

A.107B.108C.214D.21510、下列二叉排序树中查找效率最高的是()。

A.平衡二叉树B.二叉查找树C.没有左子树的二叉排序树D.没有右子树的二叉排序树二、填空题11、分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是______算法,最费时间的是______算法。

专业期末考试十套试题(含答案).doc

专业期末考试十套试题(含答案).doc

专业期末考试十套试题(含答案)试卷1:1.选择题(每题1分,共20分)1。

我们现在谈论的个人桌面商务机属于_ _ _ D _ _ _。

A.超级计算机b .中型计算机c .小型计算机d .小型计算机2。

(2000)10被转换成十六进制数_ _ _ _ B _ _。

A. (7cd) 16b。

(7d0) 16c。

(7e0) 16d。

(7f0) 163。

下列中最大的一个是_ _。

A. (10011001) 2b。

(227) 8c。

(98) 16d。

(152) 104。

_ d _ _符号主要用于表示浮点数中的顺序代码。

a .原始码b .补码c .逆码d .移位码5。

小型或微型计算机中常用的字符代码是\u d。

一个. BCD码b .十六进制c .格雷码D. ASC码6。

在算术单元的以下描述中,_ _ d _ _是正确的。

只做算术运算,不做逻辑运算。

EPROM指_ _ d _ _。

a .读写存储器b .只读存储器c .可编程只读存储器d .光学可擦除可编程只读存储器8。

英特尔80486是一款32位微处理器,奔腾是一款_ _ d _ _位微处理器。

A.16b.32c.48d.649 .设置[x]补码=1.x1x2x3x4,当满足_ _ a _ _时,X -1/2保持不变。

A. x1必须是1,x2x3x4至少有一个是1b。

x1必须是1,x2x3x4任意c,x1必须是0,x2x3x4至少有一个是1d。

x1必须是0,x2x3x4任意10。

中央处理器主要包括_ _ b _ _。

控制器,算术单元,高速缓存。

算术单元和主存储器d .控制器,ALU和主存储器11。

信息只通过一条传输线传输,称为_ _ a _ _。

A.串行传输并行传输并行传输分时传输。

在以下四种类型的指令中,最长的执行时间是_ _ c _ _。

参考程序控制指令13。

下列___属于应用软件。

在主存储器和中央处理器之间增加高速缓冲存储器的目的是。

增加内存容量,提高内存可靠性,解决中央处理器和主内存的速度匹配问题,增加内存容量,加快访问速度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档