数据结构绪论(2)

目录

 

1.2  计算模型

1.2.1  图灵机模型

1.2.2  图灵机实例(二进制加法)

1.2.3  RAM模型

1.2.4  RAM模型实例(除法向下取整)


1.2  计算模型

1. 一个好的程序不仅要考虑数据结构与算法,还要考虑效率,即:(数据结构+算法)*效率 = 程序 ==> 应用。

2. 算法分析的两个重要指标 (需要进行度量)
        正确性:算法功能是否与问题一致
        成本:时间消耗与存储空间消耗

3. 定义:T(n) 为一个算法在最坏的情况下所需要操作的步骤。不同算法之间的好坏主要看T(n)的大小,T(n)是屏蔽了计算机硬件差异,语言差异,编译差异等差异之后的理想平台下的运行指标,如大O,大Ω,大Θ等。

4. 一般的计算模型有图灵模型与RAM模型,它们均将算法的运算时间转换成算法执行的基本操作次数。

1.2.1  图灵机模型

图灵机的三个组成要件
        1. 有限的字母表: cell中存储的内容
        2. 读写头: 只是当前位置, 可读可写
        3. 状态表: 当前读写头的状态

图灵机状态转换过程 transform(q,c; d,L/R,p)
        q:当前状态
        c:读写头所指cell当前的内容
        d:读写头所指cell改写的内容
        L/R:向左/右移位
        p:读写头转换后的状态    (一旦转入'h'状态,则停机

1.2.2  图灵机实例(二进制加法)

 

1.2.3  RAM模型

1. 与图灵机类似,均假设有无限空间
2. 由一系列顺序编号寄存器组成,但总数无限
3. 算法所运行的时间转换成算法运算时的次数

1.2.4  RAM模型实例(除法向下取整)

老师将RAM模型的向下取整与怎么样客观的度量算法运行时间联系在一起。图灵机、RAM等模型为度量算法性能提供了准确的尺子。而如何使用尺子,有哪些规则,有什么技巧在下一篇记录。

 

猜你喜欢

转载自blog.csdn.net/qq_41074004/article/details/81586419