В настоящее время у меня есть простая программа базы данных, которая считывает ключи из текстового файла и сохраняет их в двусвязном списке (значения читаются позже, если они необходимы). В настоящее время я делаю последовательный поиск в списке, но это явно довольно медленно. Я надеялся, что есть другой способ сделать. Я читал о бинарных деревьях (в частности, о красных черных деревьях), но я мало что знаю о них, и надеялся, что смогу что-то подсветить из hivemind stackoverflow :) Полагаю, мой вопрос, какой самый быстрый путь выполнить поиск в двусвязном списке?
РЕДАКТИРОВАТЬ: Забыл сказать, что список отсортирован. Не знаю, меняет ли это что-нибудь. Кроме того, причина, по которой я читаю только ключи, состоит в том, что максимальная длина значения составляет 1024 * 32 байта, что я считаю слишком большим. Обратите внимание, что это для назначения, поэтому «типичные сценарии использования» не применяются. Скорее всего, профессора будут подвергаться стресс-тестированию этой штуки, и я не хочу, чтобы такие большие блокировались.