Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 25

Бинарные деревья

30.10.2019, 20:46. Показов 3099. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Записи вершин дерева - вещественные числа. Описать процедуру, которая выбирает все вершины с отрицательными записями и строит из них новое дерево.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2019, 20:46
Ответы с готовыми решениями:

Бинарные деревья
class Tree: def __init__(self, cargo, left= None, right = None): self.cargo = cargo self.left = left ...

Бинарные файлы
Здравствуйте, подскажите как работать с бинарными файлами Допустим у меня есть файл "input.txt" c некоторым текстом внутри. ...

Бинарные отношения
Задание 1: Отношение R≤ A × B где A = {...}; B = {...}; Задать R перечислением элементов; Матрицей элементов W (R) Графами G (R)....

4
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
30.10.2019, 21:22
jarvak0, и в чем проблема?
0
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 25
31.10.2019, 01:59  [ТС]
Arsegg, я разобрался как создавать дерево и выводить, а как его фильтровать еще не понял
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Tree:
    def __init__(self, data, left= None, right = None):
        self.data = data
        self.left = left
        self.right = right
    def __str__(self):
        return str(self.data)
    
def print_tree(tree,level = 0):
    if tree:
        print_tree(tree.right, level= level + 1 )
        print ('   ' * level + str(tree.data))
        print_tree(tree.left, level = level + 1)
 
tree = Tree('10', Tree(1), Tree('7', Tree(2), Tree(3)))
 
print_tree(tree)
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
31.10.2019, 07:45
Лучший ответ Сообщение было отмечено jarvak0 как решение

Решение

jarvak0, ну вы же уже смогли написать обход дерева. По аналогии с print_tree, создайте функцию traverse(node) и возвращайте список из вызова функции traverse от левого и правого поддеревьев и значения текущего узла:
Python
1
return [node.data] + traverse(node.left) + traverse(node.right)
. А дальше фильтруйте полученный список, создавайте дерево на его основе и т.п.
Кликните здесь для просмотра всего текста
На генераторах:
Python
1
2
3
4
5
6
7
def traverse(node):
    if node:
        yield node.data
        yield from traverse(node.left)
        yield from traverse(node.right)
 
print(list(traverse(tree)))
1
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 25
31.10.2019, 09:22  [ТС]
Arsegg, а если не использовать yeild ,то с помощью чего реализовать ?

Добавлено через 1 минуту
Arsegg, а понял, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.10.2019, 09:22
Помогаю со студенческими работами здесь

Бинарные строки
Строка называется бинарной, если она состоит только из символов 0 и 1. Строка v называется подстрокой строки w, если она имеет...

Бинарные файлы
Помогите решить задачку: P.S. Главный акцент именно на бинарные файлы, саму задачу решить не сложно, а вот как реализовать бинарные...

Задачка с литкод 894. Всевозможные полные бинарные деревья
Здравствуйте, решил задачку с LeetCode и решил в ней немного поковыряться для полного понимания. 894. All Possible Full Binary Trees ...

Бинарные файлы
Нужна помощь! :hysteric: На форуме ничего похожего не нашлось... Дан бинарный файл, содержащий целые числа. Юзер задает некоторое число,...

Бинарные и текстовые файлы
Перезапишите файл Seven.txt в бинарном режиме Seven.bin и считайте его снова в массив. Обратите внимание на размер этих двух файлов.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru