- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章算法概述
1、1算法与程序
算法:是由若干条指令组成的的有穷序列,且满足下述儿条性质
输 入:有零个或多个外部量作为算法的输入。
输 出:算法产生至少一个量作为输出。
确定性:组成算法的每条指令淸晰、无歧义。
有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限。
程序:是算法用某种程序设计语言的具体实现。
程序可以不满足算法的性质(4)即有限性。
1、2算法复杂性分析
算法复杂性:是算法运行所需要的计算机资源的量,需要时间资源的量称为时间复杂性,需 要的空间资源的量称为空间复杂性。
这个量应该只依赖于算法要解的问题的规模、算法的输入和算法本身的函数。
算法复杂性的函数表示:
如果分别用N、I和A表示算法要解问题的规模、算法的输入和算法本身,而且用C表示复 杂性,那么,应该有C=F(N,I,A)o
一般把时间复杂性和空间复杂性分开,并分别用T和S来
表示,则有:T=T(N,I)和S=S(N,I) o (通常,让A隐含在复杂性函数名当中)
我们只考虑三种情况下的吋I可复杂度:
最坏情况下:
T証冈=曾 T(NJ) = max 工?阳(N.I) = £ 佔(N,门=
疋乩 圧鸟,=1 2-1
最好情况下:
T^(N)二 mm T(NJ) = n)ni £亿(NJ) = f g(NJ) = f (N,I)
胆 2 圧 Q* 2=1 2=1
平均情况下:
J(N)二工 p⑴丁(N、D =工卩
/ePv 2=1
其中Dn是规模为N的合法输入的集合;I*是Dn中使T(N, I*)达到Tmax(N)的合法输入; 是 中使T(N,)达到Tmin(N)的合法输入;而P(l)是在算法的应用中出现输入I的槪率。
算法复杂性在渐近意义下的阶:
渐近意义下的记号:O、Q、8、o
设f (N)和g (N)是定义在正数集上的正函数。
0的定义:如果存在正的常数C和自然数No,使得当NNo时有f (N)£Cg(N),则称函数f(N) 当N充分大时上有界,且g(N)是它的一个上界,记为f (N)二0(g(N))。即f (N)的阶不高于g(N) 的阶。
根据0的定义,容易证明它有如下运算规则:
(1 )O(f)+O(g)=O(max(f,g));
O(f)+O(g)=O(Rg);
O(fO(g)=O(fg);
如果 g(N)=O(f(N)),则 O(f)+O(g)=O(f);
O(Cf(N))=O(f(N)),其中C是一个正的常数;
⑹ f=O(f)。
Q的定义:如果存在正的常数C和自然数No,使得当N二No时有f(N)=Cg(N),则称函数f (N) 当N充分大时下有界,且g(N)是它的一个下界,记为f (7) = Q(g(N))。即f(N)的阶不低于 g(N)的阶。
0的定义:对于任意给定的e 0,都存在正整数No,使得当屮N0时有f(N)/Cg(N)£ e ,则称 函数f (N)当N充分大时的阶比g (7)低,记为f (N)二0(g(N))。
。的定义:定义 f(N)= 0 (g(N))当且仅当 f(N)=O(g(N))且 f(N)二 Q(g(N))。此吋称 f(N) 与g(N)同阶。
例如,4NlogN+7二0(3N2+4NlogN+7)。
第2章递归与分治策略
算法总思路:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,分而治 之。对这k个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如 此递归的进行下去,直到问题规模足够小,很容易求出其解为止。将求出的小规模的问题的 解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解。将求出的小规模的问 题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解。
2、1递归的概念
直接或间接地调用自身的算法称为递归算法。
用函数自身给出定义的函数称为递归函数。
由分治法产生的子问题往往是原问题的较小模式,这就为使用递归技术提供了方便。在 这种情况下,反复应用分治手段,可以使子问题与原问题类型一致而其规模却不断缩小,最 终使子问题缩小到很容易直接求出其解。这自然导致递归过程的产生。
例1
例1:阶乘函数
I J 1 7? = 0 边界条件
[〃(〃一1)! 72 0 递归方程
边界条件与递归方程是递归函数的二个要素,递归函数只有具备了这两个要素,才能在有限 次计算后得出结果。
递归函数
int Factorial(int n)
{
if(n==0) return 1;
return n*Factorial(n-1);
}
例 2: Fibonacci 数列
无穷数列1, 1, 2, 3, 5, 8, 13, 21, 34, 55,…,被称为Fibonacci数列。它可以递归
地定义为:
n = 0
n = 0 [
n = l p—边界条件
斤1
您可能关注的文档
- 粮食监督检查和行政处罚文书.docx
- 粮食输送机械设备项目立项申请报告.docx
- 粮食微生物与出粮害虫关系.docx
- 粮油机械连筒散装粮食扦样器征求意见稿.docx
- 粮油加工学习题库.docx
- 粮油项目投资分析报告.docx
- 粮油项目投资计划书.docx
- 米醋生产建设项目投资意向书.docx
- 米东区热电联产集中供热的发展战略.docx
- 米豆腐干项目投资分析报告.docx
- 2025年无人机低空医疗物资投放社会效益报告.docx
- 2025年再生塑料行业包装回收利用产业链重构研究.docx
- 《AI眼镜周边产品市场机遇:2025年终端销售与需求增长洞察》.docx
- 2025年坚果加工行业深加工技术突破与市场拓展策略报告.docx
- 2025年通信芯片行业技术竞争与未来趋势报告.docx
- 《2025年生鲜电商配送冷链事故分析与预防措施》.docx
- 《商业航天融资新趋势2025民营卫星企业资本涌入估值分析市场动态》.docx
- 2025年能源绿色健康行业创新技术与市场应用报告.docx
- 2025年无人机低空医疗救援通信方案分析报告.docx
- 2025年烹饪机器人行业市场集中度分析报告.docx
最近下载
- 中国马克思主义与当代 2024版 教材课后思考题答案.docx
- 人工智能推动医学研究的创新突破.pptx VIP
- 玄隐遗密(含黄帝内经).pptx VIP
- 《社会调查研究与方法》期末复习考试题库(带答案).docx VIP
- 创业基础(暨南)中国大学MOOC慕课 章节测验期末考试答案(期末考试题目从章节测验中选出,题目没对上,可以在章节测验中查找).docx VIP
- 消防中级维保考试题库2000题.pdf
- 眼的解剖与生理.ppt VIP
- 上汽荣威R550维修手册1_描述与运作 ——原厂 2009 390 页 pdf.pdf VIP
- 学习华为:以客户为中心的营销体系.pptx VIP
- 家长会心得体会五年级简短9篇.docx VIP
原创力文档


文档评论(0)