- 5
- 0
- 约7.98千字
- 约 60页
- 2016-12-12 发布于重庆
- 举报
* main() {float a,b,c,d,x1,x2; cinabc; d=b*b-4*a*c; if(d0){ x1=(-b+sqrt(d))/(2*a);x2=(-b+sqrt(d))/(2*a);coutx1x2;}else if (d==0){ x1=x2=-b/(2*a);coutx1x2;}elsecout无实根; } 自然语言描述的算法 C语言描述的算法 1. 输入a,b,c 2. 数据变换 3. 输出x1,x2 2-1. 计算判别式d 2-2. 根据d的值进行不同处理 2-2-1:if d0x1=…x2=…2-2-2:if d=0x1=x2=…2-2-3:if d0…. * 二、算法的特性 确定性:每一种运算必须要有确切的定义,无二义性 能行性:运算都是基本运算,原理上能在有限时间内完成 输入:有0个或多个输入 输出:一个或多个输出 有穷性:在执行了有穷步运算后终止 * 三、算法化求解问题的过程 * 四、算法的描述 流程图 伪代码 程序设计语言 * 五、算法设计策略 Brute force Divide and conquer Decrease and conquer Transform and conquer Greedy approach Dynamic programming Backtracking and Branch and bound Space and time tradeoffs * 六、算法的评价衡量算法优劣的标准 正确性(correctness) 可读性(readability) 健壮性(robustness) 效率 * 4.2 算法效率分析 算法有关的问题: 正确性 时间效率 空间效率 最优性(算法优化) 方法: 理论分析 经验分析 算法复杂性是算法运行所需要的计算机资源的量. 资源:时间资源、空间资源 这个量应该只依赖于算法要解的问题的规模、算法的输入和算法本身的函数。如果分别用N、I和A表示算法要解问题的规模、算法的输入和算法本身,而且用C表示复杂性,那么,应该有C=F(N,I,A)。 一般把时间复杂性和空间复杂性分开,并分别用T和S来表示,则T=T(N,I)S=S(N,I) 。 (通常,让A隐含在复杂性函数名当中) * 一. 算法的理论分析框架 * 问题的规模基本操作 问题规模 几乎所有的算法,对于规模更大的输入数据量,都需要更长的运行时间。 例如,100个数据的排序比10个数据的排序时间要长;2个10阶矩阵的相乘与2个3阶矩阵相乘所需时间要长。 基本操作 * 问题 输入规模的度量 基本操作 在有n个元素的表中搜索关键字 表中元素个数 n 关键字比较 两个浮点数矩阵相乘 矩阵维数 浮点数相乘 计算 an N 浮点数相乘 图问题 顶点数和/或边数 顶点或边的遍历 输入规模和基本操作示例 * 增长量级(速度) 执行时间与问题规模的关系 T=T(n) * 最坏、最好、平均情况效率 在很多情况下,基本操作执行次数不仅仅与输入数据规模有关,而且还与输入数据的原始组织方式有关。 最好情况时间复杂度 最坏情况时间复杂度 平均情况时间复杂度 * 时间复杂度函数的渐进阶 引入三个新概念: 大 O(f(n))记号==》上界 大Ω(f(n))记号==》下界 大Θ(f(n))记号==》上界和下界之间 最坏情况时间复杂度: * 例:线性表的顺序查找算法 算法:顺序查找算法 int SeqSearch(A[1..n],Key) {i=1; while(i=n A[i]=!Key)i=i+1; if i=n return i; else return -1; } 1.本算法的基本操作比较操作 2.问题的输入规模线性表的大小n 线性表A[1..n]的结构不同,要查找的关键字key的值不同,则基本操作执行次数也是不一样的。 * 最坏情况:Tworst(n)=n 最好情况:Tbest(n)=1 平均情况: 查找成功的概率是p(0p1) 线性表中的每个元素以相同的概率被匹配 平均情况下基本操作的次数* 二. 非递归算法的数学分析 分析非递归算法效率的一般步骤 决定用哪个输入参数作为输入规模的度量 找出算法的基本操作(作为一个规律,基本操作总是位于算法的最内层循环中) 检查基本操作的执行次数是否只依赖于输入规模。如果还依赖于一些其它特性,则最差效率、平均效率、以及最优效率需要分别研究。 建立一个算法基本操作执行次数的求和表达式 利用求和的标准公式建立增长次数的计算公式,或增长阶数公式 * 例:验证给定数组的元素是否唯一 int uniqElement(A[0..n]) { for(i=1;i=n-2;i++)for(j=i+1;j=
您可能关注的文档
- 《我与地坛》苏北中学余铄珣1.ppt
- 《我为何而生》课件3.ppt
- 15植物生殖方式的多样性.ppt
- 15工作不息.ppt
- 15南亚印度.ppt
- 《我们周围的废弃物》教学设计.doc
- 《我们家的男子汉》教学设计【苏教版七年级下册】(4页).doc
- 17第三单元-第二章-第二节-植株的生长.ppt
- 《我们成功了》PPT.ppt
- 《我们的知识是有限的》课件4(阅读).ppt
- 抚顺石化工贸中心资金控制体系优化研究:理论、实践与创新.docx
- 探秘中华通草蛉滞育发育:生殖生物学特征与调控机制.docx
- 稀有鮈鲫受精机制及影响因素的深度剖析.docx
- 从美国强制反诉制度探寻我国民事诉讼反诉制度的革新路径.docx
- 中国职业足球管理体制:演进、困境与突破路径探究.docx
- 论我国网上个体经营活动法律规制的完善与实践.docx
- 论取保候审期间脱逃后又归案的自首认定困境与出路.docx
- 动调陀螺赋能双轴稳定平台控制系统的关键技术与优化策略研究.docx
- 论我国犯罪被害人国家补偿制度的构建与完善:法理、实践与发展路径.docx
- 光纤光栅传感监控软件:原理、应用与创新发展研究.docx
最近下载
- 实验室内电气安全培训课件.pptx VIP
- 护理伦理与法规课程标准.doc VIP
- 远信工业股份有限公司年产200台热风拉幅定形机建设项目 环评报告表.pdf VIP
- 2025年下半年中小学教师资格考试语文学科知识与教学能力真题(初级中学)附参考答案.docx VIP
- 质量管理体系检查登记表.docx VIP
- 安徽镜湖总部经济园建设项目可行性设计方案.doc VIP
- 2026年春教科版(新教材)小学科学二年级下册(全册)教学设计(附目录P91).pdf
- 给排水工程施工课件.pptx VIP
- 实验室安全用电培训课件.ppt VIP
- 综合应用能力事业单位考试(医疗卫生类E类)试题与参考答案(2025年).docx VIP
原创力文档

文档评论(0)