Understanding Search Algorithms: A Programmer's Late-Night Realization About Computer vs Human Search
By
Feynmankhateeb
A five-star bake. Worth schmearing, sharing, saving.
Summary
The article is a personal narrative about a programmer's late-night realization about search algorithms while working on a file system project. The author describes implementing a binary search tree that performed well with 1,000 files but encountered significant performance issues when scaling to 10,000 files. The piece explores the fundamental differences between how computers and humans search for information, highlighting algorithmic efficiency versus human cognitive processes. It uses the programming experience as a metaphor to discuss broader concepts of information retrieval and computational thinking.
Key quotes
· 4 pulledIt was 2 AM, and I was staring at my terminal, watching numbers scroll past faster than I could comprehend.
I had just finished implementing a binary search tree for a 'simple' file system project.
1,000 files? Found in 20 comparisons. Textbook perfect. Log₂(1000) ≈ 10 comparisons, double that for an unbalanced tree, and boom—exactly what I expected.
Then I scaled it.
You might also wanna read
Normalizing RGB values: The technical debate between dividing by 255 vs 256 in image processing
This article explores the technical debate around normalizing RGB pixel values when converting from 8-bit integers (0-255) to floating point
A Formal Proof That Jira Is Turing-Complete via Minsky Machine Implementation
This article provides a formal proof that Jira (Atlassian's project-tracking tool) is Turing-complete by demonstrating how to build a Minsky
A Formal Proof That Jira Is Turing-Complete via Minsky Machine Implementation
This article provides a formal proof that Jira (Atlassian's project-tracking tool) is Turing-complete by demonstrating how to build a Minsky
How Shamir's Secret Sharing Algorithm Enables Threshold Cryptography
This article explains Adi Shamir's Secret Sharing algorithm, a cryptographic method published in 1979 that splits a secret into multiple pie
The History of Pipes, Forks, and Zombies in Unix Systems
This article discusses the history and concept of pipes in Unix systems, focusing on Doug McIlroy's original vision of coupling programs lik
Demystifying Floating Point Numbers: An Interactive Guide
An in-depth technical blog post that demystifies floating point numbers, explaining their internal representation and behavior. The author i
