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

Вниз

Более быстрый алгоритм?   Найти похожие ветки 

 
Immortal_Death   (2003-11-05 09:05) [0]

Может кто ни будь предложит более быстродействующую схему, чем у меня.
У меня есть некие записи структура которых выглядит примерно так:
type
PWord = ^TWord;
TWord = record
Sym: String[1];
Wor: Word;
ListSym: TList;
end;
Кроме того у меня есть Tlist и не один. В TList я помещаю указатели на записи, в каждой записи у меня есть указатель на TList (ListPodSymbol: TList;), т.е. некая иерархия вложенности: в лист записи -> в запись лист -> в лист записи. Заранее не известно не кол-во указателей как вообще, так и в отдельном листе(но в отдельном листе максимальное кол-во указателей может быть не более 70), так неизвестно и кол-во листов(кол-во вложенных листов/записей, начиная от навального, ограниченно 20-тью). На этом сюрпризы не кончаются, вот этих "массивов" данных может быть и есть не один, а сохранить надо в одном файле.

Собственно говоря, я вижу только один путь:
создавать типизированный файл с полями приведенными в таблице ниже:

п\п.|..массив..|..лист..|...запись...|...ссылки..|.доп1.|.доп2.|...
------------------------------------------------------------------------...
.1...|.......1........|.....1.....|.......1........|.......2........|....-.....|....-.....|....
.2...|.......1........|.....1.....|.......2........|.......3........|....-.....|....-.....|....
.3...|.......1........|.....1.....|.......3........|.......0........|....-.....|....-.....|....
.4...|.......1........|.....1.....|.......4........|.......4........|....-.....|....-.....|....
.5...|.......1........|.....1.....|.......5........|.......0........|....-.....|....-.....|....
.6...|.......1........|.....2.....|.......1........|.......2........|....-.....|....-.....|....
.7...|.......1........|.....2.....|.......2........|.......3........|....-.....|....-.....|....
.8...|.......1........|.....2.....|.......3........|.......0........|....-.....|....-.....|....
.9...|.......1........|.....2.....|.......4........|.......0........|....-.....|....-.....|....
...
...
...

п\п - порядковый номер в БД.
массив - сумма независимых листотв и записей.
лист - отдельный лист в массиве
запись - запись в листе
ссылки - ссылки в записи на остальные листы
доп1, доп2 - необязательные параметры записи.

Минусы только в скорости. Может можно построить более рационально, точнее не столько рационально сколько быстро?


 
Immortal_Death   (2003-11-05 09:09) [1]

вместо (ListPodSymbol: TList;), читать (ListSym: TList; )



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

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

Наверх





Память: 0.45 MB
Время: 0.017 c
3-78759
chtr
2003-11-03 15:27
2003.11.24
Кодировка в Rave


3-78860
gedd
2003-10-29 11:27
2003.11.24
ADSI Как получить реквизиты пользователя в домене?


7-79211
Armageddon
2003-09-15 17:08
2003.11.24
автоматическое изменение прав доступа


1-78893
safo
2003-11-12 16:29
2003.11.24
Как переделать приложение в сервис ОС?


1-78992
Алина
2003-11-14 12:51
2003.11.24
Настоящие профи, скажите почему при печати формы с ChartFx





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