int n = 100 for(int i = 0; i < n; i++) //this loop is executed n times, so O(n) { for(int j = n; j > 0; j/=2) //this loop is executed O(log n) times { } }
Explanation: The outer for loop should be clear; it is executed n
times. Now to the inner loop. In the inner loop, you take n
and always divide it by 2
. So, you ask yourself: How many times can I divide n
by 2
?
It turns out that this is O (log n)
. In fact, the base of log
is 2
, but in Big-O notation, we remove the base since it only adds factors to our log
that we are not interested in.
So, you are executing a loop n
times, and within that loop, you are executing another loop log(n)
times. So, you have O(n) * O(log n) = O(n log n)
.
Related Posts:
- Example of O(n!)?
- A tool for calculating the big-O time complexity of Java code? [closed]
- Why does cache use Most Recently Used (MRU) algorithm as evict policy?
- Finding the max/min value in an array of primitives using Java
- Find how many connected groups of nodes in a given adjacency matrix
- Good Java graph algorithm library?
- Generating all permutations of a given string
- Efficient swapping of elements of an array in Java
- Java, Shifting Elements in an Array
- Creating a maze solving algorithm in Java
- What is the difference between an Abstract Data Type(ADT) and a Data Structure?
- How to implement a most-recently-used cache
- How Do I Implement an Insertion Sort Method for A Generic ArrayList?
- What does Java option -Xmx stand for? [duplicate]
- How do I convert a String to an int in Java?
- What does Java option -Xmx stand for? [duplicate]
- Is there an invisible character that is not regarded as whitespace?
- Problem with gif with transparent background
- Finding white rectangle in an image
- 1000 * 60 * 60 * 24 * 30 results in a negative number [duplicate]
- How to convert nanoseconds to seconds using the TimeUnit enum?
- Search for words with telephone numbers from 2-3-4 tree
- Using or ‘|’ in regex [duplicate]
- How to format strings in Java
- What is the difference between x86 and x64
- && (AND) and || (OR) in IF statements
- How to use the toString method in Java?
- What is a NullPointerException, and how do I fix it?
- What exactly is Apache Camel?
- Unable to find valid certification path to requested target – error even after cert imported
- Unable to find valid certification path to requested target – error even after cert imported
- What is the equivalent of the C++ Pair
in Java? - Java – Convert integer to string [duplicate]
- Getting random numbers in Java [duplicate]
- What is an instance variable in Java?
- javac is not recognized as an internal or external command, operable program or batch file [closed]
- javac is not recognized as an internal or external command, operable program or batch file [closed]
- Java: “error: cannot find symbol”
- How does the Java ‘for each’ loop work?
- What is a StackOverflowError?
- How to uninstall Eclipse?
- Is GNU’s Java Compiler (GCJ) dead? [closed]
- How does System.out.print() work?
- How do I “decompile” Java class files? [closed]
- How do I determine whether an array contains a particular value in Java?
- How to initialize an array in Java?
- How does the Java ‘for each’ loop work?
- Java 8 Iterable.forEach() vs foreach loop
- Initialize part of an array in java
- How can I solve Exception in thread “main” java.lang.NullPointerException error [duplicate]
- What does O(log n) mean exactly?
- How to split a string in Java
- What does “Could not find or load main class” mean?
- What does “Could not find or load main class” mean?
- Why am I getting a NoClassDefFoundError in Java?
- How to avoid “ConcurrentModificationException” while removing elements from `ArrayList` while iterating it? [duplicate]
- Eclipse/Maven error: “No compiler is provided in this environment”
- How do I compare strings in Java?
- What is reflection and why is it useful?
- Implementing UML diagram to Java [closed]
- How to round a number to n decimal places in Java
- Using Pairs or 2-tuples in Java [duplicate]
- How do I create a file and write to it?
- Could not reserve enough space for object heap
- When to use LinkedList over ArrayList in Java?
- How to convert a char to a String?
- Difference between Arrays.asList(array) and new ArrayList
(Arrays.asList(array)) - What is the proper way to handle a NumberFormatException when it is expected?
- What causes “Unable to access jarfile” error?
- What does “Could not find or load main class” mean?
- How do you create a dictionary in Java? [closed]
- Reading a plain text file in Java
- Error unable to access jarfile C:\Jar
- Where is JRE 11? [duplicate]
- In laymans terms, what does ‘static’ mean in Java? [duplicate]
- How to convert/parse from String to char in java?
- Reverse a string in Java
- Static Classes In Java
- Is there any doubly linked list implementation in Java?
- How to set a Timer in Java?
- How do I declare and initialize an array in Java?
- How to parse JSON in Java
- Is there a way to convert all comments into javadoc comments? [Eclipse/Java]
- Convert list to array in Java [duplicate]
- Reverse a string in Java
- Sort an array in Java
- Java String Split by “|”
- Convert String to double in Java
- Exception in thread “main” java.util.NoSuchElementException
- Could not reserve enough space for object heap
- Converting double to string
- What is a JavaBean exactly?
- What is the “continue” keyword and how does it work in Java?
- What does O(log n) mean exactly?
- “Error occurred during initialization of VM; Could not reserve enough space for object heap” using -Xmx3G
- Can’t execute jar- file: “no main manifest attribute”
- “Char cannot be dereferenced” error
- What’s the simplest way to print a Java array?
- javax vs java package
- Java String new line