13 14算法分析与设计 第十三讲 第十四讲 随机算法及实例分析
2013-2014学年第二学期《算法设计与分析》中考题1
1 2013—2014学年第二学期《算法设计与分析》中考试卷
(学院:计算机科学技术学院、软件学院 考试方式:开卷)
一、简答题(共3小题,每小题5分,总计15分)
1.(5分) 请用英文写出三种以上能求解0-1背包问题的设计算法策略,并比较它们的运行效率。
2.(5分) 请说明动态规划方法为什么需要最优子结构性质和子问题的重叠性。
3. (5分) 请说明:(1)优先队列可用什么数据结构实现?(2)优先队列插入算法基本思想?(3)优先队列插入算法时间复杂度?
2 二、填空题 (共4小题,10个空,每空1分,总计10分)
1.递归的二分查找算法在divide阶段所花的时间是 ,conquer阶段所花的时间是 ,算法的时间复杂度是 。
2.背包问题可用 , 等策略求解。
3.用动态规划算法计算矩阵连乘问题的最优值所花的时间是 , 子问题空间大小是 。
4.图的m着色问题可用 法求解,其解空间树中叶子结点个数是 ,解空间树中每个内结点的孩子数是 。
三、计算题(共4小题,第1,2,3小题10分,第4小题15分,总计45分)
1.(10分)对下列各组函数f (n) 和g (n),确定f (n) = O (g (n)) 或f (n) =Ω(g (n))或f(n) =θ(g(n)),并简要说明理由。
(1) f(n)= n!; g(n)= 5n
(2) f(n)= log n9; g (n)=n1/2
(3) f(n)=1000; g(n)=log10
(4) f(n)= 2n; g(n)= n7
算法分析与设计及案例习题解析
习 题 解 析
第1章
1. 解析:
算法主要是指求解问题的方法。计算机中的算法是求解问题的方法在计算机上的实现。
2. 解析:
算法的五大特征是确定性、有穷性、输入、输出和可行性。
3. 解析:
计算n的算法,其中n是正整数。可以取循环变量i的值从1开始,算i的平方,取平方值最接近且小于或者等于n的i即可。
4. 解析:
可以使用反证法,设i=gcd(m, n)=gcd(n, m mod n),则设m=a*i,n=b*i,且a与b互质,这时m mod n=(a-x*b)*i,只需要证明b和a-x*b互质,假设二者不互质,可以推出a与b不互质,因此可以得到证明。
5. 解析:
自然语言描述:十进制整数转换为二进制整数采用“除2取余,逆序排列”法。
具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
流程图:如图*.1 开始结束输入n长度len=(logn/log2)len>=0len=len-1输出(n>>len)&1)YN
图*.1 十进制整数转换成二进制整数流程图
6. 解析:
a.如果线性表是数组,则可以进行随机查找。由于有序,因此可以进行折半查找,这样可以在最少的比较次数下完成查找。
b.如果线性表是链表,虽然有序,则只能进行顺序查找,从链表头部开始进行比较,当发现当前节点的值大于待查找元素值,则查找失败。
7. 解析:
本题主要是举例让大家了解算法的精确性。过程中不能有含糊不清或者二义性的步骤。大家根据可行的方式总结一下阅读一本书的过程即可。
8. 解析:
数据结构中介绍的字典是一种抽象数据结构, 由一组键值对组成, 各个键值对的键各不相同, 程序可以将新的键值对添加到字典中, 或者基于键进行查找、更新或删除等操作。由于本题已知元素唯一,因此大家可以据此建立一个自己的字典结构。实现字典的方法有很多种:
《算法分析与设计》练习题一答案.docx
《算法分析与设计》练习题一答案
1. 程序书写格式应该遵循哪四个原则?
参考答案:
(1) 正确使用缩进:一定要有缩进,否则代码的层次不明显。
(2) 在一行内只写一条语句。
(3) , '}'位置不可随意放置。
(4) 变量和运算符之间最好加1个空格
2. 什么是算法?
参考答案:
用计算机解决问题的过程可以分成三个阶段:分析问题、设计算法和实现算法。算法可以理 解为冇基本运算及规定的运算顺序所构成的完整的解题步骤,它是求解问题类的、机械的、 统一的方法,它由有限多个步骤组成,对于问题类屮每个给定的具体问题,机械地执行这些 步骤就可以得到问题的解答。或者看成按照要求设计好的有限的确切的计算序列,并且这样 的步骤和序列可以解决一类问题。
3. 什么是线性结构?什么是非线性结构?
参考答案:
线性结构:数据逻辑结构屮的一类。它的特征是若结构为非空集,则该结构有且只有一个开 始结点和一个终端结点,并且所冇结点都冇R只冇一个直接前趋和一个直接后继。线性表就 是一个典型的线性结构。栈、队列、串等都是线性结构。
非线性结构:数据逻辑结构中的另一大类,它的逻辑特征是一个结点可能有多个直接而趋和 直接后继。数组、广义表、树和图等数据结构都是非线性结构。
4. 已知二叉树后序遍丿力序列是DABEC,屮序遍丿力序列是DEBAC,则前序遍历序列是什么?
参考答案:
前序遍历序列是CEDBA
5. 什么是数制?
参考答案:
数制是人们利用符号进行计数的一种科学方法。数制也称计数制,是用一组固定的符号和统 一的规则來表示数值的方法。
6. 如果将十进制数106转换为八进制数,结果是多少?
参考答案:
152
7. 请问查找算法的效率用什么进行度量?
参考答案:
平均查找长度ASL:在查找其关键字等于给定值的过程小,需要和给定值进行比较的关键 字个数的期望值称为查找成功吋的平均查找长度。
AS厶=£皿
/=1
其屮,n是结点的个数;是杳找第i个结点的概率,是找到第i个结点所需要的比较次数。
算法设计与分析习题解答(第2版)
第1章 算法引论11.1 算法与程序1
1.2 表达算法的抽象机制1
1.3 描述算法3
1.4 算法复杂性分析13
小结16
习题17
第2章 递归与分治策略19
2.1 递归的概念19
2.2 分治法的基本思想26
2.3 二分搜索技术27
2.4 大整数的乘法28
2.5 Strassen矩阵乘法30
2.6 棋盘覆盖32
2.7 合并排序34
2.8 快速排序37
2.9 线性时间选择39
2.10 最接近点对问题43
2.11 循环赛日程表53
小结54
习题54
第3章 动态规划61
3.1 矩阵连乘问题62
目 录算法设计与分析(第2版)3.2 动态规划算法的基本要素67
3.3 最长公共子序列71
3.4 凸多边形最优三角剖分75
3.5 多边形游戏79
3.6 图像压缩82
3.7 电路布线85
3.8 流水作业调度88
3.9 0-1背包问题92
3.10 最优二叉搜索树98
小结101
习题102
第4章 贪心算法107
4.1 活动安排问题107
4.2 贪心算法的基本要素110
4.2.1 贪心选择性质111
4.2.2 最优子结构性质111
4.2.3 贪心算法与动态规划算法的差异111
4.3 最优装载114
4.4 哈夫曼编码116
4.4.1 前缀码117
4.4.2 构造哈夫曼编码117
4.4.3 哈夫曼算法的正确性119 4.5 单源最短路径121
4.5.1 算法基本思想121
4.5.2 算法的正确性和计算复杂性123
4.6 最小生成树125
4.6.1 最小生成树性质125
4.6.2 Prim算法126
4.6.3 Kruskal算法128
4.7 多机调度问题130
4.8 贪心算法的理论基础133
4.8.1 拟阵133
4.8.2 带权拟阵的贪心算法134
4.8.3 任务时间表问题137
小结141
习题141
第5章 回溯法146
5.1 回溯法的算法框架146
13级算法设计与分析_课程设计
1 《算法设计与分析课程设计》大纲
一、设计的性质、任务
算法设计与分析课程设计是与对应课程配套的一个实践性教学环节。它是连接算法设计与分析理论教学课程与实际运用的桥梁。学生通过这门课的学习能够更好地掌握算法设计与分析的理论部分的内容,同时将理论运用于实践,提高综合应用算法设计的能力,通过分析算法进而对算法进行优化。经过这一阶段的训练,使学生得到抽象能力、演绎推理能力、综合概括能力的提高。
二 、设计的基本要求
1.充分掌握算法设计与分析理论课的基本内容;
2.每名学生独立完成;
3.学生可从教师提出的课题中选择一个题目。如果学生自命题,学生应在老师的指导下完成题目的选择。所有课程设计完成后应有规范的文档;
4.学生可从不同方式、渠道获取相关知识完成课程设计,但杜绝任何形式的抄袭和剽窃,或他人代做行为;
5.学生应将设计内容按学校规定的格式提交设计报告(包括书面、电子文档各1份);
三、设计内容
参见附件:算法设计与分析课程设计题目
四、成绩考核办法
课程设计成绩=工作态度分(10分)+课程设计内容(75分)+课程设计报告的书写(15分)=100分;
2 附件1:
《算法设计与分析》课程设计要求及题目
一. 课程设计的目的
课程设计的目的是训练学生灵活应用所学的算法设计与分析知识,独立完成问题分析、总体设计、详细设计和编程实现等软件开发全过程的综合实践能力。巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。
二. 课程设计的要求
在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过类的设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备与否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。
浙教信息技术目录及内容结构
小学部分
2023浙教
三年级上册
第一单元 感受信息社会
第1课 认识在线社会
第2课 感知智能生活
第3课 了解信息处理工具
本单元复习与测试
第二单元 获取在线资源
第4课 进入在线平台
第5课 下载平台资源
第6课 查看资源与文件
第7课 分类整理资源
第8课 共享资源途径
本单元复习与测试
第三单元 体验在线生活
第9课 体验在线应用
第10课 绘制在线生活
第11课 关注网络痕迹
第12课 保护数字身份
本单元复习与测试 第四单元 开展在线学习
第13课 分解问题步骤
第14课 在线协作学习
第15课 分享学习成果
本单元复习与测试
三年级下册
第一单元 整理数字资源
第1课 多样的数字资源
第2课 感知媒体编码
第3课 认识媒体类型
第4课 数字资源分类
第5课 应用数字资源
本单元复习与测试
第二单元 创作数字作品
第6课 数字作品面面观
第7课 处理图像素材
第8课 剪辑音频素材
第9课 编辑视频素材
第10课 创作发布作品
本单元复习与测试
第三单元 在线学习小能手
第11课 在线学习工具 第12课 描述主题学习
第13课 资源收集途径
第14课 资源整合加工
第15课 成果分享交流
本单元复习与测试
四年级上册
第一单元 泛在的数据
第1课 身边的数据
第2课 多样的数据
第3课 数据的价值
第4课 数据的安全
本单元复习与测试
第二单元 数据证明观点
第5课 数据获取
第6课 数据整理
第7课 数据计算
第8课 图表呈现
第9课 数据解读与分析
本单元复习与测试
第三单元 身边的编码
第10课 从数据到编码
第11课 有序的世界 第12课 编码长度与信息量
第13课 数据有关联
第14课 编码的规则制订
第15课 编码的验证优化
本单元复习与测试
四年级下册
第一单元 数字世界
第1课 初探数字化
第2课 图像编码
第3课 字符编码
第4课 声音编码
第5课 视频编码
本单元复习与测试
《算法设计与分析》
《算法设计与分析》
实验指导书
曹严元
计算机与信息科学学院
2007年5月 目 录
实验一 递归算法与非递归算法 ............................................................ 2
实验二 分治算法 ...................................................................................... 4
实验三 贪心算法 .................................................................................... 6
实验四 动态规划 .................................................................................... 8
实验五 回溯法 ...................................................................................... 10
实验六 分枝—限界算法 ...................................................................... 13
实验七 课程设计 .................................................................................. 16
实验一 递归算法与非递归算法
实验目的
1. 了解并掌握递归的概念,递归算法的基本思想;
2. 掌握基于归纳法的递归的思想方法;
3. 了解适用于用递归求解的问题类型,并能设计相应递归算法;
4. 掌握递归算法复杂性分析方法,比较同一个问题的递归算法与循环迭代算法的效率。
