Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Суффіксние дерева пошуку

Реферат Суффіксние дерева пошуку





e_cabling, backward_brunch, backward_drive.


6. Друк дерева


Для друку дерева введіть «2», як показано на рис. 2:


Рис. 2


Зауважимо, що слово «backward» (підкреслено жовтим) додано до слова «back» (підкреслено блакитним) і тому воно не розбите як наступні слова (підкреслено червоним). Це наслідок того, що слова додавалися не в алфавітному порядку.


7. Пошук елемента

Для пошуку необхідного слова необхідно ввести «3» і саме значення, як показано на рис. 3:



Рис. 3


В даному випадку введено слово «back_transfer», якого немає в дереві. Програма вивела повідомлення, що слово «back_transfer», не знайдено. Якщо ввести для пошуку слово «backup», то програма виведе повідомлення, що слово «backup» знайдено (рис. 4):


Рис. 4


9. Керівництво системного програміста


Для запуску програми необхідно зайти в папку tree/Debug і запустити файл «tree.exe». Програма буде працювати на версіях ОС Windows XP і вище.

Додаток


Програмний код з коментарями:

/**

file MyClass.h (MyClass.cpp)

brief Клас cписок з модулями

Брігаденко

date 13,02,2014

*/

# include lt; list gt;

# include lt; iterator gt;

namespace std;

int MAX_STR=256;// Розмір для буферної змінної


//вузол дереваnode

{: val [MAX_STR];// Змінна для запису суфікса у вузол

//конструктор список покажчиків на можливі вузли lt; node * gt; lstNode;

//покажчик на батька * parent;

//конструктор з парметр (char * node_val);

//конструктор для кореня без параметра ();

//деструктор

~ node ();

/// Друк даний у вигляді дерева «на боці»

/// Рекурсивний обхід дерева праворуч налевоprint (int level=0);

//функція пошуку вузла

//Рекурсивний обхід дерева справа наліво

};


//деревоtree

{: * root;// Покажчик на корінь * zero_node;// Покажчик на порожній вузол

//Забороняємо копіювання і присвоєння (const tree amp;);

tree amp; operator=(const tree amp;);


//закриті внутрішні фунции


//Зробити кореньmake_root (char * root_val)

{b [MAX_STR]=»»;

//створюємо корінь і в нього записуємо покажчик

//на вузол з початком слова=new node (); (b, root_val, 1); * tn=new node (b);// Конструюємо вузол з однією літерою gt; parent=root;// Реєстрація засновниками у нащадка gt; lstNode.push_back (tn);// Реєстрація нащадка у батька

//створюємо перше слово в цій букві

//копіюємо слово без першої літери * tn1=new node (root_val + 1);

//рестрація- gt; parent=tn; gt; lstNode.push_back (tn1);

}


//Вставка вузла * insert_node (char * insert_value, node * start_node=0)

{b [MAX_STR]=»»;// Буфер обміну

if (! root)//якщо дерево пусте створюємо корінь

{

//при створенні створити 3 вузла: порожній рядок - спільний корінь - точка входу в дерево

//вузол по першій букві слова, вузол зі словом без першої літери

make_root (insert_value); root;

}

//перводітся покажчик у вихідне положення на корені

if (! start_node) start_node=root; * tn=start_node; * tnl=zero_node;

if (fd_nd (insert_value) == true)//перевіряємо чи слово в деревеNULL;// Якщо є, то виходимо і говоримо, що слово вже додано

//поки не перебрали всі можливі вузли і якщо нове значення вузла унікальне (tn)

{

//на першому рівні все де є хочаб 1 покажчик на підлеглий рівень букв

//1-й крок - прохожд. за початковими літерами

for each (node ??* tn1 in tn- gt; lstNod...


Назад | сторінка 2 з 5 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Кнебель про слово
  • Реферат на тему: Спочатку було ... слово
  • Реферат на тему: Нано як ключове слово епохи
  • Реферат на тему: Мова рідна, слово рідне
  • Реферат на тему: Художнє слово як засіб морального виховання дошкільніків