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

Вниз

Реально реализовать АВЛ-дерево в БД?   Найти похожие ветки 

 
partizan   (2006-08-07 19:55) [0]

Нужно реализовать структуру типа АВЛ-дерева в тадлице БД (postgreSQL),
а все операции - функциями на языке сервера.

Более подробное описание задачи тут: http://delphimaster.net/view/1-1154964112/


 
tesseract ©   (2006-08-07 21:51) [1]

что такое АВЛ? Не припомню что-то, хотя бакнелла перичитывал.

Если тебе нужны nested sets - соединённые множества. Идея есть в статьях на сайте. Кроме того есть модуль на перл+ SQL запросы.

Google dfv gjvj;tn


 
Мефисто   (2006-08-07 22:03) [2]


> что такое АВЛ? Не припомню что-то, хотя бакнелла перичитывал.


Значит не читал ;)

Это бинарные деревья


 
tesseract ©   (2006-08-07 23:01) [3]

> [2] Мефисто   (07.08.06 22:03)


Чего-то таких не помню. Возможно переработал. Но для задачи нужны nested sets.


 
Мефисто   (2006-08-07 23:05) [4]

Не красно-черное ли дерево случаем нужно?


 
tesseract ©   (2006-08-08 10:16) [5]


> Мефисто   (07.08.06 23:05) [4]


зачем они?

http://www.webscript.ru/stories/04/09/01/8197045


 
Romkin ©   (2006-08-08 10:26) [6]

Млин. Ну и нафига? Структура данных в программе и в реляционных таблицах - разные вещи. Почему ты решил, что реализация дерева будет выгодной?


 
Alex Konshin ©   (2006-08-08 10:30) [7]

Глупости. AVL дерево-то зачем?
Если это в базе, то почему не спросить count для записей, у которых твой "ранг" меньше искомого?


 
tesseract ©   (2006-08-08 10:47) [8]

>> Alex Konshin ©   (08.08.06 10:30) [7]


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

Новые елементы добавляются всегда с наибольшим рангом (на 1-е место).
Удаляться может любой елемент.
Так же любой елемент может "поднятся" на 1-е место


ИМХО имеються в виду древовидные структуры данных, только не можем поянть.


 
NeyroSpace ©   (2006-08-08 15:08) [9]

Сделать можно, а иногда даже и нужно.
Вот тут подробно описано, правда на FireBird:
http://ibase.ru/develop.htm#books


 
TUser ©   (2006-08-08 18:13) [10]

Имхо, базам - базово :) БД для того и выдумали, чтобы производить добавление/удаление/поиск информации тупо и не задумываясь об ABL или еще каких-нибудь деревьях. А если тебя по каким-то причинам стандартные механизмы БД не устраивают - то ты реализуешь понравившийся тебе АТД сам, ручками.


 
Cash ©   (2006-08-08 22:29) [11]

Впихать, точнее прикрутить АВЛ к БД можно разве что в поиске...
гы-гы-гы, ведь для поиска эта структура и была создана... :)
(IMHO дикость, поиск по базе должен и без того быть быстрым, это
накладно как с точки зрения машинного времени, так и с точки зрения
времени разработки ПО)


 
palva ©   (2006-08-08 22:50) [12]

Cash ©   (08.08.06 22:29) [11]
> IMHO дикость, поиск по базе должен и без того быть быстрым
Ну конечно же, поиск по индексированному полю будет происходить быстрее чем при использовании АВЛ-деревьев, хранящихся к тому же в базе данных. Но автор же не справшивает плохо это будет работать или хорошо. Он просит помочь реализовать. Может, в вузе или при приеме на работу такое задание дали, а может поспорил с кем.


 
partizan   (2006-08-10 17:03) [13]


> Если это в базе, то почему не спросить count для записей,
>  у которых твой "ранг" меньше искомого?


Потому, что в базе несколько миллионов записей - будет долго.ю


> Почему ты решил, что реализация дерева будет выгодной?


Потому, что при такой реализации можно быстро вычислять количество записей, у которых "ранг" меньше искомого


> Сделать можно, а иногда даже и нужно.
> Вот тут подробно описано, правда на FireBird:
> http://ibase.ru/develop.htm#books


Спасибо, гляну



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

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

Наверх





Память: 0.47 MB
Время: 0.041 c
2-1155722658
SamProf
2006-08-16 14:04
2006.09.03
Как создать MDI Child форму из DLL ки


15-1154895244
Footballer
2006-08-07 00:14
2006.09.03
Исходники плееров


3-1151066783
barakuda
2006-06-23 16:46
2006.09.03
Умный combobox + table


4-1147163914
angelsaint
2006-05-09 12:38
2006.09.03
создание и обработка своих сообщений


2-1155117043
Sistr
2006-08-09 13:50
2006.09.03
чернобелое -> цветное





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