算法和算法分析
2021/6/13 20:24:44
本文主要是介绍算法和算法分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 算法的定义:一个通过有限的步骤解决问题的序列
算法的特点:1.输入---------.>0个或0个以上输入
2.输出--------->至少一个输出
3.有穷性------->算法应该执行有穷步后结束,程序则不一样,例如:开车时候,其 传感器需要不断的工作,汽车ECU(汽车电脑)不断分析。
4.确定性------->执行的每一步都应该是确定的 (你说什么他才会干什么,不说清楚就 不干)
5.有效性------->每一步都应该是有用的(正常人不会去吃屎吧,因为你tm有食物
你还去吃,不会吧)
2.算法的评价:
- 1 正确性
- 2 可读性
- 3 健壮性(有一定的容错性不然就直接程序奔溃了,
要有正确引导用户的提醒)
- 4高效性 (时间和空间的牺牲)
3 算法的效率度量
1 时间复杂度(重心)
2 空间复杂度(硬盘技术在不断提高价格降低,已经不在乎了)
时间复杂度的表示法
回想高等数学中的极限发F(x)=5x+3 当x趋于无穷大时忽略系数5和常数3
例:
取最高语句的使用频度本例中即第三行,内循环的循环体
矩阵就是下图中的这样,外循环控制行内循环控制列
每一行中都要循环四次列,由上到下,实际内存是连续的这只是思考
的逻辑模型
空间复杂度
1,输入输出所占用的空间
2,程序本身所占用的空间
3,运行过程中的临时辅助空间
原地工作:辅助空间为常量时
备注(时间,空间复杂度都是按最坏的情况来计算的,
即可能的最长时间,最长空间,就像早上上课只能早到,
而不能迟到要提前预留时间)
时间复杂度从左到右增大
结束
这篇关于算法和算法分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28微服务架构中API版本控制的实践
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南