Презентация Динамические структуры данных. Деревья онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Динамические структуры данных. Деревья абсолютно бесплатно. Урок-презентация на эту тему содержит всего 98 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Динамические структуры данных. Деревья
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:98 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:5.23 MB
- Просмотров:127
- Скачиваний:1
- Автор:неизвестен
Слайды и текст к этой презентации:
№3 слайд
Содержание слайда: Деревья – основные понятия
Следующие определения дерева эквивалентны. Граф G=(V, E), где |V| =N и |E| =M является деревом, если:
G – связный граф и M=N-1;
G – ациклический граф и M=N-1;
любые две несовпадающие вершины графа G соединяет единственная простая цепь;
G – ациклический граф, обладающий тем свойством, что если какую-либо пару несмежных вершин соединить ребром, то полученный граф будет содержать ровно один цикл.
№4 слайд
Содержание слайда: Деревья – основные понятия
Терминология, связанная с понятием дерева:
корнем дерева называют единственную вершину, находящуюся вверху «перевернутого» дерева;
самые нижние вершины дерева называют листьями;
вершину называют внутренней, если она не является ни корнем и ни листом;
о вершине, которая находится непосредственно над другой вершиной, говорят, что она – родитель (предок), а вершина, которая расположена непосредственно под другой вершиной, называется потомком.
№6 слайд
Содержание слайда: Деревья – основные понятия
Считают, что корень дерева расположен на первом уровне. Его потомки находятся на втором уровне и т. д. Максимальный уровень какой-либо вершины дерева называется глубиной или высотой дерева. Число потомков вершины называется ее степенью. Максимальное значение этих степеней есть степень дерева. Степень дерева на рисунке, приведенном выше, равна трем.
№7 слайд
Содержание слайда: Деревья – основные понятия
Деревья в программировании используются значительно чаще, чем графы. Так, на построении деревьев основаны многие алгоритмы сортировки и поиска. Компиляторы в процессе перевода программы с языка высокого уровня на машинный язык представляют фрагменты программы в виде деревьев, которые называются синтаксическими.
№10 слайд
Содержание слайда: Деревья – основные понятия
Двоичные (бинарные) деревья поиска (подкласс двоичных деревьев) характеризуются тем, что значение информационного поля, связанного с вершиной дерева, больше любого соответствующего значения из левого поддерева и меньше, чем содержимое любого узла его правого поддерева.
№13 слайд
Содержание слайда: Вид двоичного дерева
Что же нам дает такое упорядочивание? То, что мы легко можем отыскать требуемый ключ x в дереве! Просто сравним x со значением в корне. Если они равны, то мы нашли требуемое. Если же x меньше (больше), то он может оказаться только в левом (соответственно правом) поддереве.
№16 слайд
Содержание слайда: Добавление элемента в дерево
То, что указано в описании - это структура, описывающая звено дерева. По ходу выполнения программы Звенья будут создаваться и дописываться к существующим по указанным правилам. Сама эта структура – это фундамент очень простого бинарного дерева.
№17 слайд
Содержание слайда: Добавление элемента в дерево
Заполнение простого бинарного дерева разделено на три основные части, а именно – Если дерево пустое, то надо создать первый элемент. Этот элемент будет корнем дерева. После создания первого элемента надо выделить память для возможных ветвей.
Если дерево что-то содержит, то проверяется условие, согласно которому мы размещаем в дереве элементы.
№18 слайд
Содержание слайда: Добавление элемента в дерево
Бинарное дерево – это упорядоченное дерево, каждая вершина которого имеет не более двух поддеревьев, причем для каждого узла выполняется правило: в левом поддереве содержатся только ключи, имеющие значения, меньшие, чем значение данного узла, а в правом поддереве содержатся только ключи, имеющие значения, большие, чем значение данного узла.
№19 слайд
Содержание слайда: Добавление элемента в дерево
При всем этом, если элемент, который мы хотим поместить в дерево больше чем корневой, то с помощью рекурсивного вызова функции происходит последовательное перемещение элемента в правую часть.
Если записываемый элемент меньше чем корневой, то выполняется такая же перестановка, только в левую сторону.
№23 слайд
Содержание слайда: Добавление элемента в дерево
if (x<MyTree->x) //Если нововведенный элемент x меньше чем элемент x из корня дерева, уходим влево
{ if (MyTree->l!=NULL) add_node(x, MyTree->l); //При помощи рекурсии помещаем элемент на свободный участок
else //Если элемент получил свой участок, то
{ MyTree->l=new Node; //Выделяем память левому подзвену.
№25 слайд
Содержание слайда: Добавление элемента в дерево
if (x>MyTree->x) //Если нововведенный элемент x больше чем элемент x из корня дерева, уходим вправо
{ if (MyTree->r!=NULL) add_node(x, MyTree->r); //При помощи рекурсии заталкиваем элемент на свободный участок
else //Если элемент получил свой участок, то
{ MyTree->r=new Node; //Выделяем память правому подзвену.
№27 слайд
Содержание слайда: Обход дерева
void show(Node *&Tree) //Функция обхода
{
if (Tree!=NULL) //Пока не встретится пустое звено
{
show(Tree->l); //Рекурсивная функция для вывода левого поддерева
cout<<Tree->x; //Отображаем корень дерева
show(Tree->r); //Рекурсивная функци для вывода правого поддерева
}
}
№33 слайд
Содержание слайда: Удаление элемента из дерева
Тут так просто не получится — у левого потомка может уже быть правый потомок. Поступим по-другому: найдем в правом поддереве минимум. Ясно, что его можно найти если начать в правом потомке и идти до упора влево. Т.к у найденного минимума нет левого потомка, можно вырезать его по аналогии со случаем 1 и вставить его вместо удаляемой вершины. Из-за того что он был минимальным в правом поддереве, свойство упорядоченности не нарушится:
№35 слайд
Содержание слайда: Удаление элемента из дерева
//ищем самую правую вершину левого поддерева
void del_potomka(struct BinaryTree *r, struct BinaryTree *q) //в качестве аргумента элемент, который и надо удалить
{
if(r->right!=NULL) del_potomka(r->right, q);
else
{
q->data=r->data;
q=r;
r=r->left;
}
}
№36 слайд
Содержание слайда: Удаление элемента из дерева
/*удаление вершины из дерева*/
void delete_element(int x, struct BinaryTree *p)
{
if(p==NULL) printf("Элемента в дереве нет!\n");
else if(x<p->data) delete_element(x,p->left); //идём влево
else if(x>p->data) delete_element(x,p->right); //идём вправо
Скачать все slide презентации Динамические структуры данных. Деревья одним архивом:
-
Динамические структуры данных. Стек, очередь, дек, деревья
-
Динамические структуры данных (язык Си). Тема 6. Деревья
-
Динамические структуры данных (язык Паскаль)
-
Динамические данные разветвленной структуры
-
Динамические структуры данных: очереди и стеки
-
Динамические структуры данных: списки
-
Деревья - структуры данных
-
Динамические структуры данных. Односвязные и двусвязные списки
-
Динамические структуры данных и их организация с помощью указателей
-
Основы алгоритмизации и программирования. Лекция 15. Динамические структуры данных