zoukankan      html  css  js  c++  java
  • 数据结构--运行时间中的对数

    尽可能的减少重复的计算

    1)二分搜索--log(N-1)+2

        条件:有序--数据稳定(即不允许插入操作和删除操作)的应用中非常有效

    2)欧几里得算法--计算最大公因数-O(logN)--乘法次数最多2logN

    long gcd(long m, long n)
    {
        while (n != 0)
        {
            long rem = m % n;
            m = n;
            n = rem;
        }
        return m;
    }

    3)幂运算--一个整数的幂--乘法次数最多2logN

        N为偶数:XN=XN/2*XN/2

        N为奇数:XN=X(N-1)/2*X(N-1)/2*N

        运用递归思想

    bool isEven(int n)
    {
        return n % 2 == 0;
    }
    long pow(long x, int n)
    {
        if (n == 0)
        {
            return 1;
        }
        if (n == 1)
        {
            return    x;
        }
        if (isEven(n))
        {
            return pow(x * x, n / 2);
        }
        else
        {
            return pow(x * x, n / 2) * x;
        }
    }

  • 相关阅读:
    STP RSTP
    数组与文字处理
    3 算法、控制结构
    2 变量、运算符、位运算
    1
    小程序点击变换,
    小程序授权demo
    小程序获取参数
    小程序是否转发群还是个人(转发功能)
    小程序分享转发功能实现demo
  • 原文地址:https://www.cnblogs.com/MissZhang-154/p/13329429.html
Copyright © 2011-2022 走看看