Advertisement
splash365

Untitled

Aug 30th, 2020 (edited)
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.86 KB | None | 0 0
  1. O(1):
  2. // Here c is a constant  
  3.    for (int i = 1; i <= c; i++) {  
  4.         // some O(1) expressions
  5.    }
  6.  
  7. O(n):
  8. // Here c is a positive integer constant  
  9.    for (int i = 1; i <= n; i += c) {  
  10.         // some O(1) expressions
  11.    }
  12.  
  13. O(n^2):
  14. for (int i = 1; i <=n; i += c) {
  15.        for (int j = 1; j <=n; j += c) {
  16.           // some O(1) expressions
  17.        }
  18.    }
  19.  
  20. O(logn):
  21. for (int i = 1; i <=n; i *= c) {
  22.        // some O(1) expressions
  23.    }
  24.  
  25. Explanation:
  26. 1, c, c^2, c^3, … c^k
  27.  
  28. c^k <= n
  29. k <= logn
  30.  
  31.  
  32. O(sqrt(n)):
  33. for (int i = 1; i*i <=n; i++) {
  34.        // some O(1) expressions
  35.    }
  36.  
  37. Explanation:
  38. 1, 4, 9, 16, .... , k^2
  39.  
  40. k^2 <= n
  41. k <= sqrt(n)
  42.  
  43. O(n+m):
  44. for (int i = 1; i <=m; i += c) {  
  45.         // some O(1) expressions
  46.    }
  47.    for (int i = 1; i <=n; i += c) {
  48.         // some O(1) expressions
  49.    }
  50. if n==m : O(2n) equivalent to O(n)
  51.  
  52. //For Exercise:
  53.  
  54. O(loglog(n)):
  55. // Here c is a constant greater than 1  
  56.    for (int i = 2; i <=n; i = pow(i, c)) {
  57.        // some O(1) expressions
  58.    }
  59.  
  60. Explanation:
  61.  In this case, i takes values 2, 2^c, (2^c)^c = 2^c2, (2^c2)^c = 2^c3, …, 2^C^k
  62.  
  63. 2^C^k <= n
  64. C^k <= logn
  65. k <= loglogn
  66.  
  67. O(sqrt(n)):
  68. c = 0;
  69. for(int i = 1; c<=n; i++)
  70. {
  71.     c = c+i;
  72. }
  73.  
  74. Explanation:
  75. i   c
  76. --  --
  77. 1   1
  78. 2   1+2
  79. 3   1+2+3
  80. 4   1+2+3+4
  81. .   .
  82. .   .
  83. k   1+2+3+4+....+k
  84.  
  85. 1+2+3+4+....+k <= n
  86. k(k+1)/2 <= n
  87. k^2 <= n
  88. k = sqrt(n)
  89.  
  90. O(log(n)):
  91. c = 0
  92. for(int i = 1; i<=n; i=i*2)
  93. {
  94.     c = c+1;
  95. }
  96. for(int j = 1; j<=c; j=j*2)
  97. {
  98.     // O(1) operation
  99. }
  100.  
  101. Explanation:
  102. complexity of 1st for loop : c = O(logn)
  103. complexity of 2nd for loop : k = O(logC)
  104. O(logN + logC)
  105. O(logN + loglogN)
  106.  
  107. HOME WORK:
  108. while(m!=n)
  109. {
  110.     if(m>n) m = m-n;
  111.     else n = n-m;
  112. }
  113. Ans: O(n)
  114.  
  115. ///Prefix Sum:
  116.     5 1 2 4  1  0  2  3  5  7  1  2
  117.     5 6 8 12 13 13 15 18 23 30 31 33
  118. sum[0] = 0
  119. sum[i] = sum[i-1] + a[i];
  120.  
  121. ans = sum[R] - sum[L-1];
  122.  
  123.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement