← Back to Projects

Search

Exploration of search algorithms with an emphasis on efficiency, correctness, and real-world performance trade-offs

AlgorithmsProblem SolvingPerformance Analysis

About This Project

This project focused on implementing and comparing different search strategies to locate data efficiently. The work involved analyzing algorithm behavior, handling edge cases, and validating results through structured testing. By experimenting with multiple approaches, the project emphasized understanding how algorithmic design choices affect performance and scalability.

Key Features

  • Normalized and extracted unique tokens from text for accurate indexing
  • Built an inverted index mapping words to the pages in which they appear
  • Implemented Boolean-style search queries using union, intersection, and exclusion
  • Processed structured data files and handled missing query terms gracefully
  • Integrated and validated the system through an interactive search interface with extensive testing

Technologies Used

  • IDE: VSCode
  • C++

Challenges & Learnings

Challenges:

A key challenge was debugging incorrect search results caused by subtle off-by-one and boundary errors. Ensuring correctness across all edge cases required systematic testing and careful reasoning about control flow.

What I Learned:

This project strengthened my understanding of algorithmic thinking and time complexity. I learned how to evaluate trade-offs between different approaches, write precise conditional logic, and validate correctness using structured tests—skills essential for building reliable and efficient software.

This project was created in February 2025