Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 21.10.2013
Сообщений: 22
1

Есть дерево (ab) (bc) (cd) (ce) (bf) (fg) (fh) (fi) (bj). Составить список висячих вершин

22.10.2013, 12:59. Просмотров 843. Ответов 8
Метки нет (Все метки)

Есть дерево ((ab) (bc) (cd) (ce) (bf) (fg) (fh) (fi) (bj)). Составить список висячих вершин
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2013, 12:59
Ответы с готовыми решениями:

Составить список степеней вершин графа, а также список вершин с одинаковою степенью
здравствуйте, помогите пожалуйста решить следующие задания: 1 Есть граф ((ab) (bc) (bd) (cd)...

Дано дерево (необязательно бинарное) и номер уровня. Вывести список вершин, находящихся на данном уровне
Дано дерево (необязательно бинарное) и номер уровня. Вывести список вершин, находящихся на данном...

Составить список вершин графа с указанием их степеней
Помогите пожалуйста с заданием: Есть неориентированный граф ((a b) (a c) (b f) (b e) (c d))....

Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой
Дано бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой.

8
Модератор
Эксперт Python
27625 / 14632 / 2875
Регистрация: 12.02.2012
Сообщений: 24,014
Записей в блоге: 4
22.10.2013, 13:19 2
Лучший ответ Сообщение было отмечено как решение

Решение

Lisp
1
2
3
4
5
6
7
8
9
10
(defun task (graph)
  (let ((alist (mapcar 'car graph))
        (blist (mapcar 'cadr graph)))
       (remove-if #'(lambda (x) (member x alist)) blist))) 
 
==> task
 
(task '((a b) (b c) (c d) (c e) (b f) (f g) (f h) (f i) (b j)))
 
==> (d e g h i j)
3
1 / 1 / 0
Регистрация: 21.10.2013
Сообщений: 22
04.11.2013, 13:15  [ТС] 3
Цитата Сообщение от Catstail Посмотреть сообщение
Lisp
1
2
3
4
5
6
7
8
9
10
(defun task (graph)
  (let ((alist (mapcar 'car graph))
        (blist (mapcar 'cadr graph)))
       (remove-if #'(lambda (x) (member x alist)) blist))) 
 
==> task
 
(task '((a b) (b c) (c d) (c e) (b f) (f g) (f h) (f i) (b j)))
 
==> (d e g h i j)

Можете написать алгоритм этой программы, пожалуйста?
1
Модератор
Эксперт Python
27625 / 14632 / 2875
Регистрация: 12.02.2012
Сообщений: 24,014
Записей в блоге: 4
04.11.2013, 13:24 4
Lisp
1
2
3
4
(defun task (graph)
  (let ((alist (mapcar 'car graph)) ;; список начал
        (blist (mapcar 'cadr graph))) ;; список концов
       (remove-if #'(lambda (x) (member x alist)) blist)))  ;; удаляем из списка концов все вершины, являющиеся началами
1
3 / 3 / 0
Регистрация: 27.10.2013
Сообщений: 35
11.11.2013, 16:45 5
Catstail, а можно модифицировать этот код, что бы он выводил не только висячие вершины, а еще и их кол-во?
0
Модератор
Эксперт Python
27625 / 14632 / 2875
Регистрация: 12.02.2012
Сообщений: 24,014
Записей в блоге: 4
11.11.2013, 16:59 6
Lisp
1
2
3
4
5
6
7
8
9
10
11
(defun task (graph)
  (let* ((alist (mapcar 'car graph))
         (blist (mapcar 'cadr graph))
         (vlist (remove-if #'(lambda (x) (member x alist)) blist)))
        (list (length vlist) vlist)))
 
==> task
 
(task '((a b) (b c) (c d) (c e) (b f) (f g) (f h) (f i) (b j)))
 
==> (6 (d e g h i j))
2
3 / 3 / 0
Регистрация: 27.10.2013
Сообщений: 35
11.11.2013, 19:55 7
Catstail, спасибо.
0
MashaMaryam
12.11.2013, 23:22 8
Цитата Сообщение от Catstail Посмотреть сообщение
Lisp
1
2
3
4
5
6
7
8
9
10
11
(defun task (graph)
  (let* ((alist (mapcar 'car graph))
         (blist (mapcar 'cadr graph))
         (vlist (remove-if #'(lambda (x) (member x alist)) blist)))
        (list (length vlist) vlist)))
 
==> task
 
(task '((a b) (b c) (c d) (c e) (b f) (f g) (f h) (f i) (b j)))
 
==> (6 (d e g h i j))
У меня не работает... Выдает ошибку:
Есть дерево (ab) (bc) (cd) (ce) (bf) (fg) (fh) (fi) (bj). Составить список висячих вершин
3 / 3 / 0
Регистрация: 27.10.2013
Сообщений: 35
12.11.2013, 23:27 9
В этой теме есть два файлика прикрепленных. Качаете их, следуете указаниям в сообщениях где прикреплены файлики и все будет работать.
1. homelisp.zip
2. lib-k.zip
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2013, 23:27

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Составить список из 6 названий горных вершин и их высоты. Найти наивысшую вершину
Составить список из 6 названий горных вершин и их высоты. Найти наивысшую вершину и вывести на...


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

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

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