算法分析--数量级比较
来源:互联网 发布:阿里云ddns客户端 编辑:程序博客网 时间:2024/05/01 15:14
一些程序片段的数量级及其所花时间的比较,极大程度的反应了算法优化程度越高,算法越优秀
#include <iostream>using namespace std;__int64 agorithm1(__int64 N) //第一个数量级为T(N)=O(N){ __int64 sum = 0; for(__int64 i = 0; i < N; i++) sum++; return sum;}__int64 agorithm2(__int64 N) //第二个数量级T(N)=O(N^2){ __int64 sum = 0; for(__int64 i = 0; i < N; i++) for(__int64 j = 0; j < N; j++) sum++; return sum;}__int64 agorithm3(__int64 N) //第三个数量级T(N)=O(N^3){ __int64 sum = 0; for(__int64 i = 0; i < N; i++) for(__int64 j = 0; j < N * N; j++) sum++; return sum;}__int64 agorithm4(__int64 N) //第四个数量级T(N)=O(N^2){ __int64 sum = 0; for(__int64 i = 0; i < N; i++) for(__int64 j = 0; j < i; j++) sum++; return sum;}__int64 agorithm5(__int64 N) //第五个数量级T(N)=O(N^5){ __int64 sum = 0; for(__int64 i = 0; i < N; i++) for(__int64 j = 0; j < i * i; j++) for(__int64 k = 0; k < j; k++) sum++; return sum;}__int64 agorithm6(__int64 N) //第六个数量级T(N)=O(N^4){ __int64 sum = 0; for(__int64 i = 1; i < N; i++) for(__int64 j = 1; j < i * i; j++) if(j % i == 0) for(__int64 k = 0; k < j; k++) sum++; return sum;}int main(){ int N = 1000;//PS:注释去掉,选择算法// cout<<agorithm1(N)<<endl;// cout<<agorithm2(N)<<endl;// cout<<agorithm3(N)<<endl;// cout<<agorithm4(N)<<endl;// cout<<agorithm5(N)<<endl;// cout<<agorithm6(N)<<endl; return 0;}
以下为比较统计出的表格:
0 0
- 算法分析--数量级比较
- 时间复杂度数量级分析
- 算法时间数量级估计
- 各种排序算法分析比较
- 排序算法比较与分析
- 各种排序算法分析与比较
- 数据结构之排序算法性能分析比较
- 聚类算法分析及其性能比较
- 常用内部排序算法分析比较
- C++ 比较排序算法总结分析
- 各种排序算法分析与比较
- 图像匹配算法比较与分析
- [HighCharts] 关于对几组不同数量级的数据进行分类比较处理办法
- 什么是数量级?
- 不同数量级
- 算法分析(总结)排序算法性能及比较总结
- TF-IDF算法和textrank算法的分析比较
- [算法]代码运行时间增长数量级对比 线性级别N vs 线性对数级别 NlgN
- Memcached客户端(memcached-Java-client)与 Spring集成(单服务器)
- 关于路由器上网设置
- Convert Sorted List to Binary Search Tree
- win8 C 盘 突然少了 十几G 空间 原因,解决方法
- c++ 与C# 单例代码简单实现
- 算法分析--数量级比较
- Visual Studio 各版本下载
- 典型大数题(解体模板)
- 解决AngularJS在安卓WebView中跳转时不刷新的问题
- 学习solr不错的系列博文
- java多线程学习笔记——相关名词介绍
- 1379 DNA Sorting
- JSP之JavaBean
- Android开发教程精粹30篇