Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];

Вниз

"Обратное дерево"   Найти похожие ветки 

 
Сергей М. ©   (2008-10-08 16:48) [40]


> AdMeen ©   (08.10.08 16:44) [38]


> Кто знаком с борьбой


Так ты программист или знаток борьбы ?)
Или по совместительству пытаешься освоить вполне родственное занятие ?)


> других вариантов к сожалению не усматриваю


А почему перевернутое-то ?
Ты объясни нам, бестолковым, мы ж не борцы в большинстве своем, а программисты ..


 
Сергей М. ©   (2008-10-08 16:52) [41]


> от нормального дерева тут лишь - способ представления


Почему ? И способ организации хранения тоже ..

Только однокоренное дерево образуется лишь в конце соревнований, а в ходе оных это еще не дерево, а заросли чепыжника - куча корней, из каждого из которых торчат ветки) ..


 
AdMeen ©   (2008-10-08 16:55) [42]

Сергей М.
Довольно долгое время занимался. А так пытаюсь быть программистом :).
Palladin
 Спасибо за совет буду пробывать таким способом.

Ну а всё таки,каким образом потом это всё можно вывести в виде дерева,как особо бестолковому объясните пожалуйста.


 
Palladin ©   (2008-10-08 16:57) [43]


> Почему ? И способ организации хранения тоже ..

ну потому что, из двух выбран на уровень выше может быть только один, от этого и отталкиваемся, по проще опишу, скажем есть у нас ID участников от 1 до 8
массив 1 уровня: 1,2,3,4,5,6,7,8
массив 2 уровня: 2,3,6,7
массив 3 уровня: 3,7
и победитель: 7

дальше уже просто нужно только нарисовать по этим данным дерево...


 
Palladin ©   (2008-10-08 16:58) [44]


> массив 1 уровня: 1,2,3,4,5,6,7,8

то есть, этот массив означает что 1 соревнуется с 2, 3 с 4 и тд...


 
Сергей М. ©   (2008-10-08 16:58) [45]


> AdMeen ©   (08.10.08 16:55) [42]


> каким образом потом это всё можно вывести в виде дерева


С помощью компонента TTreeView.
Для большого количества участников - TDBTreeView.


 
Сергей М. ©   (2008-10-08 17:03) [46]


> дальше уже просто нужно только нарисовать по этим данным
> дерево


Его можно и сразу "нарисовать", заполнив TTreeView заранее известными данными. А по ходу соревнований изменять св-ва узлов соотв.образом.


 
han_malign ©   (2008-10-08 18:16) [47]


> в простом массиве массивов
.....
> массив 3 уровня

(участник,количество побед)
[0,0]
     [1,2]
[1,2]
          [1,2]
[2,1]
     [2,1]
[3,0]

------------------
function Y_norm(fighter,victory: integer): integer;
begin
   victory:= $FFFFFFFF shl victory;
   Result:= (fighter and victory)*2 + not victory;
end;

for i:= 0 to n-1 do with fv do
    for j:= 0 to v do DrawFighter(j*X_step+X_offs, Y_norm(i,j)*Y_step+Y_offs, Fighter[i]);


 
MsGuns ©   (2008-10-08 20:32) [48]

>Palladin ©   (08.10.08 16:48) [39]
>2. маша ИШ света АП
>3. ИШ АП

Щаз придет data с булыжником и щетками. И покажет и тебе, и ИШу, и АПу.
Еще и Юре рикошетом достанется ;)))


 
MsGuns ©   (2008-10-08 20:34) [49]

А где марсианин охфффф ? С секретом выращивания "обратных" деревьев ?


 
MsGuns ©   (2008-10-08 20:36) [50]

>AdMeen ©   (08.10.08 16:44) [38]
>Кто знаком с борьбой знают,что соревнования при приведённых участниках >проводятся именно по олимпийской системе.

Занимались бы вы, товарищ, тем, с чем знакомы, а именно борьбой ;)


 
oxffff ©   (2008-10-08 22:02) [51]


> MsGuns ©   (08.10.08 15:19) [30]
> >oxffff ©   (08.10.08 11:56) [21]
> >Я говорю не про путь к корню. А про обход узлов от кроны
> к корню.
>
> Юноша, у Вас, очевидно какие-то марсианские деревья. У обычных,
>  земных, по ветке нельзя ОБОЙТИ все дерево. Вы просто упретесь
> в ствол и все. При этом все листья перед Вашим взором будут
> в кучу и определить какие из них к каким веткам относятся
> просто физически невозможно, сидя на стволе.


Ну раз мы перешли на возраст,  то тогда

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


 
oxffff ©   (2008-10-08 22:04) [52]


> MsGuns ©   (08.10.08 20:34) [49]
> А где марсианин охфффф ? С секретом выращивания "обратных"
> деревьев ?


Что старый пердун подуматься не может?


 
oxffff ©   (2008-10-08 22:16) [53]


> Сергей М. ©   (08.10.08 16:52) [41]
>
> > от нормального дерева тут лишь - способ представления
>
>
> Почему ? И способ организации хранения тоже ..
>
> Только однокоренное дерево образуется лишь в конце соревнований,
>  а в ходе оных это еще не дерево, а заросли чепыжника -
> куча корней, из каждого из которых торчат ветки) ..


Чисто технически можно построить дерево изначально, зная количество участников, и атрибутировать узлы после проведения схватки. Можно динамически стыковать заросли чепыжника после проведения схватки в более крупные заросли чепыжника и так далее. :)


 
oxffff ©   (2008-10-08 22:22) [54]


> Можно динамически стыковать заросли чепыжника после проведения
> схватки в более крупные заросли чепыжника и так далее. :
> )


Для MsGuns

Чисто технически это позволит доопределять количество листьев по необходимости в run time, сохранив при этом структуру дерева
и доатрибутировать узлы после проведения схватки и тут же добавлять родителя к этому дереву еще неатрибутированного его корня(то есть победитель не установлен). Таким образом в целом структура будет дерево, только сборка в обратном порядке.


 
korneley ©   (2008-10-08 23:07) [55]


> Каким образом можно реализовать "перевёрнутое дерево",т.
> е. дерево наоборот.где ветви сходятся к корню

Только нарисовать самому. А ещё, сетка может с двух сторон, к центру быть нарисована :)

1/8|-                        -|2/7
    |                      |
     >-|?/?|->|?/?|<-|?/?|<
    |                      |
4/5|-                        -|3/6

Вот это уже не дерево, а куст :)) "Совокупность веток, растущих из одного места" (с)


 
MsGuns ©   (2008-10-09 00:24) [56]

>oxffff ©  

Употребив к Вам слово "юноша", я имел в виду не возраст, а исключительно опыт и навыки в программировании. И, судя по [53] [54], явно переоценил - на юношу не тянете. Хоть и нахватались где-то "умных" слов (что такое "атрибутировать" - ни разу не слышал, это что-то типа "крышевать" или "фундаментить"  по отношению к зданию, ага ?)

То, что у Вас нет понятия о деревьях в информатике, ясно тут уже всем и давно и никакия грубость не поможет Вам выйти сухим из воды.

Все-таки боролись бы Вы лучше, мальчик ;)))


 
MsGuns ©   (2008-10-09 00:26) [57]

Посмотрел в анкету - хм.. 27 лет уже..
Вроде взрослый, а грубит и ругается как пацан с рогаткой. Анкета врет - Вам ведь не больше 20, точно ?

;)))

Сорри за офтоп, но хамство возмутило ;)


 
MsGuns ©   (2008-10-09 00:45) [58]

А если серьезно по теме, то турнирную сетку можно, конечно изобразить и в виде TTreeView (какая разница, слева напрво рисовать этапы или справа налево), но есть много минусов:

- стандартная отрисовка узлов в TTreeView некрасивая, поэтому придется отрисовывать все "ручками" в соответствующем событии
- компонент не "умеет" ветвление рисовать в несколько сторон (как, например, показано в [55]
- нельзя вместо "пары" нарисовать таблицу, если вместо одного поединка предполагается круговой турнир (как, например, в футбольных турнирах, где круговые турниры чередуются с олимпийкой)
...

Можно, конечно, задачу предельно упростить, но тогда вопрос - зачем именно тривью, если много проще использовать для этих целей например TListView или даже TDrawGrid (и даже, страшно подумать !,- TStringGrid)
В общем вариантов море и, ИМХО, TTreeView в данном случае далек от оптимального

И последнее
Я, конечно, могу запамятовать, но на соревнованиях борцов (не помню какого стиля) раньше применялись именно круговые турниры. Не знаю повсеместно ли, но на Олимпиадах вроде да.


 
AdMeen ©   (2008-10-09 00:54) [59]

To MsGuns ©
>>Занимались бы вы, товарищ, тем, с чем знакомы, а именно борьбой ;)

Вы уж пожалуйста извините,но давайте я сам буду решать чем мне заниматься.Не удержался,сорри за оффтоп.


 
Anatoly Podgoretsky ©   (2008-10-09 01:09) [60]

Каждый программист должен вырастить дерево и родить наследника.


 
Германн ©   (2008-10-09 01:19) [61]


> AdMeen ©   (09.10.08 00:54) [59]
>
> To MsGuns ©
> >>Занимались бы вы, товарищ, тем, с чем знакомы, а именно
> борьбой ;)
>
> Вы уж пожалуйста извините,но давайте я сам буду решать чем
> мне заниматься.Не удержался,сорри за оффтоп.
>

Так никто и не против. Но зачем переворачивать деревья? Они же погибнут сразу!
:)
Сорри за оффтоп.


 
oxffff ©   (2008-10-09 08:53) [62]


> MsGuns ©   (09.10.08 00:24) [56]
> >oxffff ©  
>
> Употребив к Вам слово "юноша", я имел в виду не возраст,
>  а исключительно опыт и навыки в программировании. И, судя
> по [53] [54], явно переоценил - на юношу не тянете. Хоть
> и нахватались где-то "умных" слов (что такое "атрибутировать"
> - ни разу не слышал, это что-то типа "крышевать" или "фундаментить"
>  по отношению к зданию, ага ?)
>
> То, что у Вас нет понятия о деревьях в информатике, ясно
> тут уже всем и давно и никакия грубость не поможет Вам выйти
> сухим из воды.
>
> Все-таки боролись бы Вы лучше, мальчик ;)))


Грубость на грубость.

>То, что у Вас нет понятия о деревьях в информатике

Честно улубнуло. Но к вашему сожалению здесь вы опять ошиблись.


 
oxffff ©   (2008-10-09 08:54) [63]


> korneley ©   (08.10.08 23:07) [55]
>
> > Каким образом можно реализовать "перевёрнутое дерево",
> т.
> > е. дерево наоборот.где ветви сходятся к корню
>
> Только нарисовать самому. А ещё, сетка может с двух сторон,
>  к центру быть нарисована :)
>
> 1/8|-                        -|2/7
>     |                      |
>      >-|?/?|->|?/?|<-|?/?|<
>     |                      |
> 4/5|-                        -|3/6
>
> Вот это уже не дерево, а куст :)) "Совокупность веток, растущих
> из одного места" (с)


Ну это не куст. А лес.


 
MsGuns ©   (2008-10-09 09:12) [64]

>Ну это не куст. А лес.

Марсианский ?
:)


 
oxffff ©   (2008-10-09 09:16) [65]


> MsGuns ©   (09.10.08 00:45) [58]
> А если серьезно по теме, то турнирную сетку можно, конечно
> изобразить и в виде TTreeView (какая разница, слева напрво
> рисовать этапы или справа налево), но есть много минусов:
>


У вас странное восприятие.  А [55] лишь относится к способу отрисовки дерева. А не к самому дереву. Имеется ввиду, что Ttreeview это выравнивание по левому краю, а [55] это выравнивание по центру.

Теперь по делу. Если вы не поняли [53] и [54], то для вас специально на пальцах.

Иванов
         ----[Победитель не извествен]
Петров
                                                      ----[Победитель не извествен]
Сидоров
         ----[Победитель не извествен]
Чупров

Если нужно добавить листья алгоритм перестроит дерево, но сделает это снизу вверх.

Иванов
         ----[Победитель не извествен]
Петров
                                                      ----[Победитель не извествен]
Сидоров
         ----[Победитель не извествен]
Чупров
                                                                                                 ----
Ляо
         ----[Победитель не извествен]
Цзы                                                      
                                                    ----[Победитель не извествен]
Дзе
         ----[Победитель не извествен]
Цхи                                                      

Если придется прикрутить еще и групповой отбор, чего по условия не было,
то сделать это можно, оставляю вам это в качестве домашнего задания.

P.S. Честно я даже боюсь с вами поговорить об LR анализе. Если LL вы еще понимаете, то LR для вас будет тяжелее.


 
oxffff ©   (2008-10-09 09:28) [66]


> MsGuns ©   (09.10.08 09:12) [64]
> >Ну это не куст. А лес.
>
> Марсианский ?
> :)


Если смотреть слева направо, то лес. Если сверху вниз, то дерево.


 
MsGuns ©   (2008-10-09 12:41) [67]

>Честно я даже боюсь с вами поговорить об LR анализе. Если LL вы еще понимаете, то LR для вас >будет тяжелее.

:)))

Сажайте деревья на здоровье, пусть даже марсианские
И пребудет с Вами удача !



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.6 MB
Время: 0.008 c
2-1223487764
Kamikadze
2008-10-08 21:42
2008.11.16
Запуск приложения


15-1221609374
Германн
2008-09-17 03:56
2008.11.16
WM_USER +100 vs WM_USER +400


4-1200320969
nivea
2008-01-14 17:29
2008.11.16
Поиск в подключенном реестре


2-1222958697
Terasbetoni
2008-10-02 18:44
2008.11.16
Как узнать, уничтожен ли объект.


2-1223410802
tubik
2008-10-08 00:20
2008.11.16
Точка входа в программу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский