北京工业大学算法分析与设计一纸开卷资料

北京工业大学算法分析与设计一纸开卷资料

ID:33455268

大小:475.00 KB

页数:2页

时间:2019-02-26

北京工业大学算法分析与设计一纸开卷资料_第1页
北京工业大学算法分析与设计一纸开卷资料_第2页
资源描述:

《北京工业大学算法分析与设计一纸开卷资料》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、如果f(n)=O(s(n))并且g(n)=O(r(n)),则f(n)+g(n)=O(s(n)+r(n))如果f(n)=O(s(n))并且g(n)=O(r(n)),则f(n)*g(n)=O(s(n)*r(n))根据符号O的定义,存在正常数C1,C2和自然数N1,N2,使得对所有的n>=N1,f(n)<=C1s(n);对所有的n>=N2,g(n)<=C2r(n)所以f(n)+g(n)<=C1s(n)+C2r(n),f(n)*g(n)<=C1C2s(n)r(n);令C3=max(C1,C2),C4=C1*C2;则:f(n)+g(n)<=C3[

2、s(n)+r(n)]=O(s(n)+r(n))f(n)*g(n)<=C4*s(n)*r(n)=O(s(n)*r(n))试说明为什么“在现代计算机上运行指数(如2n)时间算法是不可能的,要想在顺序处理机上扩大所处理问题的规模,有效的途径是降低算法计算复杂度的数量级,而不是提高计算机的速度”。一个计算时间为Ο(1)的算法,它的基本运算执行的次数是固定的,因此,总的时间由一个常数(即零次多项式)来限界,而一个时间为Ο(n2)的算法则由一个二次多项式来限界。当数据集的规模(即n的取值)很大时,要在现代计算机上运行具有比O(nlog2n)复杂度还

3、高的算法是很困难的,尤其是指数时间算法,它只有在在n值取得非常小的时候才实用。例:假设解决同一个问题的两个算法,它们都有n个输入,计算时间的数量级分别是n^2和nlogn.则N=1024,分别需要1048576和10240次运算。N=2048:分别需要4194304和22528次运算。由此,在n加倍的情况下,一个O(n^2)的算法计算时间增长4倍,而一个O(nlogn)算法则只用两倍多一点的时间。所以数量级的大小对算法的有效性有决定性的影响。尽管通过提高计算机的速度比之前快1000倍,甚至10000倍,但当指数规模的n足够大时,n每增加

4、1,1000倍的提速即可瞬间化为乌有。1、什么是计算机科学中所说的“算法(algorithm)”?算法是一种描述程序行为的语言,是满足下述性质的指令序列。有限性:每条指令的执行次数、时间有限确定性:每条指令有确定的含义、无歧义输入:0个或多个输入输出:1个或多个输出2、满足何种性质的问题被称为称为NP完全问题?请简述研究NP完全问题的意义;(1)NP即是多项式复杂程度的非确定性问题。而如果任何一个NP问题都能通过一个多项式时间算法转换为某个NP问题,那么这个NP问题就称为NP完全问题。如果一个NP完全问题能在多项式时间内得到解决,那么N

5、P中的每一个问题都可以在多项式时间内解决。(2)它可以在多项式时间内求解,当且仅当所有的其他的NP-完全问题也可以在多项式时间内求解。这样一来,只要我们找到一个NPC问题的多项式解,所有的NP问题都可以多项式时间内划归成这个NPC问题,再用多项式时间解决,这样NP就等于P了.知道一个问题是NP完全的就给我们提供了有价值的信息,告诉我们采用什么样的途径可以是最富有成效的。简言之,NP完全性理论的初步应用是帮助算法设计人员找到最有可能得到有用的算法的努力方向3、“当问题的最优解包含了其子问题的最优解时,称该问题具有最优子结构性质”。问题的最

6、优子结构性质是该问题可用动态规划算法求解的基本要素,试简要阐述“论证某一问题的最优子结构性质”时的一般方法;矩阵连乘计算次序问题的最优解包含着其子问题的最优解。这种性质称为最优子结构性质。首先假设由问题的最优解导出的子问题的解不是最优的,然后再设法说明在这个假设下可构造出比原问题最优解更好的解,从而导致矛盾。利用问题的最优子结构性质,以自底向上的方式递归地从子问题的最优解逐步构造出整个问题的最优解。最优子结构是问题能用动态规划算法求解的前提。1、棋盘覆盖问题第2页共2页2、使用一个快速排序的迭代模型可以使原递归算法所需的栈空间总量减至O

7、(logn)。试设计这一迭代模型(算法)。(18分)3、社会名流问题给定一个n×n邻接矩阵,确定是否存在一个i,其满足在第i列所有项(除了第ii项)都为1,并且第i行所有项(除了第ii项)都为0。大致的算法思路:随便取一个非对角线元素比如Array[i][j],如果Array[i][j]=0成立,则j不是社会名流,于是删去第j行和第j列。同样,如果Array[i][j]=1成立,则删去第i行和第i列;总之,无论对应项取何值,都可以删去一行和一列,因此整个操作只耗费O(n)的时间。重复此操作直至剩下最后一个元素。最后,检验该元素是否为社会

8、名流即可。如果该元素不是,则该群人中不存在社会名流。补充:1假设某算法在输入规模为n时的计算时间为:T(n)=3*2n,在A型计算机上实现并完成该算法的时间为t秒,现有更先进的B型计算机,其运算速度为A型计

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。