Не бывает такого в постановке задачи.
У тебя либо задача "узнать, как как устроены деревья", и тогда просто напиши rb-tree (самый популярный способ реализации сортированных контейнеров в стандартных библиотеках языков программирования, так что наверняка и самый быстрый в среднем) и без привязки к автомобилям и прочим сущностям.
Либо у тебя задача "хранить данные по автомобилям", и тогда оптимальное решение - воспользоваться любой СУБД, т.к. авторы движка БД деревья уже написали, и совершенно точно они сделали это лучше, чем сможешь написать ты за приемлемое время.
PostgreSQL поддерживает несколько типов индексов: B-дерево, хеш, GiST, SP-GiST, GIN и BRIN.
Даже если в другой СУБД у тебя явно не будет сказано, что индекс под капотом строит дерево, я на 146% уверен, что в индексах, которые будут использовать операции сравнения значения поля, СУБД построит какое-нибудь самобалансирующееся дерево, т.к. это достаточно естественно.