单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级《算法艺术与信息学竞赛》标准课件递归与分治(二)刘汝佳目录一Karatsuba快速乘法二Strassen矩阵乘法三求解线性递推方程四快速排序五求k大元素六最近点对问题一 Karatsuba快速乘法给两个n位数 计算它们的乘积分析类似于Strassen矩阵乘法 先写成递归形式容易得到下面的过程 T(n)=4T(n2)O(n) 因
算法分析初步一个更复杂的例子复杂度的等级算法一分析(续)算法三分析总结分治
本系列教学幻灯片属于刘汝佳黄亮著《算法艺术与信息学竞赛》配套幻灯片本幻灯片可从本书blog上免费下载即使您并未购买本书. 若作为教学使用欢迎和联系以取得技术支持也欢迎提供有不同针对性的修改版本方便更多人使用有任何意见欢迎在blog上评论Blog地址:图的基本概念(1)割顶和桥的判定(重点)无向图的LOW函数割顶条件和割顶判定算法桥条件和桥判定算法BCC划分六最短路最小生成树
T(n2)算法总体思想n2n2将求出的小规模的问题的解合并为一个更大规模的问题的解自底向上逐步求出原来问题的解T(n4)T(n4)=T(n4)T(n4) 递归的概念递归方程本例中的Ackerman函数却无法找到非递归的定义在问题规模较大时较难找到一般的方法因此我们尝试用递归技术来解决这个问题缺点:递归算法的运行效率较低无论是耗费的计算时间还是占用的存储空间都比非递归算法要多分治法的适用条件人们从
简单地说递归就是用自己来定义自己一般地说一个递归过程P可以表示为基语句S(不含P)和P自身的组合β:P ? β(S P)这样的表示包含了过程不终止的可能因此递归算法应更准确地表述为Hanoi塔问题(3)最后将C上的n–1个盘移至B 常见的递归形式例如ρ(6) = 11 即整数6的划分数为11种: 6 51 42 411 33 321 3111 222 2211 21
#
算法设计与分析 Design and Analysis ofputer Algorithm第四章 贪心算法算法设计与分析 > 算法概述4)算法的正确性证明令 N:问题的规模 I:输入数据 A:算法本身 则算法的复杂性 C=F (NIA)最好情况:Tmin(N) = T(NI) = =
简单地说递归就是用自己来定义自己一般地说一个递归过程P可以表示为基语句S(不含P)和P自身的组合β:P ? β(S P)这样的表示包含了过程不终止的可能因此递归算法应更准确地表述为Hanoi塔问题(3)最后将C上的n–1个盘移至B 递归方法小结通常递归元的递减方式有两种:= ak ai D(n – ib) = akT(1) ai D(n bi)202339
递归与分治:姜韶增 :0212747导师:魏宗寿递归算法的特点 递归算法是一种直接或者间接地调用自身的算法。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。直接或间接地调用自身的算法称为递归算法。用函数自身给出定义的函数称为递归函数。递归阶乘函数阶乘函数可递归地定义为:递归方程边界条件边界条件与递归方程是递归函数的二个要素,递归函数只有具备了
算法竞赛-入门经典-刘汝佳.doc第1部分 语 言 篇第1章 程序设计入门学习目标熟悉C语言程序的编译和运行学会编程计算并输出常见的算术表达式的结果掌握整数和浮点数的含义和输出方法掌握数学函数的使用方法初步了解变量的含义掌握整数和浮点数变量的声明方法掌握整数和浮点数变量的读入方法掌握变量交换的三变量法理解算法竞赛中的程序三步曲:输入计算输出记住算法竞赛的目标及其对程序的要求计算机速度快
违法有害信息,请在下方选择原因提交举报