Пристрій для збереження і пошуку рядкових величин та спосіб збереження і пошуку рядкових величин
Формула / Реферат
1. Пристрій для збереження і пошуку рядкових величин, що містить блок збереження символів алфавіту, блок пам'яті для збереження даних у деревоподібній структурі, у якій кожна вершина містить символ алфавіту і посилання на дочірні вершини, при цьому посилання на дочірні вершини упорядковані за номером в алфавіті символу, що міститься в них, множина вершин рівня 1 відповідає множині символів алфавіту, з яких починаються рядкові величини, гілка від кореня дерева до деякої вершини рівня і відповідає і початковим символам рядкових величин, що мають і однакових початкових символів, при цьому вершина рівня і гілки відповідає значенню і-го символу рядкової величини, який відрізняється тим, що в нього введені блок посилань на вершини й операційний блок, причому його перший вхід-вихід зв'язаний із блоком збереження символів алфавіту, другий вхід-вихід зв'язаний із блоком пам'яті для збереження даних у деревоподібній структурі, третій вхід-вихід зв'язаний із блоком посилань на вершини, четвертий і п'ятий входи-виходи операційного блока є інформаційними, а також є першим і другим інформаційними входами-виходами пристрою, шостий вхід є керуючим входом операційного блока, а також є третім входом пристрою, що також є керуючим, також у деревоподібній структурі в кожну вершину введене посилання на батьківську вершину, також у кожну вершину введено ознаку кінця рядкової величини, що виражена числом, яке для вершини рівня L дорівнює нулю, якщо вершина не відповідає останньому символу жодної рядкової величини довжини L, чи є унікальним позитивним числом N, якщо вершина відповідає останньому символу групи однакових рядкових величин довжини L, і також є номером N рядкової величини в деревоподібній структурі, а блок посилань на вершини містить упорядковані посилання на вершини, у яких ознака кінця рядкової величини є унікальним позитивним числом N, а номер посилання на вершину на одиницю менше цього числа і дорівнює N-1.
2. Спосіб збереження і пошуку рядкових величин, що полягає в тому, що для пошуку рядкової величини в деревоподібній структурі розглядають 1-й символ рядкової величини, знаходять вершину рівня 1, що містить символ, який дорівнює першому символу рядкової величини, потім рекурсивно доти, поки пошук вершини не зазнає невдачі чи поки не буде знайдена вершина, що відповідає останньому символу рядкової величини, виконують наступні операції - розглядають символ рядкової величини, що є наступним за розглянутим, серед дочірніх вершин знайденої вершини знаходять вершину, що містить символ, який дорівнює розглянутому символу, який відрізняється тим, що при пошуку рядкової величини в деревоподібній структурі після знаходження вершини, що відповідає останньому символу рядкової величини, визначають номер рядкової величини в деревоподібній структурі шляхом аналізу значення ознаки кінця рядкової величини знайденої вершини, при цьому нульове значення ознаки кінця рядкової величини вказує на відсутність шуканої рядкової величини в деревоподібній структурі, позитивне значення ознаки кінця рядкової величини є номером N шуканої рядкової величини в деревоподібній структурі, а також для збереження рядкових величин в деревоподібній структурі наповняють деревоподібну структуру даними відповідно до масиву рядкових величин, для цього задають перелік і порядок символів алфавіту, упорядковують за алфавітом масив рядкових величин, створюють гілки деревоподібної структури, при цьому для кожної групи однакових рядкових величин у порядку їхнього проходження за алфавітом створюють гілку, що відповідає групі однакових рядкових величин, а ознаці кінця рядкової величини останньої вершини відповідної гілки привласнюють значення N, яке дорівнює порядковому номеру за алфавітом відповідної групи однакових рядкових величин, і додають у блок посилань на вершини під номером N-1 посилання на вершину, здійснюють доступ до значення рядкової величини за її номером N у деревоподібній структурі, при цьому виділяють вершину, значення ознаки кінця рядкової величини якої дорівнює N, потім рекурсивно запам'ятовують символ, що міститься у виділеній вершині, виділяють вершину, що є батьківською для виділеної вершини, до тих пір, поки не буде виділена коренева вершина, при цьому одержують послідовність символів рядкової величини в інверсному порядку, інвертують отриману послідовність символів, при цьому одержують рядкову величину, що зберігається в деревоподібній структурі під номером N.
Текст
Передбачуваний винахід належить до обчислювальної техніки, зокрема до систем обробки даних, що використовують деревоподібну структур у пошуку даних і може бути застосоване для збереження і пошуку даних у великих словниках. Відомий пошук у глибину за алгебраїчною ши фрувальною книгою для швидкого кодування мови [РФ, патент №2175454, G10L19/08, публ.2001.10.27]. У відомому способі для пошуку в глибину кодових векторів Аk, кожний з який визначає множина різних позицій р, використовують деревоподібну стр уктур у, що визначає число Μ заданих рівнів пошуку, причому кожному рівню m пошуку відповідає заздалегідь визначене число Nm імпульсів ненульової амплітуди, Nm³1, а сума заздалегідь визначених чисел, що відповідають усім Μ рівням пошуку, дорівнює числу N імпульсів ненульової амплітуди, що містяться в зазначених кодових векторах. Також спосіб включає операцію побудови маршруту для кожного рівня пошуку за деревоподібною структурою, задане правило задавання імпульсів для кожного рівня пошуку за деревоподібною структурою і заданий критерій вибору позиції для кожного рівня пошуку за деревоподібною структурою, при цьому для виконання операції побудови маршруту для рівня 1 пошуку за деревоподібною структурою відбирають число N1 з N імпульсів ненульової амплітуди відповідно до правила задавання імпульсів для рівня 1 пошуку, вибирають, щонайменше, одну дійсну позицію p зазначених Ν1 імпульсів ненульової амплітуди відповідно до критерію вибору позиції рівня 1 пошуку для визначення, щонайменше, одного маршруту-кандидата рівня 1, для виконання операції побудови маршруту кожного наступного рівня m пошуку за деревоподібною структурою визначають маршрут-кандидат рівня-m за допомогою продовження маршруту-кандидата рівня-(m-1), відбирають Nm імпульсів ненульової амплітуди, що раніше не були обрані в ході побудови маршруту рівня-(m-1), відповідно до правила задавання імпульсів рівня т пошуку, вибирають, щонайменше, одну дійсну позицію p зазначених N m імпульсів ненульової амплітуди відповідно до критерію вибору позиції рівня m пошуку для формування, щонайменше, одного маршрутукандидата рівня-m для кожного наступного рівня m пошуку, причому маршрут-кандидат рівня-m, створений на рівні 1 пошуку і продовжений при виконанні операцій побудови маршруту, що відносяться до наступних рівнів пошуку за деревоподібною структурою, визначає відповідні позиції p для N імпульсів ненульової амплітуди кодового вектора і завдяки цьому визначає кодовий вектор-кандидат Ak. Пристрій для пошуку в глибину кодових векторів, що реалізує описаний спосіб, для виконання операції побудови маршруту для рівня 1 пошуку за деревоподібною структурою містить перший засіб для добору імпульсів ненульової амплітуди відповідно до правила задавання імпульсів для рівня 1 пошуку, перший засіб для вибору, щонайменше, однієї дійсної позиції відібраних імпульсів ненульової амплітуди відповідно до критерію вибору позиції рівня 1 пошуку, для визначення, щонайменше одного маршруту-кандидата рівня 1. Для продовження операції побудови маршрутукандидата наступних рівнів пристрій містить другі засоби для добору визначеного числа нових імпульсів і вибору дійсних позицій для відібраних імпульсів відповідно до даного правила задавання і критерію вибору. Даний спосіб і пристрій виконують обробку звукових сигналів і не можуть бути ефективно використані для збереження і пошуку даних, які є рядковими величинами. Також дані спосіб і пристрій розраховують на збереження кожного з кодових векторів Ak не в деревоподібній структурі, а в області пам'яті, яку виділяють додатково, що призводить до істотного збільшення витрат пам'яті і є їхнім недоліком. Відома схема обробки і схема процесора пошуку [РФ, патент №2216772, 17-й незалежний пункт формули, МПК G06F17/30, G06F15/16, публ.2003.11.20], що містить мультипроцесорний блок з деревоподібною структурою для розпізнавання і порівняння складних комбінацій у високошвидкісних потоках даних, зокрема для використання в машинах пошук у для пошуку і витягнення даних, що зберігаються в структурованих і неструктурованих базах даних. Дана схема працює із зовнішніми базами даних, і приведена в ній деревоподібна структура не може бути використана для збереження рядкових величин, що є її недоліком. Відомий пристрій для збереження і пошуку інформації в пам'яті [РФ, патент №2101762, МПК G06F17/30, публ.1998.01.10]. Даний пристрій призначений для введення, збереження даних у вигляді деревоподібних стр уктур, а також зчитування, відновлення даних, пошуку за запитами. Пристрій реалізує реляційний принцип збереження й обробки даних і використовує дворівневу деревоподібну стр уктур у, що забезпечує підтримку посилальної цілісності зв'язаних таблиць, але не може бути е фективно використаний для збереження рядкових величин. Також відомий спосіб цифрового пошуку [Кн ут, Д.Э. Искусство программирования, том 3. Сортировка и поиск, 2-изд.: Пер. с англ.: Уч. пос. - М., 2000, с.527-529]. Цей спосіб цифрового пошуку ключів, що представлено у вигляді послідовності букв чи цифр, використовують у великих словниках. У відомому способі дані представляють у вигляді М-арного дерева, вузли якого є Ммісцевими векторами з компонентами, що відповідають буквам чи цифрам. Кожен вузол рівня l є набором усіх ключів, що починаються з визначеної послідовності l символів; вузол визначає розгалуження на Μ шля хів у залежності від l+1 символу. Унаслідок того що не всі комбінації елементів ключів припустимі і використовуються на практиці, більшість елементів М-місцевих векторів звичайно порожньо, що призводить до невиправдано великих витрат пам'яті. Крім того необхідність збереження всіх ключів у масиві і Марного дерева для пошуку ключів у масиві також призводить до великих витрат пам'яті. Це є недоліком відомого способу. Найбільш близьким до пристрою, що заявляється, і способу для збереження і пошуку рядкових величин за технічною сутністю і результатом, що досягається, є «променева пам'ять», запропонована Рене де ла Бріанде [R. de la Briandais. File searching using variable-length keys. In Proc. Western Joint Computer Conf., pages 295-298, San Francisco, March 1959; Рене де ла Бріанде Пошук файлів, який використовує ключі перемінної довжини. Праці Western Joint Computer Conf., 1959, с.295-298, - див. Кнут, Д.Э. Искусство программирования, том 3. Сортировка и поиск, 2-изд.: Пер. с англ.: Уч. пос. - М., 2000, с.529-530]. Описані пристрій і спосіб призначені для комп'ютерного пошуку рядкових величин і використовують ієрархічну стр уктуру, наведену на Фіг.1. Вузли рівня 1 ієрархічної структури відповідають значенням перших символів рядкових величин, елементи ієрархії другого рівня відповідають значенням других символів рядкових величин і т.д. У такий спосіб відбувається розгалуження «дерева», що продовжується, представляючи кожен ключ, символ за символом, до досягнення кінця слова, про що сигналізує ознака кінця слова, представлена спеціальним дочірнім вузлом. Пошук у цій ієрархічній структурі здійснюється шляхом знаходження елемента ієрархії рівня 1, що відповідає першому символу рядкової величини, потім дочірнього вузла цього елемента, що відповідає другому символу, і т.д. Недоліком відомого пристрою і способу є необхідність збереження всіх рядкових величин у спеціально виділеній області пам'яті, що додатково призводить до значних витрат пам'яті. В основу передбачуваного винаходу покладена задача створення пристрою для збереження і пошуку рядкових величин і способу збереження й пошуку рядкових величин, яким властиві менші витрати пам'яті. Зазначений технічний результат досягається тим, що в пристрій для збереження і пошуку рядкових величин, який містить блок збереження символів алфавіту, блок пам'яті для збереження даних у деревоподібній структурі, у якої кожна вершина містить символ алфавіту, і посилання на дочірні вершини, при цьому посилання на дочірні вершини упорядковані за номером в алфавіті символу, що міститься в них, множина вершин рівня 1 відповідає множині символів алфавіту, з яких починаються рядкові величини, гілка від кореня дерева до деякої вершини рівня і відповідає і початковим символам рядкових величин, що мають і однакових початкових символів, при цьому вершина рівня і гілки відповідає значенню г-го символу рядкової величини, додатково введений блок посилань на вершини й операційний блок, перший вхід-вихід якого зв'язаний із блоком збереження символів алфавіту, др угий вхід-ви хід зв'язаний із блоком пам'яті для збереження даних у деревоподібній структурі, третій вхід-ви хід зв'язаний із блоком посилань на вершини, четвертий і п'ятий входи-виходи операційного блоку є інформаційними, а також є першим і другим інформаційними входами-виходами пристрою, шостий вхід є керуючим входом операційного блоку, а також є третім входом пристрою, що також є керуючим, також у деревоподібній структурі в кожну вершину введене посилання на батьківську вершину, також у кожну вершину введено ознаку кінця рядкової величини, яка виражена числом, що для вершини рівня L дорівнює нулю, якщо вершина не відповідає останньому символу жодної рядкової величини довжини L, чи є унікальним позитивним числом N, якщо вершина відповідає останньому символу групи однакових рядкових величин довжини L, і також є номером N рядкової величини в деревоподібній структурі, а блок посилань на вершини містить упорядковані посилання на вершини, у яких ознака кінця рядкової величини є унікальним позитивним числом N, а номер посилання на вершину на одиницю менше цього числа і дорівнює N-1. Сукупність наведених відмітних ознак пристрою, що заявляється, дозволяє зменшити витрати пам'яті для збереження і пошуку рядкових величин за рахунок того, що деревоподібна структура використовується як для пошуку, так і для збереження рядкових величин. Зазначений технічний результат досягається тим, що в способі збереження і пошуку рядкових величин, у якому для пошуку рядкової величини в деревоподібній структурі розглядають 1-й символ рядкової величини, знаходять вершину рівня 1, що містить символ, який дорівнює першому символу рядкової величини, потім рекурсивно доти, поки пошук вершини не зазнає невдачі чи поки не буде знайдена вершина, що відповідає останньому символу рядкової величини, виконують наступні операції - розглядають символ рядкової величини, що є наступним за розглянутим, серед дочірніх вершин знайденої вершини знаходять вершину, що містить символ, який дорівнює розглянутому символу, додатково при пошуку рядкової величини в деревоподібній структурі після знаходження вершини, що відповідає останньому символу рядкової величини, визначають номер рядкової величини в деревоподібній структурі шляхом аналізу значення ознаки кінця рядкової величини знайденої вершини, при цьому нульове значення ознаки кінця рядкової величини вказує на відсутність шуканої рядкової величини в деревоподібній структурі, позитивне значення ознаки кінця рядкової величини є номером N шуканої рядкової величини в деревоподібній структурі, а також для збереження рядкових величин в деревоподібній структурі наповняють деревоподібну структур у даними відповідно до масиву рядкових величин, для цього задають перелік і порядок символів алфавіту, упорядковують за алфавітом масив рядкових величин, створюють гілки деревоподібної структури, при цьому для кожної групи однакових рядкових величин у порядку їхнього розташування за алфавітом створюють гілку, що відповідає групі однакових рядкових величин, а ознаці кінця рядкової величини останньої вершини відповідної гілки присвоюють значення, яке дорівнює порядковому номеру за алфавітом N відповідної групи однакових рядкових величин, і додають у блок посилань на вершини під номером N-1 посилання на вершину, здійснюють доступ до значення рядкової величини за її номером N у деревоподібній структурі, при цьому виділяють вершину, у якої значення ознаки кінця рядкової величини дорівнює N, потім рекурсивно - запам'ятовують символ, що міститься у виділеній вершині, виділяють вершину, що є батьківською для виділеної вершини, доти, поки не буде виділена коренева вершина, при цьому одержують послідовність символів рядкової величини в інверсному порядку, інвертують отриману послідовність символів, при цьому одержують рядкову величину, що зберігається в деревоподібній структурі під номером N. Сукупність наведених відмітних ознак способу, що заявляється, дозволяє зменшити витрати пам'яті для збереження і пошуку рядкових даних за рахунок того, що дозволяє однозначно визначити номер рядкової величини в деревоподібній структурі й одержати доступ до значення рядкової величини, що зберігається в деревоподібній структурі, за зазначеним номером. Порівняльний аналіз пристрою для збереження і пошуку рядкових величин, що заявляється, й пристрою-прототипу показує, що пристрій, який заявляється, відрізняється від прототипу додатковими конструктивними елементами і зв'язками. Це дозволяє зробити висновок про відповідність пристрою, що заявляється, критерію «новизна». Порівняльний аналіз способу збереження і пошуку рядкових величин, що заявляється, і способу-прототипу показує, що спосіб, який заявляється, відрізняється від прототипу додатково виконуваними операціями. Це дозволяє зробити висновок про відповідність способу, що заявляється, критерію «новизна». Сукупність відмітних ознак пристрою для збереження і пошуку рядкових величин і способу збереження і пошуку рядкових величин, що заявляються, в порівнянні з відомими технічними рішеннями аналогічного призначення дозволяє пристрою і способу, що заявляються, виявляти наступні властивості: - виконувати високошвидкісний пошук рядкової величини серед великого обсягу рядкових величин; - деревоподібна структура дозволяє зберігати всередині себе весь обсяг рядкових величин і витягати необхідні рядкові величини за заданим номером. Таким чином, сукупність відмітних ознак сприяє досягненню зазначеного технічного результату при використанні технічних рішень, що заявляються. При порівнянні пристрою для збереження і пошуку рядкових величин і способу збереження і пошуку рядкових величин, які заявляються, з іншими відомими технічними рішеннями аналогічного призначення не було виявлено технічних рішень з аналогічною чи подібною сукупністю відмітних ознак, а також таких, що виявляють подібні властивості. Це дає можливість зробити висновок про відповідність пристрою для збереження і пошуку рядкових величин та способу збереження і пошуку рядкових величин, що заявляються, критерію «винахідницький рівень». На Фіг.1 наведена схема прототипу «променева пам'ять». На Фіг.2 наведена структурна схема пристрою для збереження і пошуку рядкових величин. На Фіг.3 наведена функціональна схема взаємодії деревоподібної структури для збереження і пошуку рядкових величин і блоку посилань на вершини. Пристрій для збереження і пошуку рядкових величин (Фіг.2) містить блок 1 збереження символів алфавіту, блок 2 пам'яті для збереження даних у деревоподібній структурі, блок 3 посилань на вершини й операційний блок 4, причому перший вхід-ви хід блоку 4 зв'язаний із блоком 1 збереження символів алфавіту, другий вхід-ви хід зв'язаний із блоком 2 пам'яті збереження даних у деревоподібній структурі, третій вхід-вихід зв'язаний із блоком 3 посилань на вершини, інформаційні четвертий і п'ятий входи-виходи операційного блоку 4 є також інформаційними першим і другим входами-виходами пристрою, шостий вхід є керуючим входом операційного блоку, а також керуючим третім входом пристрою. Деревоподібна структура для збереження і пошуку рядкових величин (Фіг.3) організована в такий спосіб: кожна вершина містить символ алфавіту і посилання на дочірні вершини, при цьому посилання на дочірні вершини упорядковані за номером в алфавіті символу, що міститься в них, множина вершин рівня 1 відповідає множині символів алфавіту, з яких починаються рядкові величини, гілка від кореня дерева до деякої вершини рівня і відповідає і початковим символам рядкових величин, що мають і однакових початкових символів, при цьому вершина рівня і гілки відповідає значенню і-го символу рядкової величини, також у деревоподібній структурі кожна вершина містить посилання на батьківську вершину, також у кожну вершину введена ознака кінця рядкової величини, яка виражена числом, що для вершини рівня L дорівнює нулю, якщо вершина не відповідає останньому символу жодної рядкової величини довжини L, чи є унікальним позитивним числом Ν, якщо вершина відповідає останньому символу групи однакових рядкових величин довжини L, і також є номером N рядкової величини в деревоподібній структурі. Блок 3 посилань на вершини містить упорядковані посилання на вершини, у яких ознака кінця рядкової величини є унікальним позитивним числом Ν, а номер посилання на вершину на одиницю менше цього числа і дорівнює Ν-1. Особливості способу, що заявляється, можна розглянути на прикладі роботи пристрою, що заявляється. На перший вхід-вихід пристрою надходять рядкові величини. На другий вхід-вихід пристрою надходять номера рядкових величин у деревоподібній структурі. На третій керуючий вхід пристрою надходять керуючі сигнали, що визначають функцію, виконувану операційним блоком. На таблиці 1 наведена відповідність між значеннями керуючих сигналів і операцій, що виконує операційний блок, а також сигналів на входах і вихода х пристрою при виконанні цих операцій. Таблиця 1 Операційний блок 4 здійснює функцію керування пристроєм для збереження і пошуку рядкових величин. Зв'язок між даними, що зберігаються в блоці 1 збереження символів алфавіту, блоці 2 пам'яті для збереження даних у деревоподібній структурі і блоці 3 посилань на вершини здійснюється операційним блоком 4. Спочатку пристрій для збереження і пошуку рядкових величин є порожнім, тобто не містить рядкових величин. Припустимо, необхідно зберігати в пристрої масив рядкових величин, наведений у таблиці 2. Для цього наповняють деревоподібну структур у пристрою рядковими величинами масиву за допомогою наступної послідовності дій. Встановлюють алфавіт, для цього на перший інформаційний вхід-вихід пристрою подають рядок «ABCDEFGIJKLMNOPQRSTU VWXYZ» символів алфавіту, а на керуючий вхід пристрою подають сигнал SET_ALPHA. Упорядковують масив рядкових величин за алфавітом, у результаті одержують масив рядкових величин, приведений у таблиці 3. Потім послідовно додають рядки масиву до пристрою. Так, спочатку додають рядкову величину «HAD» (Фіг.3). Для цього на перший вхід-вихід пристрою подають рядкову величину «HAD», на керуючий вхід подають сигнал ADD_STR. При цьому операційний блок додає в деревоподібну стр уктуру гілку, що відповідає рядковій величині «HAD», а ознаці кінця рядкової величини останньої вершини цієї гілки привласнює значення 1, тому що кількість елементів у блоці 3 посилань на вершини дорівнює нулю, а посилання на останню вершину цієї гілки додає в блок 3 під номером 0. Операційний блок подає на другий вхід-ви хід пристрою вихідний сигнал 1. Потім додають рядкову величину «HAVE», що в упорядкованому масиві представлена групою двох однакових рядкових величин. Для цього на перший вхід-вихід пристрою подають рядкову величину «HAVE», на керуючий вхід подають сигнал ADD_STR. При цьому операційний блок додає в деревоподібну структур у гілку, що відповідає рядковій величині «HAVE», а ознаці кінця рядкової величини останньої вершини цієї гілки привласнює значення 2, тому що кількість елементів у блоці 3 посилань на вершини дорівнює одиниці, а посилання на останню вершину цієї гілки додає в блок 3 під номером 1. Операційний блок подає на другий вхід-вихід пристрою вихідний сигнал 2. У результаті виконання тих же дій для додавання в пристрій рядкових величин «НЕ», «HER», «HIS», «THAT», «THE», «THIS», «TO», «YOU» одержуємо пристрій, що зберігає рядкові величини вихідного масиву за абеткою, причому кожна група однакових рядкових величин (може бути представлена однією рядковою величиною) у деревоподібній структурі має унікальний номер (таблиця 4). Пристрій дозволяє здійснювати пошук рядкової величини серед рядкових величин, що зберігаються в ньому. Для цього на перший вхід-вихід пристрою подають шукану рядкову величину, а на керуючий вхід подають сигнал FIND_STR. Розглянемо пошук рядкової величини «THAT». На перший вхід-ви хід пристрою подають рядкову величину «TH AT», а на керуючий вхід подають сигнал FIND_STR. Операційний блок розглядає перший символ рядкової величини ¢Т¢, знаходить у блоці 2 пам'яті для збереження даних у деревоподібній структурі серед вершин першого рівня (які є дочірніми до кореневої вершини) вершину, що містить розглянутий символ, потім розглядає символ рядкової величини, що є наступним за розглянутим, - ¢Н¢, серед дочірніх вершин знайденої вершини знаходить вершину, що містить розглянутий символ ¢Н¢, розглядає символ рядкової величини, що є наступним за розглянутим, - ¢А¢, серед дочірніх вершин знайденої вершини знаходить вершину, що містить розглянутий символ ¢А¢, розглядає символ рядкової величини, що є наступним за розглянутим, - ¢Т¢, серед дочірніх вершин знайденої вершини знаходить вершину, що містить розглянутий символ ¢Т¢; оскільки знайдена вершина відповідає останньому символу рядкової величини, операційний блок визначає номер рядкової величини «THAT» у деревоподібній структурі шляхом аналізу ознаки значення рядкової величини: значення ознаки кінця рядкової величини дорівнює 6, отже рядкова величина «THAT» зберігається в пристрої під номером 6. Операційний блок видає на другий вхід-вихід пристрою сигнал 6. Розглянемо пошук рядкової величини «ТАТ». На перший вхід-ви хід пристрою подають рядкову величину «ТАТ», а на керуючий вхід подають сигнал FIND_STR. Операційний блок розглядає перший символ рядкової величини ¢Т¢, знаходить у блоці 2 пам'яті для збереження даних у деревоподібній структурі серед вершин першого рівня вершину, що містить розглянутий символ ¢Т¢, потім розглядає символ рядкової величини, що є наступним за розглянутим, - ¢А¢, серед дочірніх вершин знайденої вершини робить пошук вершини, що містить розглянутий символ ¢А¢. Пошук вершини закінчується невдачею. Операційний блок видає на другий вхід-ви хід пристрою сигнал 0. Розглянемо пошук рядкової величини «ТН». На перший вхід-ви хід пристрою подають рядкову величину «ТН», а на керуючий вхід подають сигнал FIND_STR. Операційний блок розглядає перший символ рядкової величини ¢Т¢, знаходить у блоці 2 пам'яті для збереження даних у деревоподібній структурі серед вершин першого рівня (є дочірніми кореневій вершині) вершину, що містить розглянутий символ ¢Т¢, потім розглядає символ рядкової величини, що є наступним за розглянутим, - ¢Н¢, серед дочірніх вершин знайденої вершини знаходить вершину, що містить розглянутий символ ¢Н¢; оскільки знайдена вершина відповідає останньому символу рядкової величини, операційний блок визначає номер рядкової величини «ТН» у деревоподібній структурі шляхом аналізу значення ознаки кінця рядкової величини: значення ознаки кінця рядкової величини дорівнює 0, отже в пристрої не зберігається рядкової величини «ТН». Операційний блок видає на другий вхід-ви хід пристрою сигнал 0. Пристрій дозволяє здійснювати доступ до значення рядкової величини за її номером N у деревоподібній структурі. Опишемо цю операцію на прикладі рядкової величини з номером 8 у деревоподібній структурі. На другий вхід-ви хід пристрою подають сигнал 8, а на керуючий вхід подають сигнал GET_STR. Операційний блок 4 знаходить у блоці 3 посилань на вершини посилання з номером 7, виділяє вершину блоку 2 пам'яті для збереження даних у деревоподібній структурі, на яку вказує знайдене посилання і значення ознаки кінця рядкової величини якої дорівнює 8. Потім операційний блок запам'ятовує символ 'S', який міститься у виділеній вершині, виділяє вершину, що є батьківською стосовно виділеної вершини, перевіряє, чи є виділена вершина кореневою, запам'ятовує символ ¢І¢, який міститься у виділеній вершині, виділяє вершину, що є батьківською стосовно виділеної вершини, перевіряє, чи є виділена вершина кореневою, запам'ятовує символ ¢Н¢, який міститься у виділеній вершині, виділяє вершину, що є батьківською стосовно виділеної вершини, перевіряє чи є виділена вершина кореневою, запам'ятовує символ ¢Т¢, який міститься у виділеній вершині, виділяє вершину, що є батьківською стосовно виділеної вершини, перевіряє чи є виділена вершина кореневою, і закінчує цей рекурсивний процес, тому що виділена вершина є кореневою. При цьому в операційному блоці запам'ятовано послідовність символів рядкової величини в інверсному порядку - «SIHT», операційний блок інвертує цю послідовність символів і при цьому одержує рядкову величину «THIS», яку видає на перший вхід-вихід пристрою. Таким чином, використання пристрою і способу, що заявляються, дозволяє зберігати в деревоподібній структурі рядкові величини і здійснювати їхній пошук з меншими витратами пам'яті. Це підтверджує досягнення зазначеного технічного результату. На дату подачі заявки розроблена комп'ютерна система декларативного морфологічного аналізу слів, яка використовує пристрій для збереження і пошуку рядкових величин і спосіб збереження і пошуку рядкових величин, що заявляються. Витрати пам'яті на збереження словника комп'ютерної системи морфологічного аналізу слів, обсяг якого складає близько 2,5млн. словоформ, з можливістю швидкісного пошуку зменшуються більш, ніж на 50% у порівнянні з відомими пристроями. Це доводить життєздатність принципів, покладених в основу пристрою і способу, що заявляються, і дає підставу зробити висновок про відповідність пристрою і способу, що заявляються, критерію «промислова застосовність».
ДивитисяДодаткова інформація
Назва патенту англійськоюMethod and device for storing and searching row data
Назва патенту російськоюСпособ и устройство для хранения и поиска строчных данных
МПК / Мітки
МПК: G06F 12/00, G06F 17/30, G06F 7/76
Мітки: пошуку, пристрій, спосіб, величин, рядкових, збереження
Код посилання
<a href="https://ua.patents.su/6-78806-pristrijj-dlya-zberezhennya-i-poshuku-ryadkovikh-velichin-ta-sposib-zberezhennya-i-poshuku-ryadkovikh-velichin.html" target="_blank" rel="follow" title="База патентів України">Пристрій для збереження і пошуку рядкових величин та спосіб збереження і пошуку рядкових величин</a>
Попередній патент: Аналізатор спектра фур’є та хартлі
Наступний патент: Безфосфатний пральний порошок “умка”
Випадковий патент: Спосіб одержання питної води