实习复习---数据结构学习-算法2

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/strivenoend/article/details/82849504


算法?
算法很重要!它可以帮助我们去优化,,,
怎么优化呢?当然是优化时间空间复杂度了啦,
如果以后你写算法,写完了之后要不要想一想还有没有 更优的方法,时间复杂度能不能将一些?两层循环可不可以优化到一层循环?
一层循环的话,可不可以不用循环?
-------------------------------------------------------
算法设计的要求
1)正确性
2)可读性
3)健壮性当输入数据不合理时,算法也能做出相关处理,而不是产生异常
4)时间效率高和存储量低(代码占外存和运行时内存
------------------------------------
算法效率的度量的方法
硬件:机器指令执行指令的速度----》外部因素
软件:编译器,解释器产生大的代码质量----》外部因素
问题的输入规模----》内部因素--看程序的执行次数,运行时间 和这个成+比
------------------------------------------------------------
算法时间复杂度
1)定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数。确定T(n)的数量级
         记作T(n)=O((f(n))),
         一般的,随着n的增大,T(n)增长最慢的算法为最优算法
2)如何计算O((f(n)))?
1)常数阶O(1)
2)线性阶O(n)
3)对数阶O(logn)
4)平方阶O(n的平方)
常见时间复杂度所耗费时间
O(1)<O(logn)<O(n)<O(nlogn)<O(n的平方)<O(n的三次方)<O(指数阶)<O(n的阶乘)
--------------------------------------------------------------------------
算法空间复杂度
可以考虑用空间上的开销来换取时间效率。
空间复杂度:计算算法所用的存储空间

展开阅读全文

没有更多推荐了,返回首页