数据结构(一)算法

算法

算法的特性

  • 确定性
  • 有限性(不仅要求步骤有限,而且要求步骤尽量少)
  • 输入
  • 输出
  • 可行性

算法的描述(ADL)

1.算法 <算法名> (变量i1,变量i2,…,变量in.变量j1,…)
//算法开头写法,变量i表示输入变量数目>=0,变量j表示输出变量数目>=1;算法名由数字和字母组成且第一个为字母,要求尽可能短 ( 在变量表后对整个算法进行概括说明
2.注释:// , /* / ,()
3.结束符:算法结束符
*|** 语句结束符 .
4.运算符:
a.算术运算符+、-、*、/、DIV、MOD。。。
b.关系运算符=、>、<。。。
c.逻辑运算符AND ,OR,NOT
d.逻辑常量true,false
e.集合运算符 交并补。。。
5.赋值语句
<-箭头指向左侧,且可以连续赋值,a<-b:a为变量,b为变量或表达式;
<-> 交换两个变量的值
6.条件语句
IF<表达式>THEN(表达式1,。。);
IF THEN ELSE(then或else后面最少有一个表达式);
CASE DO<表达式>:(语句1.。。。)
7.循环语句
WHILE DO;
FOR 变量=算术表达式TO算术表达式STEP算术表达式;
FOR 任意变量属于集合DO (语句1.。。。)
8.转移语句
GOTO步骤名
9.EXIT语句
10.转移语句
11.RETURN语句
后面跟表达式或者不跟表达式(和|一样的作用)
12.输入输出语句
READ(x)
PRINT(表达式、字符串常量)

算法的评价准则

  • 正确性
    输入一切合法数据经有限时间内执行都能得到合理化结果

  • 时间复杂性
    算法所执行的基本运算的次数(分析算法的执行时间可以把基本操作或运算分离出来,然后计算基本运算的 次数)

  • 占用空间
    存储空间保留原始数据和中间数据,工作空间存储对数据的操作(算法的空间复杂性指的是算法执行时所需要的存储空间的总数量)
    时空复杂性是算法分析的核心。一般说来,算法的时间复杂性比空间复杂性分析更为重要

  • 可读性

  • 鲁棒性

  • 灵活性

  • 可重用性

  • 自适应性

在假定算法正确的情况下,就多数应用而言,可将时间复杂性作为算法优劣的评判标准
当且仅当在解决同一问题的所有算法的集合中,不存在算法B其执行的基本运算次数比算法A更少
采用逼近的方法进行证明,逼近解决问题所需要的基本运算次数的下界

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值