01.数据结构算法指引

01.数据结构算法指引

目录介绍
  • 01.为何要复杂度分析
  • 02.大O复杂度表示法
    • 2.1 先分析两个案例
    • 2.2 总结案例的规律

01.为何要复杂度分析

  • 把代码跑一遍,通过统计、监控,就能得到算法执行的时间和占用的内存大小。为什么还要做时间、空间复杂度分析呢?
    • 首先肯定的说,这种评估算法执行效率的方法是正确的。很多书籍管这种方法叫“事后统计法”。但是这种方法有很大的局限性:
      • 测试结果非常依赖测试环境:如测试环境中的硬件对测试结果影响很大。
      • 测试结果受数据规模的影响很大。如小规模的数据,插入排序反而比快速排序快。
  • 使用复杂度分析有什么好处?
    • 需要一个不用具体数据来测试,就可以粗略的估算执行效率的方法。

02.大O复杂度表示法

2.1 先分析两个案例
  • 算法的执行效率,粗略的讲,就是算法的执行时间。
  • 例子1:
    //这里有段简单的代码,求1到n的累加和。
    int cla(int n){
        int sum = 0;
        for (int i=1 ;i<=n; i++){
            sum = sum + 1;
        }
        return sum;
    }
    
    • 现在我们来估算下,上述代码的执行时间:尽管每行代码对
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值