130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
1

Подсчет узлов бинарного дерева

24.11.2010, 11:40. Показов 3510. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот код программы:
Lisp
1
2
3
4
(defun node_counter(tree)
        (cond
                ((null tree) 0)
                (t (+1 (node_counter(second tree)) (node_counter(third tree)) ) ) ) )
ввожу:
Lisp
1
(node_counter(4 (2 (1 nil nil) (3 nil nil)) (5 nil nil)))
и выходит ошибка:
Lisp
1
error: bad function - 4
в чем дело?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2010, 11:40
Ответы с готовыми решениями:

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

Глубина списка и упорядоченность бинарного дерева
вобщем есть такое задание:  Определить функцию, вычисляющую глубину списка (самой глубокой...

Нахождения наддерева упорядоченного бинарного дерева
:-|Уважаемые программисты, помогите пожалуйста, с задачей. Звучит так "Нахождения наддерева...

Функция: определение высоты бинарного дерева
написать функцию , которая определяет высоту бинарного дерева

1
Эксперт С++
5827 / 3478 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
25.11.2010, 06:49 2
Ты должен передавать функции список, а ты передаешь ей конструкцию языка, которая должна быть вычислена до непосредственного вызова функции. Т.е. Lisp воспринимает строку "(4 (2 (1 nil nil) (3 nil nil)) (5 nil nil))" не как некоторый многоуровневый список, а как вызов функции 4 (которой, разумеется, быть не может, поэтому и выходит ошибка bad function) с аргументами, тоже должны быть вычислены. Поэтому нужно вызывать так:
Lisp
1
(node_counter '(4 (2 (1 nil nil) (3 nil nil)) (5 nil nil)))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2010, 06:49
Помогаю со студенческими работами здесь

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

Определить функцию для вычисления глубины бинарного дерева
Вообщем вот такая задачка: Определить функцию для вычисления глубины бинарного дерева (глубина...

Сравнить суммы элементов на двух заданных уровнях бинарного дерева
В бинарном дереве сравнить суммы элементов на двух заданных уровнях дерева, если равны, то вывести t

Разработать функцию, которая подсчитывает высоту заданного бинарного дерева
Разработать функцию, которая подсчитывает высоту заданного бинарного дерева. 2 примера с разным...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru