数据结构第四课笔记------------狄泰软件学院

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构第四课笔记------------狄泰软件学院相关的知识,希望对你有一定的参考价值。

程序的效率

问题:
如果两个算法都符合功能性需求,那工程中最关心的其他特性是什么?如何比较评判?
性价比(效率)是工程中最关注的的算法附加特性!
算法效率的度量
1.事后统计法:比较不同算法对同一组输入数据的处理时间。
缺陷:(1)为了获得不同算法必须编写相应程序
(2)运行时间严重依赖硬件以及运行时的环境因素
(3)算法的测试数据选取困难
2.事前分析估算:依据统计的方法对数据进行估算
影响算法效率的主要因素:
(1)算法采用的策略和方法
(2)问题的输入规模
(3)编译器所产生的代码
(4)计算机执行速度

int func(int a[], int len)       // ==> (n*n + 2)
{
    int ret = 0;                            // 1

    for(int i=0; i<len; i++)     
    {
        for(int j=0; j<len; j++) 
        {
            ret += a[i] * a[j];         // n * n
        }
    }

    return ret;                       // 1
}

程序效率的关键部分为n^2,随着n的不断增大,操作的数量很大程度的增大,不同的程序在这时候效率的差距就体现出来了。
总结:
事前分析估算法通过操作数量来判断程序效率。
判断一个算法效率是只需关注最高阶就能得出结论
如:2n+1 与 n^2+1 只需比较 n与n^2。

以上是关于数据结构第四课笔记------------狄泰软件学院的主要内容,如果未能解决你的问题,请参考以下文章

法语学习笔记--第四课(家庭)

数据结构第一课笔记--------------狄泰软件学院

数据结构第二课笔记--------------狄泰软件学院

数据结构第三课笔记----------------狄泰软件学院

数据结构第五课笔记--------------狄泰软件学院

狄泰软件学院C++课程学习笔记汇总