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

Вниз

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

 
AdMeen ©   (2008-10-08 07:55) [0]

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

*---
    |-----*
*---        |
             |---*
*---        |
    |-----*
*---

Примерно вот так.


 
Palladin ©   (2008-10-08 08:03) [1]

кроме картинки, построение "перевернутого дерева" ничем не отличается от построения нормального


 
AdMeen ©   (2008-10-08 08:17) [2]

Но,вроде если в "обыкновенном" дереве мы имеем корень,от которого потом начинаем строить левую-правую ветвь,то здесь мы имеем 2-их родителей и 1 потомка.Если можно код.


 
{RASkov} ©   (2008-10-08 08:20) [3]

Лучше скажи зачем это надо....


 
Palladin ©   (2008-10-08 08:22) [4]

Type
 TNodePosEnum=(npLeft,npRight)
 PNode=^TNode;
 TNode=Record
   Parent1,Parent2:PNode;
   Caption:String;
   Pos:TNodePosEnum;
 End;


 
Сергей М. ©   (2008-10-08 08:27) [5]


> AdMeen ©   (08.10.08 07:55)  

"перевёрнутое дерево" - это обычное дерево, на которое ты смотришь расположившись вверх тормашками)

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

А "левый"/"правый" - опять же как посмотришь)

Я серьезно.


 
oxffff ©   (2008-10-08 09:06) [6]


> AdMeen ©   (08.10.08 07:55)  


Нужно использовать "обычное" дерево, но с обратным способом обхода.


 
MsGuns ©   (2008-10-08 09:22) [7]

>oxffff ©   (08.10.08 09:06) [6]
>Нужно использовать "обычное" дерево, но с обратным способом обхода.

И тогда получится то, что нарисовано в сабже ? Т.е. два или более узлов будут иметь одного "ребенка" ?


 
oxffff ©   (2008-10-08 10:21) [8]


> MsGuns ©   (08.10.08 09:22) [7]


У меня получится как надо.


 
MBo ©   (2008-10-08 10:24) [9]

Для какой задачи это нужно?


 
ANB   (2008-10-08 10:48) [10]

В базу надо запихать ?


 
Ega23 ©   (2008-10-08 10:52) [11]

специальные ini-файлы надо использовать


 
MsGuns ©   (2008-10-08 11:01) [12]

>oxffff ©   (08.10.08 10:21) [8]
>У меня получится как надо.

При условии использования "обычного" TTreeView ?
Если это не военная тайна, приведите, пожалуйста, код


 
oxffff ©   (2008-10-08 11:10) [13]


> MsGuns ©   (08.10.08 11:01) [12]


Вы что не знаете способ обхода от листьев к корню?


 
{RASkov} ©   (2008-10-08 11:21) [14]

> [13] oxffff ©   (08.10.08 11:10)

Самое главное найти самые дальние листы :)
Я что-то пока не могу представить себе четкий алгоритм прохода по всему дереву начиная с листьев и до корня...)
Такое ощущение, что можно "триста" раз бегать по этому дереву по одному и тому же пути пока все ветки не будут пройдены....
Нет, что-то здесь не так :)


 
oldman ©   (2008-10-08 11:27) [15]


> oxffff ©   (08.10.08 11:10) [13]
> Вы что не знаете способ обхода от листьев к корню?


Имхо, путь к корню единственен.


 
{RASkov} ©   (2008-10-08 11:40) [16]

> [15] oldman ©   (08.10.08 11:27)
> Имхо, путь к корню единственен.

Вот смотри..... Есть пять конечных листьев с одним общим узлом..... сколько будет путей к корню? :) пять. только вся разница в последнем листе....
1n*--|
2n*--|
3n*--|---1n-1*
4n*--|
5n*--|


 
{RASkov} ©   (2008-10-08 11:44) [17]

Что-то я "загнался".... Оно и в другую сторону(от корня к листьям) тоже самое...
Но я хотел сказать, что от корня к листьям мы будем по одному разу в каждом узле, а наоборот(к корню) - кучу раз придется бегать по дереву.... имхо.


 
{RASkov} ©   (2008-10-08 11:48) [18]

В общем бред как обычно :)
Дерево строится(растет) от корня к кроне, но не наоборот и точка. иначе это уже не дерево...)


 
Anatoly Podgoretsky ©   (2008-10-08 11:48) [19]

> MsGuns  (08.10.2008 9:22:07)  [7]

На рисунке, что-то похожее на коноплю.


 
{RASkov} ©   (2008-10-08 11:54) [20]

> [19] Anatoly Podgoretsky ©   (08.10.08 11:48)

На рисунке ответ на вопрос в ветке. Там нарисованы - Вилы :)


 
oxffff ©   (2008-10-08 11:56) [21]


> oldman ©   (08.10.08 11:27) [15]
>
> > oxffff ©   (08.10.08 11:10) [13]
> > Вы что не знаете способ обхода от листьев к корню?
>
>
> Имхо, путь к корню единственен.


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


 
Vlad Oshin ©   (2008-10-08 11:57) [22]


> Имхо, путь к корню единственен.

+1


 
Vlad Oshin ©   (2008-10-08 11:58) [23]


> oxffff ©   (08.10.08 11:56) [21]

а нафиг?
автор чего хотел?


 
Anatoly Podgoretsky ©   (2008-10-08 12:00) [24]

> {RASkov}  (08.10.2008 11:54:20)  [20]

А ниже грабли.


 
{RASkov} ©   (2008-10-08 12:02) [25]

> [24] Anatoly Podgoretsky ©   (08.10.08 12:00)
> А ниже грабли.

В [16]-то ? :)


 
oxffff ©   (2008-10-08 12:02) [26]


> Vlad Oshin ©   (08.10.08 11:58) [23]


Это для того, чтобы автор использовав алгоритмы "выращивания" обычного дерева, использовав обратный итератор имел представление о нем, как о перевернутом.


 
{RASkov} ©   (2008-10-08 12:06) [27]

Путь-то к корню единственный... это от корня много путей расходятся...
Но автору нужно как-то умудрится свести все пути(пусть даже разной длины наверное) к единому истоку....
Не реально, имхо...
Т.е. он строит дерево изначально зная конечные ветки, но не знает где и как есть корень.... Это страшно :)


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


> {RASkov} ©   (08.10.08 12:06) [27]


Да какая разница как он, его строит, от А к B или B к A. Зная А можно получить единственный B. Зная B можно получить все A.


 
{RASkov} ©   (2008-10-08 12:15) [29]

> Зная А можно получить единственный B

Это ему(автору) нужно знать изначально все A.... например их 300 получилось ну или пятьсот....
Собсно с бухты барахты можно построить дерево с такими входными данными..... но возможно могут получится "упавшие ветки" но это не страшно или как?(скорее вопрос автору)...


 
MsGuns ©   (2008-10-08 15:19) [30]

>oxffff ©   (08.10.08 11:56) [21]
>Я говорю не про путь к корню. А про обход узлов от кроны к корню.

Юноша, у Вас, очевидно какие-то марсианские деревья. У обычных, земных, по ветке нельзя ОБОЙТИ все дерево. Вы просто упретесь в ствол и все. При этом все листья перед Вашим взором будут в кучу и определить какие из них к каким веткам относятся просто физически невозможно, сидя на стволе.


 
AdMeen ©   (2008-10-08 16:21) [31]

На самом деле надо решить задачу,собственно сабж:
Написать программу для проведения соревнований по борьбе,вводить имена участников в поле Edit.Затем выводить имена участников пары,и поля для ввода очков.По окончании пар,вывести ход соревнований в виде дерева
Так что вот так вот:(


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


> Так что вот так вот


И ты, конечно же, сразу ломанулся в лес из "деревьев вверх ногами" ?)
А кто сказал, что соревнования должны проходить именно по олимпийской системе ?


 
Vlad Oshin ©   (2008-10-08 16:33) [33]


> Написать программу для проведения соревнований по борьбе,

ключевое слово - по борьбе


 
Palladin ©   (2008-10-08 16:39) [34]

тьфу... я то думал.... а оно то оказалось...


 
Palladin ©   (2008-10-08 16:39) [35]

тут вообще деревьями и не пахнет...


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


> Palladin ©   (08.10.08 16:39) [34]


Вот так оно и всегда - думали про что-то страшное, а получилось как у Черномырдина)


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


> Palladin ©   (08.10.08 16:39) [35]


Ну почему ?
При олимп.системе запах вполне привычный)
Только вот автор никак не сообразит, что единый корень образуется лишь после окончания соревнований, т.е. после определения победителя в финале)


 
AdMeen ©   (2008-10-08 16:44) [38]

Кто знаком с борьбой знают,что соревнования при приведённых участниках проводятся именно по олимпийской системе.

То Сергей М.
Ломанулся :),других вариантов к сожалению не усматриваю:(


 
Palladin ©   (2008-10-08 16:48) [39]


> При олимп.системе запах вполне привычный)

да, но от нормального дерева тут лишь - способ представления :) остальное все можно хранить в простом массиве массивов, по уровням соревнований, пока не останется только один! Маклауд какой нибудь.
типа
1. петя маша вася ИШ коля света рома АП
2. маша ИШ света АП
3. ИШ АП
4. ХЗ :))
5. ЮЗ на победителя :))


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


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


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


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


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


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



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

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

Наверх





Память: 0.54 MB
Время: 0.006 c
15-1221794968
ganda
2008-09-19 07:29
2008.11.16
BlackfishSQL что за база и с чем её едят!?


2-1223554456
i
2008-10-09 16:14
2008.11.16
узнать размер файла по http..


2-1223225518
koha!
2008-10-05 20:51
2008.11.16
TListView - и снова вопросы....


15-1221812617
deny
2008-09-19 12:23
2008.11.16
правильно ли я поступил?


2-1223495398
АгатаКристи
2008-10-08 23:49
2008.11.16
IP, Основной Шлюз, DNS





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский