Название: Треугольное дерево Отправлено: Sirion от Август 29, 2012, 15:16:36 Пусть у нас есть треугольник из точек, аналогичный тем, что на рисунке.
(http://www.likebook.ru/store/pictures/182/182492/3.png) На верхнем, первом, ярусе у него одна точка, на втором - две точки, на энном - эн точек. Мы хотим соединить эти точки отрезками по следующим правилам: 1) Каждая точка, кроме корневой (единственной точки первого яруса), должна быть соединена ровно с одной точкой предыдущего яруса. 2) Каждая точка может соединяться с нулём, одной либо двумя точками следующего яруса, причём лишь с ближайшими (k-я точка на n-м ярусе может быть соединина лишь с k-й и (k+1)-й точками на (n+1)-м ярусе). 3) Никаких соединений, кроме предусмотренных правилами 1),2), быть не должно. Получившийся граф (он, кстати, будет бинарным деревом) мы назовём треугольным деревом порядка N, где N - количество ярусов в нашем точечном треугольнике. Сколько существует различных треугольных деревьев порядка 13? Название: Re: Треугольное дерево Отправлено: zhekas от Август 29, 2012, 21:10:28 Название: Re: Треугольное дерево Отправлено: moonlight от Август 30, 2012, 05:21:59 Название: Re: Треугольное дерево Отправлено: Sirion от Август 30, 2012, 10:44:27 таки да
Название: Re: Треугольное дерево Отправлено: Michael от Сентябрь 02, 2012, 05:19:23 А можно доказательство?
Название: Re: Треугольное дерево Отправлено: Michael от Январь 06, 2013, 07:51:25 А можно доказательство? Ну, пожалуйста! :girlcry:Название: Re: Треугольное дерево Отправлено: Michael от Январь 07, 2013, 06:27:39 Sirion, уточните, пожалуйста, условие. Что вы понимаете под "различными треугольными деревьями"?
Какой из вариантов задачи вы имеете в виду? А Б С Д / \ / \ / \ \ /\ а) А,Б,С,Д все разные б) А = Б, но А не равно С и Д с) А = Б = С, но А не равно Д Скорее всего вы имеете в виду самый естественный вариант а) Но тогда приведённая выше формула не получается. Для порядков 3 и 4 можно перебрать все варианты "на пальцах", дальше надо писать программу. В варианте а) вроде бы получаются числа: 1) 1 2) 3 3) 17 4) 175 и т.д. Задача на программирование интересная, особенно для порядка 13 и выше. Но почему вы поместили её в "математические задачи"? Интересно посчитать количество деревьев для варианта с). Но всё это для раздела "задачи для программистов". Название: Re: Треугольное дерево Отправлено: moonlight от Январь 07, 2013, 11:39:46 Каждая внутренняя точка N-го яруса (начиная с 3-го) может быть соединена с одной из 2-х точек предыдущего (N-1)-го яруса. Всего для (N-2)-х точек N-го яруса получаем 2N-2 вариантов.
Всего для всех 13 ярусов получаем 23-2*24-2*...*213-2=21+2+...+11=211*12/2. Название: Re: Треугольное дерево Отправлено: Michael от Январь 07, 2013, 14:23:10 Ну да, невнимательно прочитал условия. Упустил что "Каждая точка ... должна быть соединена". Я думал что какие-то точки можно оставить пустыми. Спасибо за ответ. Кстати, если разрешить такие "пустые" точки, получается интересная задача на программирование. Лобовое решение для уровня 13 и выше работает долго, надо что-то придумывать. Помещу-ка её в программистский раздел.
Название: Re: Треугольное дерево Отправлено: Michael от Январь 07, 2013, 20:21:59 Треугольное дерево 2 (http://nazva.net/forum/index.php/topic,8591.0.html)
|