Example 1 [Answer: O(n)] public static void method(int n) { int sum = 0; for (int i = 1; i <= n; i++) { sum++; System.out.println(sum); } } Example 2 [Answer: O(n^2)] public static void method(int n) { int sum = 0; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { sum++; } } } Example 3 [Answer: O(n)] public static void method(int n) { int sum = 0; for (int i = 1; i <= n; i++) { for (int j = 1; j <= 4; j++) { sum++; } } } Example 4 [Answer: O(n^2)] public static void method(int n) { int sum = 0; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { sum++; } } } Example 5 [Answer: O(n)] Note: This answer requires developing and solving a recurrence relation Recurrence Relation: T(0) = 1 T(n) = 1 + 2T(n/2) Where n is the number of nodes in the tree with root current // Pre-Condtion: Current is not null // This algorithm only works for balanced binary trees public static int countNodes(Node current) { if (current.left == null && current.right == null) { return 1; } else { int leftCount = countNodes(current.left); int rightCount = countNodes(current.right); return leftCount + rightCount + 1; } }