Страниц: [1]
  Печать  
Автор Тема: Треугольное дерево  (Прочитано 5360 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sirion
Гений-Говорун
*
Offline Offline

Сообщений: 1095

СПАСИБО
-вы поблагодарили: 137
-вас поблагодарили: 278



Просмотр профиля Email
: Август 29, 2012, 15:16:36 �

Пусть у нас есть треугольник из точек, аналогичный тем, что на рисунке.



На верхнем, первом, ярусе у него одна точка, на втором - две точки, на энном - эн точек. Мы хотим соединить эти точки отрезками по следующим правилам:

1) Каждая точка, кроме корневой (единственной точки первого яруса), должна быть соединена ровно с одной точкой предыдущего яруса.
2) Каждая точка может соединяться с нулём, одной либо двумя точками следующего яруса, причём лишь с ближайшими (k-я точка на n-м ярусе может быть соединина лишь с k-й и (k+1)-й точками на (n+1)-м ярусе).
3) Никаких соединений, кроме предусмотренных правилами 1),2), быть не должно.

Получившийся граф (он, кстати, будет бинарным деревом) мы назовём треугольным деревом порядка N, где N - количество ярусов в нашем точечном треугольнике.

Сколько существует различных треугольных деревьев порядка 13?
Записан

sirion=irion+srion+rion+siion+iion+sion+ion+siron+iron+sron+ron+sion+ion+son+on+sirin+
+irin+srin+rin+siin+iin+sin+in+sirn+irn+srn+rn+sin+in+sn+n+sirio+irio+srio+rio+siio+
+iio+sio+io+siro+iro+sro+ro+sio+io+so+o+siri+iri+sri+ri+sii+ii+si+i+sir+ir+sr+r+si+i+s
zhekas
Гений-Говорун
*
Offline Offline

Сообщений: 1035

СПАСИБО
-вы поблагодарили: 34
-вас поблагодарили: 487



Просмотр профиля Email
Ответ #1 : Август 29, 2012, 21:10:28 �

Показать скрытый текст
Записан
moonlight
Умник
****
Offline Offline

Сообщений: 741

СПАСИБО
-вы поблагодарили: 19
-вас поблагодарили: 232


Просмотр профиля Email
Ответ #2 : Август 30, 2012, 05:21:59 �

Показать скрытый текст
Записан

Зачем откладывать на завтра то, что можно отложить на послезавтра?
Sirion
Гений-Говорун
*
Offline Offline

Сообщений: 1095

СПАСИБО
-вы поблагодарили: 137
-вас поблагодарили: 278



Просмотр профиля Email
Ответ #3 : Август 30, 2012, 10:44:27 �

таки да
Записан

sirion=irion+srion+rion+siion+iion+sion+ion+siron+iron+sron+ron+sion+ion+son+on+sirin+
+irin+srin+rin+siin+iin+sin+in+sirn+irn+srn+rn+sin+in+sn+n+sirio+irio+srio+rio+siio+
+iio+sio+io+siro+iro+sro+ro+sio+io+so+o+siri+iri+sri+ri+sii+ii+si+i+sir+ir+sr+r+si+i+s
Michael
Гость
Ответ #4 : Сентябрь 02, 2012, 05:19:23 �

А можно доказательство?
Записан
Michael
Гость
Ответ #5 : Январь 06, 2013, 07:51:25 �

А можно доказательство?

Ну, пожалуйста! Плач
Записан
Michael
Гость
Ответ #6 : Январь 07, 2013, 06:27:39 �

Sirion, уточните, пожалуйста, условие. Что вы понимаете под "различными треугольными деревьями"?

Какой из вариантов задачи вы имеете в виду?

    А     Б     С    Д
    /      \      /     \
   /        \     \     /\

а) А,Б,С,Д все разные
б) А = Б, но  А не равно С и Д
с) А = Б = С, но А не равно Д

Скорее всего вы имеете в виду самый естественный вариант а)
Но тогда приведённая выше формула не получается.
Для порядков 3 и 4 можно перебрать все варианты "на пальцах", дальше надо писать программу.
В варианте а) вроде бы получаются числа:
1) 1
2) 3
3) 17
4) 175
и т.д.

Задача на программирование интересная, особенно для порядка 13 и выше.
Но почему вы поместили её в "математические задачи"?
Интересно посчитать количество деревьев для варианта с).
Но всё это для раздела "задачи для программистов".
Записан
moonlight
Умник
****
Offline Offline

Сообщений: 741

СПАСИБО
-вы поблагодарили: 19
-вас поблагодарили: 232


Просмотр профиля Email
Ответ #7 : Январь 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.

Эти пользователи сказали вам СПАСИБО :

Michael

За это сообщение 1 пользователь сказал спасибо!
Записан

Зачем откладывать на завтра то, что можно отложить на послезавтра?
Michael
Гость
Ответ #8 : Январь 07, 2013, 14:23:10 �

Ну да, невнимательно прочитал условия. Упустил что "Каждая точка ... должна быть соединена". Я думал что какие-то точки можно оставить пустыми. Спасибо за ответ. Кстати, если разрешить такие "пустые" точки, получается интересная задача на программирование. Лобовое решение для уровня 13 и выше работает долго, надо что-то придумывать. Помещу-ка её в программистский раздел.
Записан
Michael
Гость
Ответ #9 : Январь 07, 2013, 20:21:59 �

Треугольное дерево 2
Записан
Страниц: [1]
  Печать  
 
Перейти в: