Here a more mathematical way of seeing it, though not really complicated. IMO much clearer as informal ones:
The question is, how many times can you divide N by 2 until you have 1? This is essentially saying, do a binary search (half the elements) until you found it. In a formula this would be this:
1 = N / 2x
multiply by 2x:
2x = N
now do the log2:
log2(2x) = log2 N
x * log2(2) = log2 N
x * 1 = log2 N
this means you can divide log N times until you have everything divided. Which means you have to divide log N (“do the binary search step”) until you found your element.
Related Posts:
- What does O(log n) mean exactly?
- What does O(log n) mean exactly?
- Why is the time complexity of both DFS and BFS O( V + E )
- Breadth First Search time complexity analysis
- Time Complexity of the Kruskal Algorithm?
- How to find the kth smallest element in the union of two sorted arrays?
- O(n log n) vs O(n) — practical differences in time complexity
- Best case time complexity for selection sort
- Trie complexity and searching
- Is complexity O(log(n)) equivalent to O(sqrt(n))?
- Merge sort time and space complexity
- How to calculate time complexity of backtracking algorithm?
- Hash table runtime complexity (insert, search and delete)
- Which is better: O(n log n) or O(n^2)
- Quickselect time complexity explained
- Difference between Big-O and Little-O Notation
- Why is O(n) better than O( nlog(n) )?
- Is there an O(n) integer sorting algorithm?
- Finding all possible combinations of numbers to reach a given sum
- In a triangulated isometric grid, what triangle is a given point in?
- How do I check if an array includes a value in JavaScript?
- What is a loop invariant?
- What is a loop invariant?
- When is it practical to use Depth-First Search (DFS) vs Breadth-First Search (BFS)? [closed]
- What is Sliding Window Algorithm? Examples?
- Quicksort with Python
- What is the difference between tree depth and height?
- how to implement quick sort algorithm in C++
- Python: maximum recursion depth exceeded while calling a Python object
- Understanding Time complexity calculation for Dijkstra Algorithm
- Time complexity of a Priority Queue in C++
- What is stability in sorting algorithms and why is it important?
- Counting the sum of every nodes’ neighbors’ degrees?
- Quick Sort Vs Merge Sort
- Polynomial time and exponential time
- Insertion Sort vs. Selection Sort
- Difference and advantages between dijkstra & A star
- Best Case for Bubble Sort
- When will the worst case of Merge Sort occur?
- Big O, how do you calculate/approximate it?
- Performing Breadth First Search recursively
- Is Quicksort in-place or not?
- longest increasing subsequence(O(nlogn))
- When should I use Kruskal as opposed to Prim (and vice versa)?
- Trying to understand max heapify
- Shortest possible depth of a leaf in decision tree (comparison sorting algorithm)
- Python Weighted Random [duplicate]
- What is the meaning of “exclusive” and “inclusive” when describing number ranges?
- What’s a good algorithm to generate a maze?
- Intuition for perceptron weight update rule
- Easy: Solve T(n)=T(n-1)+n by Iteration Method
- What is tail call optimization?
- PacMan: what kinds of heuristics are mainly used?
- Quicksort vs heapsort
- Big-oh vs big-theta
- Looking for algorithm finding euler path
- What does this definition of contiguous subsequences mean?
- Is log(n!) = Θ(n·log(n))?
- How to find maximum spanning tree?
- Exactly how many comparisons does merge sort make?
- Algorithm to return all combinations of k elements from n
- How to calculate big-theta
- What is the time complexity of while loops?
- Intuitive explanation for why QuickSort is n log n?
- Calculate distance between two latitude-longitude points? (Haversine formula)
- Shuffle a deck of cards in Java
- Median of Medians in Java
- What is a loop invariant?
- What is O(log* N)?
- What is the proper equivalent of “while(true)” in plain C?
- Bellman-Ford vs Dijkstra: Under what circumstances is Bellman-Ford better?
- Asymptotic Notation – does n (log n) (log n) simplify?
- What is the big-O of the function (log n)^k
- How to calculate an angle from three points?
- How to solve: T(n) = T(n/2) + T(n/4) + T(n/8) + (n)
- An example of Best Case Scenario for Quick Sort (Need someone to check if my answer is correct)
- how to write a recurrence relation for a given piece of code
- Why is merge sort worst case run time O (n log n)?
- Why is merge sort worst case run time O (n log n)?
- What is the time and space complexity of a breadth first and depth first tree traversal?
- Create your own MD5 collisions
- A tool for calculating the big-O time complexity of Java code? [closed]
- Image Segmentation using Mean Shift explained
- Finding the median of an unsorted array
- Difference between Big-Theta and Big O notation in simple language
- What is the difference between bucket sort and radix sort?
- How are the following functions O(N^3)?
- Difference between O(n) and O(log(n)) – which is better and what exactly is O(log(n))?
- Are there any real O(n^n) algorithms?
- Sorting an array in C?
- Is Dijkstra’s algorithm for directed or undirected graphs?
- How to determine if a point is in a 2D triangle?
- Modular multiplicative inverse function in Python
- Minesweeper solving algorithm
- About bubble sort vs merge sort
- How to support multiple search terms query within one process?
- Extend ‘The Events Calendar’ search to include custom fields [closed]
- How do I query a single data value from the wp_metadata table?
- Rewrite Search URL Permalink For CPT Custom Taxonomies
- Search Field that allows options of “Match any keyword” or “Match all keywords”