Cache': техника группировки
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: тезис, доклад по географии на тему
| Добавил(а) на сайт: Kapitolina.
Предыдущая страница реферата | 1 2 3 4 5 6 7 | Следующая страница реферата
Эти промежуточные идентификаторы значений должны быть числами, для которых можно задать, во-первых, взаимно однозначное соответствие между значением и числом и, во-вторых, на наборе чисел должен быть определен порядок, соответствующий порядку значений полей. Выполняем два прохода. В первом получаем список значений группирующих полей, попавших в выборку, во втором проводим собственно группировку. При выдаче результата используем отображение числовых значений на значения полей. Примерный код получения списка значений:
WideGroup()
k group,map
n i,color,figure,count
s i=""
f s i=$O(^group(i)) q:i="" d
. s color=$p(^group(i),"~",1)
. s figure=$p(^group(i),"~",2)
. ; save colors and figures into special lists
. s map("color",color)=""
. s map("figure",figure)=""
После этого в локальной переменной map содержатся два списка с цветами и фигурами. Отметим, что до полного прохода по результатам выборки данных, попавших на группировку (в нашем случае это O(^group(i))) мы просто не можем построить сортированного списка числовых идентификаторов значений, поскольку данные приходят в заведомо несортированном виде.
После получения списков значений группирующих полей можем построить отображение на соответствующие числовые значения:
s color=""
f s color=$O(map("color",color)) q:color="" d
. ; map color to ordered number
. s map("color",color)=$I(map("color"))
. ; map ordered number to color
. s map("Ncolor",map("color",color))=color
s figure=""
f s figure=$O(map("figure",figure)) q:figure="" d
. ; map figure to ordered number
. s map("figure",figure)=$I(map("figure"))
. ; map ordered number to figure
Рекомендуем скачать другие рефераты по теме: виды шпор, в контакте сообщения.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 | Следующая страница реферата