Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lisp
Войти
Регистрация
Восстановить пароль
 
AleksandrDoom
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 20
1

Посчитать количество вершин дерева, которые имеют менее четырёх потомков

Сегодня, 00:38. Просмотров 70. Ответов 1
Метки нет (Все метки)

Дано S-выражение, представляющее дерево вида «(РебенокЛевый Родитель РебенокПравый)».
Определить функцию, подсчитывающую количество вершин, которые имеют менее четырёх потомков. Выручайте, без помощи вашей помощи не смогу ну не как никак.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
Сегодня, 00:38
Ответы с готовыми решениями:

Определить функцию, посчитывающую количество вершин, которые имеют менее четырех потомков
Дано S-ражение, представляющее дерево вида «(Родитель РебенокЛевый Ре- бенокПравый)». Определить...

Определить функцию на Лиспе, подсчитывающую количество вершин, которые имеют более трёх потомков
Дано S-выражение, представляющее дерево вида «(РебенокЛевый Родитель РебенокПравый)». Определить...

Построить список вершин, которые имеют только одну дочернюю вершину
Дерево описано ассоциативным списком вида: (a-b a-c b-e b-d c-f c-g e-h e-i d-j d-k g-l g-m ...)....

количество всех вершин данного дерева заданной высоты
Определите функцию, подсчитывающую количество всех вершин данного дерева заданной высоты. Как это...

Вывод всех чисел в диапазоне от a до b, которые имеют n количество простых делителей
Помогите создать программу для вывода всех чисел в диапазоне от a до b, которые имеют n количество...

1
Catstail
Модератор
23847 / 11905 / 2094
Регистрация: 12.02.2012
Сообщений: 19,350
Сегодня, 07:22 2
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(defun count (tree)
  (cond ((null tree) 0)
        (t (+ 1 (count (car tree)) (count (caddr tree))))))  
 
==> COUNT
 
(defun task (tree)
  (cond ((null tree) 0)
        (t (let ((l (count (car tree)))
                 (r (count (caddr tree))))
                (if (< (+ l r) 4) (+ 1 (task (car tree)) (task (caddr tree)))
                                  (+ (task (car tree)) (task (caddr tree))))))))
  
==> TASK
 
(setq *tree* '(((NIL 1 NIL) 3 ((NIL 1 NIL) 2 (NIL 0 NIL))) 6 (((NIL 10 NIL) 11 ((NIL 8 NIL) 12 NIL)) 7 NIL)))
 
 
(task *tree*)
==> 8
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
Сегодня, 07:22

Посчитать в строке количество слов, которые начинаются с указанной буквы
Необходимо разработать функцию для подсчета в строке количества слов, которые начинаются с...

Дан числовой массив.Посчитать количество его элементов, которые не меньше всех предыдущих
Ребят,пожалуйста,если не сложно, напишите как делать...А то вообще не понимаю как делать=( Дан...

Подсчет внутренних вершин бинарного дерева
Помогите пожалуйста дописать программу. Задание: Напишите функцию (count t) , считающую...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru