[数据结构]算法基本概念和推导大O阶步骤

来源:互联网 发布:淘宝助理5天猫用不了 编辑:程序博客网 时间:2024/06/05 08:49

算法的定义和特性

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作

算法有5个基本特性:

特性 特性描述 输入输出 算法具有零个或多个输入,至少有一个或多个输出 有穷性 指算法在执行有限个步骤之后,自动结束而不会出现无限循环,并且每个步骤在可接受时间内完成 确定性 算法的每一个步骤都具有确定的含义,不会出现二义性 可行性 算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成

算法设计的要求

要求 要求描述 正确性 算法的正确性是指算法至少应该具有输入、输出和加工处理无歧义性,能正确反映问题的要求、能够得到问题的正确答案 可读性 算法设计的另一目的是为了便于阅读,理解和交流,可读性是算法好坏的重要标志 健壮性 当输入数据不合法时,算法也能做出相关的处理,而不是产生异常或莫名其妙的结果 时间效率高和存储量低 这一点是毋庸置疑的…

推导大O阶方法

算法时间复杂度,也就是算法的时间量度。记作:T(n)=O(f(n))。表示随问题规模n的增大,算法执行的时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称为时间的复杂度。其中f(n)是问题规模n的某个函数。一般情况下,都是指最坏时间复杂度。

推导大O阶方法:

  1. 用常数1取代运行时间中的所有加法常数
  2. 在修改后的运行次数函数中,只保留最高项
  3. 如果最高项存在且不是1,则去除与这个项相乘的常数

常见的时间复杂度消耗时间的大小排列:

O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 支付宝好友没了怎么办 手机qq好友头像没了怎么办 微信语音变成听筒模式怎么办 微信语音为听筒模式怎么办 微信设置成听筒模式怎么办 微信验证看不全怎么办 qq看视频无法放大怎么办 苹果6功能键坏了怎么办 qq显示不了头像和图片怎么办 关于学校随便更换老师家长怎么办 qq群昵称改不了怎么办 电脑qq群视频进不去怎么办 微信头像没保存怎么办 qq群信息不响怎么办 微信封面换不了怎么办 微信头像没有了怎么办 科二超过5次怎么办 蘑菇街个人中心打不开怎么办 蘑菇街的个人中心打不开怎么办 qq群500人满了怎么办 微信零钱发不出来怎么办 微信零钱发不出去怎么办 微信零钱发不了红包怎么办 当亲戚孤立你该怎么办 陌陌好友找不到了怎么办 换了手机号陌陌号找不到怎么办 微信解析包出现问题怎么办 老板找借口不发工资怎么办 苹果手机忘记id帐号密码怎么办 苹果6手机帐号密码忘记怎么办 狗狗在窝里撒尿怎么办 爸妈和媳妇不好怎么办 如果老婆不用老公的钱怎么办 老公不给老婆钱花怎么办 奶少孩子不愿意吸怎么办 孩子识字少不愿意读书怎么办 夏天孩子不愿意喝水尿量少黄怎么办 孩子不喜欢与别人沟通怎么办 异地恋他爸妈不同意怎么办 刚装修家里很臭怎么办 狗弄得家里很臭怎么办