Я начал работать над новым домашним проектом, мне нужно индексировать определенные имена файлов с указанными там путями.
Программа будет индексировать файлы на моем локальном жестком диске без необходимости иметь дело с содержимым файлов (поэтому я предполагаю / надеюсь, что это будет простая реализация).
Сначала пользователь вставит список расширений файлов для индексации (во время установки).
Затем программа запустится и создаст структуру данных, содержащую путь для конкретного файла, введенного пользователем.
Получение данных по структуре данных будет выглядеть так:
путь к файлу на моем жестком диске = функция (имя файла введено пользователем)
Я долго думал об этом и написал дизайн структуры данных, вот мое предложение
( Дизайн Иллюстрация ):
Я буду использовать массив с хэш-функцией для сопоставления расширения с ячейкой (каждая ячейка представляет
первая буква файла расширения).
внутри каждой ячейки будет список расширений, начинающихся с той же буквы.
для каждого узла в списке было бы красное черное дерево для поиска имени файла, а затем
после того как мы нашли имя файла, программа извлечет путь к файлу, хранящемуся в дереве
узел.
Да, кстати, я обычно программирую на с (низкий уровень) или на с ++.