Електронен речник в Делфи
Здравейте. Получих задачата да разработя речник на определени термини с описание, с бързо търсене. Като Лингво. Сега речникът е в документ на Excel, има около 100 хиляди думи.Сега имам въпрос как да съхранявам набор от думи и техните описания. За тестване вкарах речника в XML документ, с 2 атрибута, дума + описание. След това направих интерфейс, където Listbox се намира във формуляра, в който зареждам (обекти) думи от XML документ (използвайки XMLDoc средства). Самото изтегляне отнема много дълго време.
Моля, посъветвайте по-бързо решение на този проблем и повече речници ще трябва да бъдат криптирани. Благодаря.
Hash_words (цяло число, първичен ключ)
Шифрована_дума (BLOB)
Encrypted_description_word (BLOB)
Бих го съхранил в двоична форма. заредени незабавно.
от базата данни работех само с Orakl и MySQL, за малък речник не бих искал да вдигам сървъри или да стартирам допълнителни услуги.
> Бих го запазил в двоична форма. заредени незабавно.
Може да е малко по-подробна или ключови думи за търсене. Благодаря.
За ускоряване на търсенето (чрез хеш на думата, а не само по себе си).
> Скоростта на търсене в такова нещо е O (N), където N е броят на думите.
Хешовете могат да бъдат сортирани във възходящ ред . Тогава ще намерите този, от който се нуждаете, още по-бързо.
> Така или иначе зависимост от количеството.
Вече няма пряка връзка.
И ако направите блокове от вече сортирани данни (да кажем блок от хеш от 1000 до 5000), тогава направете двоично търсене в тези блокове, тогава необходимият хеш ще бъде намерен много, много бързо.
Тези. първо намираме блока от диапазона, в който се намира този хеш. И след това двоично търсене.