алгоритм поиска в записях переменной длины
Подскажите, а существует алгоритм поиска в базе данных, у которой длина одного поля в каждой записи имеет разную длину. Т.е. длина каждой записи - разная
Нужно для реализации в микроконтроллере, а сама база хранится во флешке, ёмкость которой ограничена.
известно количество записей, длина в байтах всей базы, и содержимое поля1 - вводимое юзером.
вот база:
поле1 - упорядоченные записи фиксированной длины. тип - целое. по нему и осуществляется поиск
поле2 - текстовое поле переменной длины. его и нужно найти. длина его для каждой записи известна, и может хранится перед этим полем или в самом начале записи
поле3 - целое число (1 байт). его тоже нужно найти.
если необходимо, то можно добавить ещё и ID - порядковый номер записи, начиная с 1.
ну, естественно, длина записи также известна и может храниться, например, в начале каждой записи.
поле1 поле2 поле3
----- ----- -----
394000 тексттексттексттекст 1
394043 тексттекст 1
394087 текст 1
450034 тексттексттексттексттексттекст 1
450120 тексттекст 2
634004 текст 2
646445 текст 1
664503 тексттекст 2
673094 тексттексттексттекст 1
684933 текст 2
и т.д.
всего записей - порядка 45000.
допустим нужно найти запись, у которой первое поле = 394087
как?
если что - мой icq 290511085
|