Autocomplete Optimisation: A Comparative Analysis

Dataset Image
csv Image
Output Image
Graph Image
table Image
Table Insertions Image

This project explored autocomplete efficiency by comparing sorted arrays and radix trees, using a CSV dataset of Melbourne restaurants. I hypothesised that the radix tree's bitwise branching structure would enable superior insertion efficiency, and used comparison counts to analyse performance in relation to Big-O notation.

Sorted array insertion was O(n log n) due to element shifting, while radix trees used bitwise operations for efficient prefix matching, reducing comparisons. Analysis with varied datasets confirmed sorted array search was O(log n), with slight increases from linear traversal.

Radix Visualisation


Sorted arrays offered simplicity, radix trees excelled in insertion via bitwise operations. Despite radix tree challenges with large datasets, smaller tests showed its potential. This reinforced understanding of algorithm complexity and data structure selection.

This project enhanced my skills in dynamic memory, bitwise operations, and Big-O analysis. Debugging radix trees improved problem-solving and code translation. I learned time/space complexity importance and rigorous testing, alongside the value of clear technical reporting.