算法导论及时间复杂度介绍

1 导学

1.1 算法的基本概念

算法设计模式:

  • 暴力求解(Brute force)
  • 分治法(Divide and conquer)
  • 贪婪算法(Greedy approach)
  • 动态规划(Backtracking)
  • 回溯法(Branch and bound)
  • 分支界限法(Randomized algorithm)等

算法:算法是借助计算机解决问题的方法,是有限条确定性指令的序列

算法的性质:输入、输出、确定性、有限性

算法的描述方式:自然语言、数学公式、流程图、伪代码、程序设计语言

算法的评价方法: 正确性、有效性、易理解、易实现、通用性

例子:最大公约数
暴力解法:取min(a,b),从大到小尝试,直到两个数均可被整除。
欧几里得:max%min==0?result=min : result=(max%min和min的最大公约数)

1.2 算法复杂度

算法复杂度分析的三种情形

  • 最好情形(Best case)
  • 最差情形(Worst case)
  • 平均情形(Average case)

例如:二分查找(Binary search)的时间复杂度&#

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值