数据结构 学习记录 2

数据结构 学习记录 2

B2 图灵机

To measure is to konw.

If you can not measure it,you can not improve it.

1.特定问题+不同算法:

同一问题通常有多种算法,如何评价器优劣?试验统计是最直接的方法,但不能反映算法的真正效率。因为:

  • 不同的算法,可能更适应不同的规模或者类型的输入
  • 同一算法,在不同的环境下得到的结论也不同

所以为给出客观的评判,需要抽象出一个理想的平台或模型

2.图灵机模型Turing Machine

  • Tape:依次均匀的划分为单元格各注有某一字符,默认为“#”

  • Alphabet:字符的种类有限

  • Head:总是对准某一单元格,并可读取和改写其中的字符,没经过一个节拍,课转向左侧或者右侧邻格

  • State:TM总是处于有限种状态中的某一种,每经过一个节拍,可按规则转向另外一种状态

  • Transition Function:(q,c;d,L/R,p),若当前状态为q且当前字符为c,则当前字符改写为d;转向左侧/右侧的邻格;转入p状态一旦转入特定的状态h,则停机

    例子说明:
    在这里插入图片描述
    第三步就已经完成了基本的要求了,为什么还要完成后面复位的要求了?因为这个过程可能会成为某个算法的一部分,每次调用此程序的时候就需要提供一个接口,这是一种规范

3.RAM(Random Access Machine)

  • RAM作为计算模型来讲与图灵机模型是差不多的,都具有无限的空间,与图灵机的转换函数相比,RAM提供的是一些可执行的语句:
    在这里插入图片描述

  • 实例:向下取整的除法floor()
    在这里插入图片描述

  • 总结:

  • 与TM模型一样,RAM模型也是一般算法的简化与抽象,使我们可以独立于具体的平台,对算法的效率做出可信的比较和评判。

  • 在这些模型中:算法的运行时间 与 算法需要执行的基本操作次数正相关;T(n) = 算法求解规模为n的问题,所需执行的基本操作次数。

要执行的基本操作次数正相关;T(n) = 算法求解规模为n的问题,所需执行的基本操作次数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值