欢迎来到天天文库
浏览记录
ID:30130556
大小:146.54 KB
页数:9页
时间:2018-12-27
《[计算机]计科班算法设计与分析复习资料》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.算法:是若干条指令组成的有穷序列2.算法的三个要素1)数据:运算序列中作为运算对象和结果的数据.2)运算:运算序列中的各种运算:赋值,算术和逻辑运算3)控制和转移:运算序列中的控制和转移.四条性质:输入、输出、确定性、有穷性3.四条性质:1)输入:有零个或多个由外部提供的量作为算法的输入2)输出:算法产生至少一个量作为输出3)确定性:组成算法的每条指令是清晰的,无歧义的。4)有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。4.程序:是算法用某种程序设计语言的具体实现5.算法的复杂性:算法运行所需要的计算
2、机资源的量时间复杂性(算法运行所需要的计算机时间资源的量)空间复杂性(算法运行所需空间资源的量)时间复杂性的三种情况:最坏情况(可操作性最好且最优实际价值)、最好情况、平均情况6.分治法的设计思想:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。7.递归:直接或间接地调用自身的算法。递归函数:用函数自身给出定义的函数。8.阶乘函数可递归定义为:递归定义式:intfactorial(intn){if(n==0)return1;returnn*factorial(n-1);}9.Fibonacci数列
3、:无穷数列1,1,2,3,5,8,13,21,34,5,…,可递归定义为递归定义式:intfibonacci(intn){if(n<=1)return1;returnfibonacci(n-1)+fibonacci(n-2);}10.Hanoi塔定义式:voidhanoi(intn,inta,intb,intc){if(n<0){hanoi(n-1,a,c,b);move(a,b);hanoi(n-1,c,b,a);}}11.二分搜索算法的基本思想:是将n个过元素分成大致相同的两半,取a[n/2]与x作比较。12.合并排序:用分治
4、法策略实现对n个元素进行排序的算法。基本思想是:将待排序元素分成大小大致相同的两个子集,分别对两个子集合进行排序,最终将排好序的子集合并成所要求的排好序的集合。13.动态规划算法基本思想(自底向上、全局最优):讲带求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是:适用于动态规划法求解的问题,经分解得到的子问题往往不是互相独立的。最优子结构性质(问题的最优解包含了其子问题的最优解)子问题重叠性质(在用递归算法自顶向下求解此问题时,每次产生的子问题并不总是新问题,有些子问题被反复计算多次
5、)备忘录方法(动态规划算法变形):用表格保存已解决的子问题的答案,在下次需要解此子问题时,只要简单地查看该子问题的解答,而不必重新计算。1.最优二叉搜索树性质:存储于每个结点中的元素x大于其左子树中任一结点所存储的元素,小于其右子树中任一结点所存储的元素。2.贪心算法(自顶向下、局部最优):通过一系列的选择来得到问题的解。它所做的每一个选择都是当前状态下局部最好选择。贪心选择性质(所求问题的整体最优解可以通过一系列局部最优的选择来达到,是贪心算法与动态规划算法的主要区别)最有子结构性质(一个问题的最优解包含其子问题的最优解)3.哈
6、夫曼编码:是广泛用于数据文件压缩的十分有效的编码方法。4.最短路径:给定一个,其中每条边的权是非负实数。一个带权有向图111111006010301050205.最小生成树性质:用贪心算法设计策略可以设计出构造最小生成树的有效算法。6.回溯法(盲人爬山、迷宫问题、n后问题):在解问题的解空间树中,按深度优先策略,从根节点出发搜索解空间树。7.基本思想:从开始结点(根节点)出发,以深度有限方式搜索整个解空间。8.分枝限界法基本思想:以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。分枝限界法求解目标是找出满足约束条件的
7、一个解,或是满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。回溯法求解目标是找出解空间中满足约束条件的所有解。9.批处理作业调度:给定n个作业的集合J=(J1,J2,…,Jn)。每个作业Ji都有两项任务分别在两台机器上完成。每个作业必须先由机器1处理,然后再由机器2处理。10.分支限界法与回溯法:分支限界法与回溯法的求解目标不同,回溯法的求解目标是找出求解空间中满足约束条件的所有解,而分支限界法求解的目标则是找出满足约束条件的一个解。回溯法以深度优先的方式搜索解空间,而分支限界法则以广度优先或最小
8、耗费优先的方式搜索空间。11.随机化算法基本特征:对所求解问题的同一实例用同一随机化算法求解两次可能得到完全不同的效果。随机数在随机化算法设计中扮演着十分重要的角色。符号三角问题:#include#defineM13#define
此文档下载收益归作者所有