算法与算法分析标准

算法的定义以及特性

a.算法定义

算法定义:为了解决某类问题的一个有限长的操作序列

b.算法特性

(1)有穷性:算法必须在有穷步后完成而且必须在有穷时间内完成
(2)确定性:每一步操作明确,不会有二义性
(3)可行性:算法的每一步都可以通过以及实现的基本操作算法执行有限次来实现
(4)输入:有0个或者多个输入
(5)输出:有一个或者多个输出(无输出的算法没有意义)

算法的评价标准

a.引言

引言:算法的提出是为了解决问题,既然涉及到解决问题,那么我们就难免涉及到评价,这个算法到底解决问题快不快,实现这个算法有多难等等。

b.评价算法的标准

(1)正确性:能在有限时间内得出正确的结果
(2)可读性:是否便于理解
(3)健壮性:对于一些非法数据是否能够很好的处理
(4)高效性:包括时间和空间两个方面,时间方面通常用时间复杂度衡量,空间方面常用空间复杂度衡量

算法的时间复杂度与空间复杂度

引言:衡量算法的方法主要有两类:

  1. 事后统计法(缺点:必须把算法转化为程序而且结果依赖于计算机软件和硬件,容易掩盖算法本身的优劣)
  2. 事前估计法
    通常采用事前估计法来来衡量算法效率。

a.时间复杂度

(1)相关定义
问题规模:问题的数量级大小,是输入量的多少,是问题大小的本质表示
语句频度:一条语句的重复执行次数
基本语句:算法中重复执行次数
(2)时间复杂度
在这里插入图片描述
在这里插入图片描述

(3)常见的时间复杂度阶数
在这里插入图片描述
复杂度比较:

在这里插入图片描述

(5)最好与最坏时间复杂度以及平均复杂度
最好与最坏:算法在最好情况下的复杂度是最好时间复杂度,在最坏情况下的时间复杂度为最坏时间复杂度。
平均复杂度:在所有可能情况下,按照输入实际例子等概率出现,计算加权平均值

b.空间复杂度

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值