|
3 / 3 / 0
Регистрация: 02.04.2017
Сообщений: 273
|
|||||||||||||||||||||||||||||||
Класс-контейнер на основе бинарного дерева, содержащий квадраты,17.09.2017, 17:47. Показов 3035. Ответов 6
Метки нет (Все метки)
Необходимо спроектировать и запрограммировать на языке C++ класс-контейнер (бинарное дерево),
содержащее квадрат. Класс-контейнер должен соджержать объекты фигур “по значению”(не по ссылке). Класс-контейнер должен иметь метод по добавлению/получению/удалению фигуры из контейнера, должен иметь перегруженный оператор по выводу контейнера в поток std::ostream (<<) и деструктор. Не буду прикреплять сами функции. Важно узнать как доделать дерево, чего не хватает? Квадрат
0
|
|||||||||||||||||||||||||||||||
| 17.09.2017, 17:47 | |
|
Ответы с готовыми решениями:
6
Реализация многочлена (класс на основе списка, бинарного или сбалансированного дерева) Построение бинарного дерева на основе не бинарного Словарь на основе бинарного дерева |
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
||
| 17.09.2017, 18:33 | ||
|
Дерево обычно хранит иерархически организованные данные. Пока не понятно, что это за квадрат и как его иерархически организовать. Имеет смысл например взять прямоугольник, потом разбивать его на меньшие прямоугольники, чередуя координаты. Например в задаче поиска на плоскости такая структура часто применяется. Тогда у узла должен быть метод для его разбиения.
0
|
||
|
3 / 3 / 0
Регистрация: 02.04.2017
Сообщений: 273
|
|
| 17.09.2017, 19:01 [ТС] | |
|
woldemas, вопрос, к сожалению, не в этом. Выше я привел точную формулировку задания. Скорее всего смысл в том, чтобы научиться создавать динамические структуры и работать с объектами, передаваемыми по значению. Ничего больше.
0
|
|
|
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
|
||||||
| 17.09.2017, 19:39 | ||||||
Сообщение было отмечено Key27 как решение
Решение
в остальном выглядит ок на первый взгляд. хотя нет. неясно кто за жизнь создаваемых итемов отвечает. кто их удалять будет. если внутри btree это будет происходить, то в него надо втыкать конструктор копирования и operator =. или запрещять их явно. Добавлено через 6 минут вместо вопросика нужен BTreeItem. По значению или ссылке. Как хотите. Для втыкания квадрата в дерево, нужно определится с признаком, куда втыкать этот квадрат. Если абы куда - то признак не нужен. Если это сбалансированное дерево, или как там они называются, то в качестве этого признака обычно выступает operartor <, который надо реализовать у квадрата.
1
|
||||||
|
3 / 3 / 0
Регистрация: 02.04.2017
Сообщений: 273
|
|||||||||
| 17.09.2017, 21:12 [ТС] | |||||||||
|
Добавлено через 55 минут
Как и в самих item'ах? Добавлено через 27 минут А может даже и корень еще нужно. Не могу разобраться в этом моменте. Не подскажете?
0
|
|||||||||
|
3 / 3 / 0
Регистрация: 02.04.2017
Сообщений: 273
|
||||||
| 18.09.2017, 21:38 [ТС] | ||||||
|
DU3, очень нужна ваша подсказка. Как я понимаю,на месте строки 20 должно быть?
0
|
||||||
|
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
|
|
| 19.09.2017, 18:36 | |
Сообщение было отмечено Key27 как решение
Решение
root внутри себя имеет указатели на лево и на право. поэтому достаточно только рута.
1
|
|
| 19.09.2017, 18:36 | |
|
Помогаю со студенческими работами здесь
7
Максимальный элемент на основе бинарного дерева Хранение и распознавание слов на основе бинарного дерева Создание строкового калькулятора на основе бинарного дерева Однонаправленный линейный список. Формирование на его основе бинарного дерева QT. Реализовать программу, которая будет хранить и распознавать слова на основе бинарного дерева Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|