Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.24;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
1-78883
Developerr
2003-11-13 12:32
2003.11.24
Границы ячейки в F1Book версии 6


11-78871
Ал
2003-03-11 13:28
2003.11.24
Пусть немножко не в тему, но здесь народ умный - подскажите.


3-78795
Disruptor
2003-11-05 12:33
2003.11.24
Как прервать цикл FOR SELECT


14-79157
alxx
2003-10-31 11:04
2003.11.24
Быстрая графика в Delphi


3-78791
berserk
2003-11-05 10:36
2003.11.24
Новая база