常见算法时间函数的增长趋势分析

《数据结构教程》(第5版)上机实验题1--实验题2:

目的:

理解常见算法时间函数的增长趋势

对以下函数用c++程序运行观察其变化:

            << "log2(n):
            << "      √n:
            << "      n:
            << "      n*log2(n):
            << "      n*n:
            << "      n^3:
            << "      2^n:
            << "      n!:       

s-code:

#include<iostream>
#include<cmath>
using namespace std;
double factorial(double n)
{
    double result = 1;
    while(n)
    {
        result *= n--;
    }
    return result;
}
int main()
{
    int n = 1, i;
    cin >> i;
    while(i >= n)
    {
        cout << "log2(n):" << log2(n)
            << "      √n:" << sqrt(n) 
            << "      n:" << n 
            << "      n*log2(n):" << n*log2(n)
            << "      n*n:" << n*n 
            << "      n^3:" << n*n*n
            << "      2^n:" << exp2(n)
            << "      n!:" << factorial(n) << endl;
        n++;
    }
    return 0;
}

result of test:

猜你喜欢

转载自www.cnblogs.com/sunrisepeak/p/9748586.html