
- •Курсовий проект
- •Завдання на курсовий проект
- •Реферат
- •1.1 Бінарне дерево
- •1.2 Обхід бінарного дерева
- •1.3 Бінарне дерево на базі масиву
- •2.1. Комп’ютерна програма
- •2.2. Життєвий цикл програмного забезпечення
- •2.3. Мови програмування
- •2.4 Системи та середовища програмування
- •3.1 Інструкція по використанню програми
- •Натискаємо «Enter» и отримуємо готове бінарне дерево пошуку мал. 6 мал. 6 висновок
- •Список літератури
- •Додаток
3.1 Інструкція по використанню програми
1. Запускаємо програму мал. 4.
Запущена програма мал. 4.
2.Вводимо числа для бінарного дерева мал.5
мал. 5
Натискаємо «Enter» и отримуємо готове бінарне дерево пошуку мал. 6 мал. 6 висновок
У виконаній роботі було розглянуто процеси пошуку інформацій та розроблено структури даних для ефективного зберігання та обробки інформації. Як приклад розглянуто бінарне дерево. Це динамічна структура даних, розмір якої обмежується тільки розміром віртуальної пам'яті комп'ютера. Бінарні дерева забезпечують пошук конкретного значення, максимуму, мінімуму, попереднього, наступного, операції вставки та видалення елемента. Розглянуті у роботі бінарні структури широко використовуються у житті, наприклад це різноманітні "ієрархічні структури", які нині широко використовуються в багатьох комп'ютерних завданнях. На даний час також розвивається граматичний аналіз, в основі якого і знаходяться принципи бінарних дерев. Граматичний аналіз на даний час широко використовується у сучасних пошукових алгоритмах.
Список літератури
1. Баррон Д. Рекурсивные методы в программировании, - М.: 1974
2. Дмитриева М.В., Кубенский А.А. Элементы современного программирования, - СПб.: 1991.
3. Барашенков В.В. Анализ и преобразование операторных схем алгоритмов: учебное пособие. - Л.: ЛЭТИ, 1979.
4. Кинг Д. Создание еффективного программного обеспечения. - М.: Мир, 1991.
5. Барашенков В.В. Интерпретация операторных схем алгоритмов. - Л.: ЛЭТИ, 1978.
6. Бентли Дж. Жемчужины творчества программистов. - М.: Мир, 1990.
7. Шауман А.М. Основы машинной арифметики. - 1979.
8. Ахо, Альфред В. и др. Построение и анализ вычислительных алгоритмов. - М.: Мир, 1979
9. Криницкий Н.А. Программирование и алгоритмические языки. - 1975.
10. Прикладные вопросы системного анализа. Межвузовский тематический сборник. Вып.2. Куйбышев, 1976.
11. Автоматическое построение ассоциативного списка со сжатием информации. - К., 1976.
12. Квиттнер П. Задачи, программы, вычисления, результаты. - М.: Мир, 1980.
13. Шауман А.М. Основы машинной арифметики. - 1979.
14. Малоземов В.Н. Певный А.Б. Рекуррентные вычисления. - Л., изд. ун-та, 1976.
Додаток
Програмний код бінарного дерева
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <conio.h>
struct Node
{ int key;
Node *l;
Node *r;
};
typedef Node* NodePtr;
void AddTree(NodePtr& t, int k);
void TreeOut( NodePtr t, int level=1 );
void main()
{ NodePtr t, tl;
int n, e;
t = NULL;
cout <<"vvedite 4isla, konec- Ctrl+Z: ";
while ( cin >>e ) AddTree(t, e);
cout <<endl; TreeOut( t );
TreeOut(t);
}
void AddTree(NodePtr& t, int k)
{ if (t == NULL)
{ t = new Node; t->l = NULL; t->r = NULL; t->key = k; }
else
{ if (k >= t->key) AddTree(t->r, k);
if (k < t->key) AddTree(t->l, k);
}
}
void TreeOut( NodePtr t, int level )
{ int tab = 5;
if (t == NULL) cout <<"Derevo pusto \n";
else
{ if (t->r != NULL) TreeOut(t->r, level+1);
cout <<setw(tab*level) <<t->key <<endl;
if (t->l != NULL) TreeOut(t->l, level+1);
}
}