🗊Презентация Линейные списки, деревья, таблицы

Категория: Образование
Нажмите для полного просмотра!
Линейные списки, деревья, таблицы, слайд №1Линейные списки, деревья, таблицы, слайд №2Линейные списки, деревья, таблицы, слайд №3Линейные списки, деревья, таблицы, слайд №4Линейные списки, деревья, таблицы, слайд №5Линейные списки, деревья, таблицы, слайд №6Линейные списки, деревья, таблицы, слайд №7Линейные списки, деревья, таблицы, слайд №8Линейные списки, деревья, таблицы, слайд №9Линейные списки, деревья, таблицы, слайд №10Линейные списки, деревья, таблицы, слайд №11Линейные списки, деревья, таблицы, слайд №12Линейные списки, деревья, таблицы, слайд №13

Вы можете ознакомиться и скачать презентацию на тему Линейные списки, деревья, таблицы. Доклад-сообщение содержит 13 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Введение в С++
Линейный списки, двоичные деревья, hash-таблицы
Описание слайда:
Введение в С++ Линейный списки, двоичные деревья, hash-таблицы

Слайд 2





Структуры, препроцессор, динамическая память
Линейные списки
Линейные списки служат для представления в компьютере абстрактных 
структур данных (последовательностей, множеств, графов, др.). 
Описание узла линейного списка:
typedef struct node  {
     OBJECT *ptr;
     node   *next;
}  L,  *Lp ;
Lp first = NULL;
Описание слайда:
Структуры, препроцессор, динамическая память Линейные списки Линейные списки служат для представления в компьютере абстрактных структур данных (последовательностей, множеств, графов, др.). Описание узла линейного списка: typedef struct node { OBJECT *ptr; node *next; } L, *Lp ; Lp first = NULL;

Слайд 3





Структуры, препроцессор, динамическая память
Операции с линейными списками
Итеративный обход списка (в прямом направлении)
Рекурсивный обход списка в прямом направлении
Рекурсивный обход списка в обратном направлении
Описание слайда:
Структуры, препроцессор, динамическая память Операции с линейными списками Итеративный обход списка (в прямом направлении) Рекурсивный обход списка в прямом направлении Рекурсивный обход списка в обратном направлении

Слайд 4





Структуры, препроцессор, динамическая память
Линейные списки (продолжение)
Описание узла линейного списка:
typedef struct node  {
     OBJECT *ptr;
     node   *next;
}  L,  *Lp ;
Lp first = NULL;


Поиск в списке:
Пусть задан некий < образец> для поиска
Описание слайда:
Структуры, препроцессор, динамическая память Линейные списки (продолжение) Описание узла линейного списка: typedef struct node { OBJECT *ptr; node *next; } L, *Lp ; Lp first = NULL; Поиск в списке: Пусть задан некий < образец> для поиска

Слайд 5





Структуры, препроцессор, динамическая память
Вставка узла в начало списка:





Удаление узла из начала списка:




Вставка узла в произвольное место списка:
Описание слайда:
Структуры, препроцессор, динамическая память Вставка узла в начало списка: Удаление узла из начала списка: Вставка узла в произвольное место списка:

Слайд 6





Структуры, препроцессор, динамическая память
Удаление узла из произвольного места списка:





Описание узла двусвязного списка:
typedef struct node  {
     OBJECT *ptr;
     node   *next;
     node   *back;
}  L,  *Lp ;
Также имеются циклические и многосвязные списки.
Описание слайда:
Структуры, препроцессор, динамическая память Удаление узла из произвольного места списка: Описание узла двусвязного списка: typedef struct node { OBJECT *ptr; node *next; node *back; } L, *Lp ; Также имеются циклические и многосвязные списки.

Слайд 7





Структуры, препроцессор, динамическая память
Двоичные деревья
Определение:
Пустой граф и граф с одним узлом есть двоичное дерево. Граф вида:                                     
есть двоичное дерево.
Двоичное дерево, левая и правая части которого
есть двоичное дерево, также есть двоичное дерево.
Описание узла двоичного дерева:
typedef struct node  {
     OBJECT *ptr;
     node   *left;
     node   *right;
}  T,  *Tp ;
Описание слайда:
Структуры, препроцессор, динамическая память Двоичные деревья Определение: Пустой граф и граф с одним узлом есть двоичное дерево. Граф вида: есть двоичное дерево. Двоичное дерево, левая и правая части которого есть двоичное дерево, также есть двоичное дерево. Описание узла двоичного дерева: typedef struct node { OBJECT *ptr; node *left; node *right; } T, *Tp ;

Слайд 8





Структуры, препроцессор, динамическая память
Способы обхода двоичных деревьев:
head, left, right (hlr – обход)
порядок посещения узлов: 1 2 3 4 5 6 7
left, head, right (lhr – обход)
порядок посещения узлов: 4 2 5 1 6 3 7
left, right, head (lrh – обход)
порядок посещения узлов: 4 5 2 6 7 3 1
Алгоритм hlr – обхода:



								1 2 3 4 5 6 7
Описание слайда:
Структуры, препроцессор, динамическая память Способы обхода двоичных деревьев: head, left, right (hlr – обход) порядок посещения узлов: 1 2 3 4 5 6 7 left, head, right (lhr – обход) порядок посещения узлов: 4 2 5 1 6 3 7 left, right, head (lrh – обход) порядок посещения узлов: 4 5 2 6 7 3 1 Алгоритм hlr – обхода: 1 2 3 4 5 6 7

Слайд 9





Структуры, препроцессор, динамическая память
Алгоритм lhr – обхода:


								
								4 2 5 1 6 3 7



Алгоритм lrh – обхода:



								4 5 2 6 7 3 1
Описание слайда:
Структуры, препроцессор, динамическая память Алгоритм lhr – обхода: 4 2 5 1 6 3 7 Алгоритм lrh – обхода: 4 5 2 6 7 3 1

Слайд 10





Структуры, препроцессор, динамическая память
Поиск, вставка, сортировка в двоичных деревьях
Двоичные деревья полезны, когда им присущ внутренний порядок (сорт. дерево).                                     
Пусть определена некоторая хэш-функция h (<OBJECT>).
Итеративный поиск в сорт. дереве:







Рекурсивный поиск в сорт. дереве:
Описание слайда:
Структуры, препроцессор, динамическая память Поиск, вставка, сортировка в двоичных деревьях Двоичные деревья полезны, когда им присущ внутренний порядок (сорт. дерево). Пусть определена некоторая хэш-функция h (<OBJECT>). Итеративный поиск в сорт. дереве: Рекурсивный поиск в сорт. дереве:

Слайд 11





Структуры, препроцессор, динамическая память
Рекурсивный поиск в сорт. дереве с включением:







После отработки алгоритма locate сортировка есть просто lhr (rhl) –обход сорт. дерева.
Пример: 
пусть данные поступают в дерево 
в следующем порядке: 
4 5 2 7 3 6 1
Осуществим lhr-обход, получим:
1 2 3 4 5 6 7
Описание слайда:
Структуры, препроцессор, динамическая память Рекурсивный поиск в сорт. дереве с включением: После отработки алгоритма locate сортировка есть просто lhr (rhl) –обход сорт. дерева. Пример: пусть данные поступают в дерево в следующем порядке: 4 5 2 7 3 6 1 Осуществим lhr-обход, получим: 1 2 3 4 5 6 7

Слайд 12





Структуры, препроцессор, динамическая память
Задача из теории компиляторов. Вычисление выражений:
Пусть требуется вычислить следующее выражение:
	( ( a + b ) % c ) * ( d – f )
Построим следующее двоичное дерево:
Обойдем данное двоичное дерево в порядке lrh и будем вычислять выражения в узлах,
используя обратную польскую запись (постфиксную форму).
Проверьте, что при таком обходе дерева выражение будет вычислено корректно.
Исследуйте работу программного стека.
Описание слайда:
Структуры, препроцессор, динамическая память Задача из теории компиляторов. Вычисление выражений: Пусть требуется вычислить следующее выражение: ( ( a + b ) % c ) * ( d – f ) Построим следующее двоичное дерево: Обойдем данное двоичное дерево в порядке lrh и будем вычислять выражения в узлах, используя обратную польскую запись (постфиксную форму). Проверьте, что при таком обходе дерева выражение будет вычислено корректно. Исследуйте работу программного стека.

Слайд 13





Структуры, препроцессор, динамическая память
Hash-таблицы (таблицы с перемешиванием)
Описание слайда:
Структуры, препроцессор, динамическая память Hash-таблицы (таблицы с перемешиванием)



Похожие презентации
Mypresentation.ru
Загрузить презентацию