# binary search

Published articles for binary search.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Software Performance Begins with Time Complexity and Memory

DevFeed: [Software Performance Begins with Time Complexity and Memory](<https://devfeed.tech/articles/software-performance-begins-with-time-complexity-and-memory-39767.md>)

Original publisher: [Read original article](<https://furkankolcu.com/post/software-performance-begins-with-time-complexity-and-memory>)

Author: Furkan Kolcu

Published: 2025-09-10T17:39:37Z

Content type: tutorial

Language: en

Sources: [Furkan Kolcu - Software Engineer Blog](<https://devfeed.tech/sources/furkan-kolcu-software-engineer-blog.md>)

Topics: [Software](<https://devfeed.tech/topics/software.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Go](<https://devfeed.tech/topics/go.md>), [C](<https://devfeed.tech/topics/c.md>)

Tags: [big-o-notation](<https://devfeed.tech/tags/big-o-notation.md>), [binary-search](<https://devfeed.tech/tags/binary-search.md>), [c](<https://devfeed.tech/tags/c.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [go](<https://devfeed.tech/tags/go.md>), [memory](<https://devfeed.tech/tags/memory.md>), [performance](<https://devfeed.tech/tags/performance.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [space-complexity](<https://devfeed.tech/tags/space-complexity.md>), [technology](<https://devfeed.tech/tags/technology.md>), [time-complexity](<https://devfeed.tech/tags/time-complexity.md>)

### AI overview

This tutorial explains how time complexity and memory usage affect application performance as input size, system scale, and traffic increase. It introduces Big O notation, compares common complexity classes, and discusses trade-offs involving algorithms, data structures, and memory, with examples in Go and C.

### Source excerpt

Memory usage and time complexity shape the performance of every application. This post explains why they matter, how they affect scalability, and how to think about the trade-offs behind every decision.

## Binary search finds things fast

DevFeed: [Binary search finds things fast](<https://devfeed.tech/articles/binary-search-finds-things-fast-39066.md>)

Original publisher: [Read original article](<https://blog.devdetails.com/p/binary-search-finds-things-fast>)

Author: Mike

Published: 2024-08-13T07:55:55Z

Content type: tutorial

Language: en

Sources: [Dev Details](<https://devfeed.tech/sources/dev-details.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [array](<https://devfeed.tech/tags/array.md>), [binary-search](<https://devfeed.tech/tags/binary-search.md>), [book](<https://devfeed.tech/tags/book.md>), [example](<https://devfeed.tech/tags/example.md>), [interactive](<https://devfeed.tech/tags/interactive.md>)

### AI overview

A tutorial explaining binary search, an efficient algorithm for finding an item's position in a sorted array by repeatedly halving the search range. It covers the requirement that the array be sorted, the search steps, and use cases including checking values, finding occurrences, and determining insertion points.

### Source excerpt

I wrote a small interactive book to teach binary search.

## BKD trees, used in Elasticsearch

DevFeed: [BKD trees, used in Elasticsearch](<https://devfeed.tech/articles/bkd-trees-used-in-elasticsearch-39614.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2020-05-30_BKD-trees--used-in-Elasticsearch-40e8afd2a1a4>)

Published: 2020-05-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [data](<https://devfeed.tech/topics/data.md>), [geospatial](<https://devfeed.tech/topics/geospatial.md>)

Tags: [binary-search](<https://devfeed.tech/tags/binary-search.md>), [data](<https://devfeed.tech/tags/data.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [indexes](<https://devfeed.tech/tags/indexes.md>), [searching](<https://devfeed.tech/tags/searching.md>), [trees](<https://devfeed.tech/tags/trees.md>)

### AI overview

This tutorial explains how BKD trees extend binary search tree ideas to support multidimensional search, including geospatial data, and describes their use in Elasticsearch.

### Source excerpt

I had worked on Elasticsearch back in 2015, when it was more known for its text searching capabilities using inverted indexes. As I looked to pick it up again last year for another project, I saw that Elasticsearch had added core support for other data types from text like numbers, IP addresses, geospatial data types, etc...

## Binary Search on Graphs

DevFeed: [Binary Search on Graphs](<https://devfeed.tech/articles/binary-search-on-graphs-40417.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2017/11/08/binary-search-on-graphs/>)

Published: 2017-11-08T08:59:38Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [algorithms](<https://devfeed.tech/tags/algorithms.md>), [binary-search](<https://devfeed.tech/tags/binary-search.md>), [depth-first-search](<https://devfeed.tech/tags/depth-first-search.md>), [dijkstra](<https://devfeed.tech/tags/dijkstra.md>), [equivalence-queries](<https://devfeed.tech/tags/equivalence-queries.md>), [graph](<https://devfeed.tech/tags/graph.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [learning-theory](<https://devfeed.tech/tags/learning-theory.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [search](<https://devfeed.tech/tags/search.md>), [vertex](<https://devfeed.tech/tags/vertex.md>)

### AI overview

The article examines whether binary search can be applied to graphs. It presents a graph-search model in which queries about vertices return either the target or an edge on a shortest path toward it, and notes that the line-graph case corresponds to ordinary binary search.

### Source excerpt

Binary search is one of the most basic algorithms I know. Given a sorted list of comparable items and a target item being sought, binary search looks at the middle of the list, and compares it to the target. If the target is larger, we repeat on the smaller half of the list, and vice versa. With each comparison the binary search algorithm cuts the search space in half. The result is a guarantee of no more than $ \log(n)$ comparisons, for a total runtime of $ O(\log n)$.

## Well Orderings and Search

DevFeed: [Well Orderings and Search](<https://devfeed.tech/articles/well-orderings-and-search-40202.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2011/06/14/well-orderings-and-search/>)

Published: 2011-06-14T11:18:04Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [ordering](<https://devfeed.tech/topics/ordering.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [axiom-of-choice](<https://devfeed.tech/tags/axiom-of-choice.md>), [binary-search](<https://devfeed.tech/tags/binary-search.md>), [mathematica](<https://devfeed.tech/tags/mathematica.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [pseudocode](<https://devfeed.tech/tags/pseudocode.md>), [recursion](<https://devfeed.tech/tags/recursion.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [well-ordering](<https://devfeed.tech/tags/well-ordering.md>)

### AI overview

This tutorial explains binary search on sorted lists, including its recursive structure and O(log n) runtime. It then introduces strict total and well orders to explain why sorting and comparison work.

### Source excerpt

Binary Search Binary search is perhaps the first and most basic nontrivial algorithm a student learns. For the mathematicians out there, binary search is a fast procedure to determine whether a sorted list contains a particular element. Here is a pseudocode implementation: # Binary Search: # Given a list L, sorted via the total order <, and a sought # element x, return true iff L contains x. function binarySearch(L, x, <): # base case if(length(L) == 1): return L[0] == x middleIndex = floor(length(L) / 2) if (L[middleIndex] == x): return true # inductive step, with ellipsis notation meaning slices of L # from the beginning and to the end, respectively if (x < L[middleIndex]): return binarySort(L[.