zoukankan      html  css  js  c++  java
  • 几个经典的算法

    1. 最大子序列和问题

    int MaxSubsquenceSum(const int A[],int N){

       int ThisSum,MaxSum,j;

       ThisSum = MaxSum = 0;

       for(j=0;j<N;j++){

          ThisSum += A[j];

          if(ThisSum > MaxSum)

              MaxSum = ThisSum;

          else if(ThisSum < 0)

              ThisSum = 0;

       }

       return MaxSum;

    }

    2. 二分查找法

    int BinarySearch(const ElementType A[], ElementType X, int N){

       int Low,Mid,High;

       Low=0;High=N-1;

       while(Low <= High){

          Mid = (Low + High)/2;

          if(a[Mid] < X)

             Low = Mid + 1;

          else if(a[Mid] > X)

             High = Mid -1;

          else

             return Mid;

       }

       return NotFound;

    }

    3.欧几里德算法(求最大公因数)

    unsigned int

    Gcd(unsigned int M,unsigned int N){

       unsigned int Rem;

       while(N > 0){

          Rem = M % N;

          M = N;

          N = Rem;

       }

       return M;

    }

    4.幂运算(计算X的n次方)

    long int Pow(long int X,unsigned 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;

    }

  • 相关阅读:
    mysql正则表达式
    阿里云OSS 获取目录下所有文件
    docker 部署mvc项目 <四>
    docker部署项目 <三>
    docker 安装mysql数据库 <二>
    docker安装 <一>
    安装 Docker <一>
    Mongodb字段自增长
    EF的使用<三>
    EF 简单介绍<一>
  • 原文地址:https://www.cnblogs.com/jiangjh/p/2117586.html
Copyright © 2011-2022 走看看