幽魂倪

导航

随笔分类 -  算法分析

主要用C语言描述
算法分析 八: 总结补充补充
摘要:一.分治算法 一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序, 阅读全文

posted @ 2020-06-04 15:12 幽魂倪 阅读(185) 评论(0) 推荐(0) 编辑

算法分析五:贪婪算法
摘要:一.贪婪算法 二.经典例题 1.找零问题 问题:假如有100元,有1元,5元,8元,18元,请问找零的最小张数? 分析:找零问题可以考虑动态规划问题(前n种纸币最少的找零张数)。贪婪算法:在不大于100的情况下,那币值越大的纸张越好。(首先对找零钱的币值大小排序:有大到小) 如题,100中先拿18元 阅读全文

posted @ 2020-05-12 19:18 幽魂倪 阅读(620) 评论(0) 推荐(0) 编辑

算法分析四:动态规划
摘要:一.动态规划基本结构 二.典型例题 2.1 矩阵链 问题:给定一个n个矩阵的矩阵链,矩阵的维度为 (1 ≤ i ≤ n),求一个最优的加括号方案,使得计算矩阵乘积所需要的标量乘法次数最少。 解法:1.穷举法: 定义T(N)是顺序的个数,则T(N)=Σ(i=1,N-1)T(i)T(N-i),有cata 阅读全文

posted @ 2020-04-25 22:54 幽魂倪 阅读(471) 评论(0) 推荐(0) 编辑

算法分析三:分治策略
摘要:一.基本结构图 二.典例 1.以斐波那契递归为例: Fibonacci(int n) { if (n==1||n==0) return 1; // basis else return Fibonacci(n-1)+Fibonacci(n-2);//递归进行 } 我们找到了解决斐波那契数的方法,但是通 阅读全文

posted @ 2020-03-31 11:30 幽魂倪 阅读(449) 评论(0) 推荐(0) 编辑

算法分析二:基础知识 数列求和方法以及递推方程的求解
摘要:一.基础数学知识 1.数列求和 等差数列求和:Sn=n(a1+an)/2 等比数列求和: 无穷级数:等比求和 q(公比)<1,结果为 1/1-q. 二.递归方程有关问题 1.如何归纳一个算法 要了解这个算法的步骤,再根据实际的时间进行归纳。 例:hanoi塔,n!,合并排序算法,finbo。 han 阅读全文

posted @ 2020-03-19 19:09 幽魂倪 阅读(980) 评论(0) 推荐(0) 编辑

算法分析一:基本定义
摘要:这一章我们主要讨论 1.如何估计一个程序所需要的时间。 2.如何将一个程序的运行时间从天或年降低到秒。 3.粗心地使用递归的后果。 4.将一个数自乘得到其幂以及计算两个数的最大公因数的非常有效的算法。 一.所需了解的五个定义 1.定义:Ο(g(n))={f(n) | 如果存在正常数c和正整数n0,使 阅读全文

posted @ 2020-03-12 22:01 幽魂倪 阅读(232) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示