赞
踩
设么是算法? 什么是好的算法/
量水的问题:
方案如下:(核心思路就是两个桶差值为2,两次差值为4,7-(5-4) = 6)
算法:准确描述的 “操作步骤 (问题求解步骤)”,相关人对其中的含义要有一直的理解。
求圆周率的问题:
算法描述:面向某个问题求解的步骤,
算法设计:给出这样的求解步骤
常用的算法描述的方式:
- 自然语句
- 流程图
- 伪代码
算法描述小结:
将问题求解的过程,以操作步骤为单位,清晰准确的写下来:
- 让目标读者看得懂
- 便于分析算法的性质
- 如果需要的话,有助于用程序实现
一般从两个维度:
1. 是否达到目的? (正确性问题)
- 给出满足要求的结果 (输出)
- 是否结束
2. 效果如何 (效率)?
- 时间效率和控件效率 (语句执行次数)
- 与最优解的差距(如果存在的话)
1. 从复杂性分:多项式算法, 指数算法
- 1, log(n)(多项式算法); n,n*log(n) (指数算法);
2. 从应用场景分:数值计算, 非数值计算
- 数值计算(方法):主要目的在于模拟与仿真,强调收敛与误差的概念
- 非数值计算:不是计算过程不涉及数值,而是主要目的在于搜索,推理,决策,规划等需求的满足
3. 从设计方法论分:枚举, 贪心, 分治,动态规划, 启发式, 回溯
4. 从数据存储的介质分:内存算法, 外存算法,
- 主要却别在于随机访问数据的时间相等假设是否成立
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。