算法和算法评价

本文介绍了算法的基本概念,包括五个必要条件:有穷性、确定性、可行性、输入和输出,并强调了好算法应具备的正确性、可读性和健壮性。此外,讨论了算法效率的度量,如时间复杂度的计算方法,以及衡量辅助空间需求的空间复杂度。通过加法和乘法规则阐述了如何分析时间复杂度。
摘要由CSDN通过智能技术生成

目录

一、算法的基本概念

1、五个重要特性(并非用来定义算法,只是是算法的必要条件)

2、好算法应达到的目标

二、算法效率的度量

1、时间复杂度:

2、时间复杂度

下一篇: 线性表的定义和基本操作


程序=数据结构(现实问题信息化)+算法(处理信息解决实际问题)

 

一、算法的基本概念

概念:对特定问题求解的一种描述

 

1、五个重要特性(并非用来定义算法,只是是算法的必要条件)

  1. 有穷性:执行有限步后结束
  2. 确定性:相同的输入只能得出相同的输出
  3. 可行性:算法中描述的操作都能用现有已实现的基本运算执行有限次来实现
  4. 输入:有0个或1个输入
  5. 输出:有1个或多个输出

2、好算法应达到的目标

  1. 正确性:能够正确地解决问题
  2. 可读性
  3. 健壮性:输入非法时,算法能适当作出反应或进行处理
  4. 效率与低存储量需求

 

二、算法效率的度量

1、时间复杂度:

表示方法:T(n)=O(f(n))

T(n)是所有语句的频度之和,n是问题规模,O是T(n)的数量级

 

加法规则:T(n)=T1(n)+T2(n)=O(f(n))+O(g(n))=O(max(f(n),g(n)),就是取最大的那个

例如:n2+n=n2

乘法规则:T(n)=T1(n)*T2(n)=O(f(n))*O(g(n))=O(f(n)*g(n))

 

 

2、时间复杂度

为实现计算所需的信息的辅助空间,若所需的辅助空间是常数则称为原地工作

S(n)=O(g(n))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值