Лабораторной работе №3. Алгоритмы и структуры данных. Тема: Деревья. ЛЭТИ. 2020
Состав работы
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
- Программа для просмотра изображений
Описание
Лабораторной работе №3. Алгоритмы и структуры данных.
Тема: Деревья. ЛЭТИ. 2020
Цель работы
Исследование алгоритмов для работы с двоичным деревом
Задание
В двоичном дереве сделать обратную разметку, обойти дерево в глубину и подсчитать количество левых листьев
Постановка задачи и описание решения
Для представления дерева в памяти предложен естественный способ – разветвляющийся список. Узлы дерева – объекты, связи между которыми осуществляются через указатели. Для создания дерева достаточно объявить корень, членами которого являются левый и правый указатели на узлы дерева. Для работы с деревом удобнее иметь отдельный класс “дерево”, в котором собираются данные о всем дереве и функции-члены для работы с ним, в то время как для узлов сделать отдельный класс и сделать его дружественным для класса “дерево”
В программе под левым листом понимается узел, который находится в указателе left предыдущего узла и у которого отсутствуют сыновья. То есть если у узла нет сыновей, он единственный сын предыдущего узла, но при этом он находится в указателе right, левым листом его считать нельзя!
Итак, в программе первым делом создается дерево. Функция создания дерева вызывает рекурсивную функцию создания узла.
Для создания дерева в памяти применяется прямой алгоритм обхода (для графов общего вида – обход в глубину. Для дерева эти термины эквивалентны). Первым шагом алгоритма является проверка необходимости создания узла. Если ответ положительный, узел создается, и в нем заполняются информационные поля. Далее заполняются поля указателей на каждого сына: для получения значения указателя алгоритм запускается рекурсивно. Результат – указатель на вновь созданный узел или нуль, если узел не создан
После создания дерева вызывается функция его обхода в глубину. Я решил модернизировать эту функцию, добавив в нее возможность нахождения левых листьев дерева. Для этого создается стек узлов дерева, в которое вносятся и обрабатываются необходимые узлы. Если у очередного узла у его левого сына отсутствуют сыновья, то счетчик левых листьев увеличивается на единицу.
В работе я решил не использовать перемещающий конструктор и перемещающее присваивание, поскольку в методичке написано: “сделать невозможным использование тех конструкторов, которые на самом деле не нужны”
Содержание
Введение ........................................................................................................ 3
Задание ........................................................................................................... 3
Постановка задачи и описание решения ..................................................... 3
Контрольные тесты ...................................................................................... 4
Вывод ............................................................................................................. 6
Список использованных источников........................................................... 7
Текст программы ........................................................................................... 8
Тема: Деревья. ЛЭТИ. 2020
Цель работы
Исследование алгоритмов для работы с двоичным деревом
Задание
В двоичном дереве сделать обратную разметку, обойти дерево в глубину и подсчитать количество левых листьев
Постановка задачи и описание решения
Для представления дерева в памяти предложен естественный способ – разветвляющийся список. Узлы дерева – объекты, связи между которыми осуществляются через указатели. Для создания дерева достаточно объявить корень, членами которого являются левый и правый указатели на узлы дерева. Для работы с деревом удобнее иметь отдельный класс “дерево”, в котором собираются данные о всем дереве и функции-члены для работы с ним, в то время как для узлов сделать отдельный класс и сделать его дружественным для класса “дерево”
В программе под левым листом понимается узел, который находится в указателе left предыдущего узла и у которого отсутствуют сыновья. То есть если у узла нет сыновей, он единственный сын предыдущего узла, но при этом он находится в указателе right, левым листом его считать нельзя!
Итак, в программе первым делом создается дерево. Функция создания дерева вызывает рекурсивную функцию создания узла.
Для создания дерева в памяти применяется прямой алгоритм обхода (для графов общего вида – обход в глубину. Для дерева эти термины эквивалентны). Первым шагом алгоритма является проверка необходимости создания узла. Если ответ положительный, узел создается, и в нем заполняются информационные поля. Далее заполняются поля указателей на каждого сына: для получения значения указателя алгоритм запускается рекурсивно. Результат – указатель на вновь созданный узел или нуль, если узел не создан
После создания дерева вызывается функция его обхода в глубину. Я решил модернизировать эту функцию, добавив в нее возможность нахождения левых листьев дерева. Для этого создается стек узлов дерева, в которое вносятся и обрабатываются необходимые узлы. Если у очередного узла у его левого сына отсутствуют сыновья, то счетчик левых листьев увеличивается на единицу.
В работе я решил не использовать перемещающий конструктор и перемещающее присваивание, поскольку в методичке написано: “сделать невозможным использование тех конструкторов, которые на самом деле не нужны”
Содержание
Введение ........................................................................................................ 3
Задание ........................................................................................................... 3
Постановка задачи и описание решения ..................................................... 3
Контрольные тесты ...................................................................................... 4
Вывод ............................................................................................................. 6
Список использованных источников........................................................... 7
Текст программы ........................................................................................... 8
Дополнительная информация
2020
Похожие материалы
Лабораторной работе №4. Алгоритмы и структуры данных. Тема: Графы. ЛЭТИ.
DiKey
: 23 марта 2023
Лабораторной работе №4. Алгоритмы и структуры данных.
Тема: Графы. ЛЭТИ.
Вариант 35
Содержание
Введение ........................................................................................................ 3
Задание ........................................................................................................... 3
Постановка задачи и описание решения ..................................................... 3
Контрольные тесты ..........................................................
75 руб.
Лаборатоной работе №3 по дисциплине АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ. Тема ДЕРЕВЬЯ.
DiKey
: 28 марта 2023
Лаборатоной работе №3 по дисциплине АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ. Тема ДЕРЕВЬЯ.
Задание
1. Написать и отладить программу для работы с деревьями по предложенному преподавателем варианту индивидуального задания (табл. П.2.2). Программа должна выводить на экран изображение дерева с разметкой его вершин, сделанной заданным способом, а под ним — последовательность меток вершин при обходе дерева и результат вычисления заданного параметра. Можно взять за основу учебный пример.
2. Сделать узел дерева
100 руб.
Лабораторной работе №3. по дисциплине Алгоритмы и структуры данных. Тема Рекурсивные алгоритмы.
DiKey
: 28 марта 2023
Лабораторной работе №3. по дисциплине Алгоритмы и структуры данных. Тема Рекурсивные алгоритмы.
Теоретическая часть
Обход дерева - вид обхода графа, обусловливающий процесс посещения каждого узла структуры дерева данных ровно один раз. Такие обходы классифицируются по порядку, в котором узлы посещаются. Алгоритмы относятся к двоичным деревьям, но могут быть обобщены и для других деревьев.
В отличие от связных списков, одномерных массивов и других линейных структур данных, которые канонически
100 руб.
Лабораторной работе №4. По дисциплине Алгоритмы и структуры данных. Тема Построение минимального остовного дерева.
DiKey
: 28 марта 2023
Лабораторной работе №4. По дисциплине Алгоритмы и структуры данных. Тема Построение минимального остовного дерева.
ЦЕЛЬ РАБОТЫ
Ознакомление с вариантами реализации алгоритмов на графах на примере задачи построения минимального остовного дерева.
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Алгоритм Прима
Алгоритм начинается с выбора произвольной вершины. Она принимается за часть построенного минимального остовного дерева.
Далее в цикле в каждой итерации рассматриваются только те ребра исходного графа, одн
100 руб.
Алгоритмы и структуры данных. Лабораторная работа №3. (Вариант №2)
Milka189904
: 21 сентября 2021
Лабораторная работа №3
Тема: Бинарные деревья
Цель работы: изучить понятие и способы описания бинарных деревьев и освоить их приемы программирования алгоритмов их обработки.
Задание
На основе материалов конспекта лекций (раздел 5) и рекомендуемой литературы изучить теоретический материал по программированию бинарных деревьев.
Сформировать дерево (деревья) двоичного поиска и вывести его (их) на экран.
Выполнить обработку данных на этом бинарном дереве (табл. 3, задание 1) и вывести обработанно
250 руб.
Лабораторная работа №3 по дисциплине "Алгоритмы и структуры данных". Вариант №3
Андрей459
: 24 января 2022
Лабораторная работа №3
Тема: Бинарные деревья
Цель работы: изучить понятие и способы описания бинарных деревьев и освоить их приемы программирования алгоритмов их обработки.
Задание
На основе материалов конспекта лекций (раздел 5) и рекомендуемой литературы изучить теоретический материал по программированию бинарных деревьев.
Сформировать дерево (деревья) двоичного поиска и вывести его (их) на экран.
Выполнить обработку данных на этом бинарном дереве (табл. 3, задание 1) и вывести обработанно
890 руб.
Лабораторная работа № 3 по дисциплине: Алгоритмы и структуры данных. Вариант №14
IT-STUDHELP
: 14 апреля 2021
Вариант №14
Лабораторная работа №3 - Бинарные деревья
Цель работы: изучить понятие и способы описания бинарных деревьев и освоить их приемы программирования алгоритмов их обработки.
Задание
1. На основе материалов конспекта лекций (раздел 5) и рекомендуемой литературы изучить теоретический материал по программированию бинарных деревьев.
2. Сформировать дерево (деревья) двоичного поиска и вывести его (их) на экран.
3. Выполнить обработку данных на этом бинарном дереве (табл. 3, задание 1) и вы
300 руб.
Лабораторная работа №3 по дисциплине "Алгоритмы и структуры данных" (вариант 6)
Greenberg
: 28 августа 2020
Тема: Бинарные деревья
Цель работы: изучить понятие и способы описания бинарных деревьев и освоить их приемы программирования алгоритмов их обработки.
Задание
1. На основе материалов конспекта лекций (раздел 5) и рекомендуемой литературы изучить теоретический материал по программированию бинарных деревьев.
2. Сформировать дерево (деревья) двоичного поиска и вывести его (их) на экран.
3. Выполнить обработку данных на этом бинарном дереве (табл. 3, задание 1) и вывести обработанное дерево на экран
140 руб.
Другие работы
Влияние вредных привычек на здоровье молодежи
alfFRED
: 10 февраля 2014
Актуальность. Актуальность выбранной темы заключается в том, что в современном обществе реальную угрозу здоровью человека представляют вредные привычки (алкоголь, табакокурение, наркомания и интернет зависимость). Особенно большое распространение эти вредные привычки получили в среде молодёжи. Вредные привычки оказывают негативное влияние на жизнь общества в целом, а также на жизнь и деятельность личности в отдельности.
Проблема употребления алкоголя очень актуальна в наши дни. Сейчас потреблени
10 руб.
Структуры и алгоритмы обработки данных (часть 1) Контрольная работа №1
SOKOLOV
: 2 марта 2025
КОНТРОЛЬНАЯ РАБОТА №1
по дисциплине «Структуры и алгоритмы обработки данных»
Задания:
1. Для набора из 12 символов ФИО студента выполнить вручную сортировку методом прямого выбора (пример см. в лекциях, раздел 2.1). Определить количество необходимых сравнений и перестановок.
2. Для набора из 12 символов ФИО студента выполнить вручную шейкерную сортировку. Подсчитать количество необходимых сравнений и перестановок. Определить на каждом шаге в методе шейкерной сортировки левую и правую
229 руб.
Процесс поиска пути в двухзвенном коммутационном поле
gudrich
: 30 марта 2012
1. Цель работы
1.1. Изучение принципов поиска пути в автоматических системах коммутации (АСК) с программным управлением.
1.2. Изучение состава данных, используемых программой поиска пути.
1.3. Изучение принципа организации поиска пути в 2-хзвеном КП.
1.3. Моделирование с помощью персональной ЭВМ процесса поиска пути в КП.
2. Подготовка к выполнению работы
2.1. Используя рекомендуемую литературу и настоящие методические указания, необходимо изучить:
а) принципы организации поиска пути в автоматич
300 руб.
Экзамен по "Архитектуре вычислительных систем". Вариант 0.
Eva
: 3 июня 2011
Задача 1.
Гипотетический RISC микропроцессор имеет регистровый файл с 32 глобальными регистрами, и 5 окон из 8 регистров для входных параметров, 16 регистров для локальных переменных и 8 регистров для выходных параметров. Определите:
1) общее число регистров микропроцессора;
2) размер регистрового окна, видимого подпрограмме;
3) размер регистров в области пересечения двух окон.
Задача 2.
Из каких блоков состоит центральный процессор в гарвардской архитектуре и какие они выполняют функции? Какие
50 руб.