简单时间复杂度大O记法
2018-01-28 00:00
190 查看
摘要: 适合我这种野生程序员,其实还是比较容易理解的,难的另说。
import org.junit.Test; /** * 时间复杂度计算 * 算法摘抄自书籍和网络,这玩意,做多了就有感觉了,^.^ * @author RippleChan * @date 2018-01-27 * @time 21:57 */ public class BigO { /** * O(1) */ public void test1() { int n = 1; int b = n + 1; } /** * O(n) */ public void test2() { int n = 100; for (int i = 0; i < n; i++) { //程序运行n次 } } /** * O(logn) */ @Test public void test3() { int n = 100; int count = 1; while (count < n) { count = count * 2; System.out.println(count); } } /** * O(n2) */ @Test public void test4() { int n = 2; for (int i = 0; i < n; i++) { for (int j = 0;j<n;j++) { System.out.println("test"); } } } /** * O(m*n) */ @Test public void test5() { int n = 2; int m = 3; for (int i = 0;i<n;i++) { for (int j = 0; j < m; j++) { System.out.println("test"); } } } /** * O(n2) */ @Test public void test6() { int n = 5; for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { System.out.println("test"); } } } /** * O(n) */ @Test public void test7() { int n = 100; for (int i = 0;i<n;i++) { this.function7(i); } } private void function7(int i) { System.out.println(i); } /** * O(n) */ @Test public void test8() { int n = 100; for (int i = 0; i < n; i++) { this.function8(n); } } private void function8(int n) { for (int j = 0;j<n;j++) { System.out.println(j); } } /** * O(n3) */ @Test public void test9() { int n = 100; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { for (int k = 1; k <= j; k++) { System.out.println("test"); } } } } /** * O(log n) */ public void test10() { int i = 0; i = i + 1; int n = 100; while (i <= n) { i = i * 2; } } /** * O(n) */ @Test public void test11() { int i = 1; int k = 0; int n = 100; while (i <= n - 1) { k += 100 * i; i++; } } }
相关文章推荐
- 时间复杂度与大O记法的理解
- 时间复杂度和空间复杂度的简单记录
- 8大排序之(五)------简单理解 基数排序 与时间复杂度
- 快排及时间复杂度简单证明
- 对时间复杂度的简单理解
- 简单算法学习之时间复杂度的计算
- 时间复杂度和空间复杂度的简单讲解
- 欧几里得算法时间复杂度简单分析
- 你可能不知道位图,但是它真的很有用,特殊情况可以使时间复杂度降低不是一两个档次那么简单...
- 时间复杂度和空间复杂度_简单易上手
- python list/tuple/dict/set/deque的简单比较、优化和时间复杂度(表格)
- 【LintCode 简单】372. 在O(1)时间复杂度删除链表节点
- 【开放 5月18日 发布】:子数组的最大乘积问题_____问题简单,请思考如何逐步降低时间复杂度,跟帖回复,群内讨论.
- 对一个简单递归的 时间复杂度的分析
- 终于知道递归解决什么样的问题了,指数级问题(或者说无法简单的用for循环就能完成的问题)。想通了为啥图的优先和广度优先搜索的时间复杂度是o(n+e)了,而且一分不差。
- 【算法数据结构Java实现】递归的简单剖析及时间复杂度计算
- 时间复杂度 - 简单易懂
- 常用排序算法的时间和空间复杂度及算法时间复杂度的简单计算
- 二分法的时间复杂度+算法的时间复杂度计算
- 【算法题】题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。 求总共有多少总跳法,并分析算法的时间复杂度