前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >时间复杂度

时间复杂度

作者头像
名字是乱打的
发布2022-05-13 10:18:41
3930
发布2022-05-13 10:18:41
举报
文章被收录于专栏:软件工程

算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

算法复杂度分为时间复杂度空间复杂度其作用:

  • 时间复杂度是指执行算法所需要的计算工作量
  • 空间复杂度是指执行这个算法所需要的内存空间

常数时间的操作:一个操作如果和数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作

时间复杂度为一个算法流程中,常数操作数量指标。常用O(读作big O)来表示。 具体来说,在常数操作数量的表达式中,

举个栗子 一个普通N个数字的从小到大排序 a1,a2,a3,a4,a5,a6,a7 每次排序找到最小值放在前面 第一次需要遍历N-1遍取比较得到最小值放在首位 第二次遍历除了第一位的剩下值,需要遍历N-2遍取比较得到最小值放在第二位, 第三次遍历除了前两位的剩下值,需要遍历N-3遍取比较得到最小值放在第三位, 以此大概需要(N-1+N-2+N-3+N-4....+3+2+1)次,每次操作是一个常数时间操作记为O(1)(读作bigO(1)) 所以整个时间化简复杂度应该是(N^2 /2+N+1)*O(1),也就是(aN^2+bN+1)*O(1)

这次算法时间复杂度应去掉低阶项bN+1和N的系数A f(N)=N^2, O(f(n))=O(N^2)

评价一个算法流程的好坏时间复杂度的指标,然后再分析不同数据样本下的实际运行时间,也就是常数项时间。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档