Algorithm 2: Skyline query based on the data node tree algorithm |
Input: table SCH, table Visited, data node tree T, local queue L, query node set Q |
Output: the spatial skyline data ST based on T |
1: regard the root node of data node tree T as the father node |
2: for each of the father node do |
3: if the father node has the local queue L |
4: then the pointer point to the first record of the father node local queue L, determine dominance relation of the data point p corresponding to the record with the data node in the local table SCH |
5: if P is dominated by the node in table SCH |
6: then regard p as the new father node, then conduct step 2 |
7: if p is not dominated by the node in table SCH and do not dominate any node in SCH |
8: then insert p to ST, and regard p as new father node, then conduct step 2 |
9: if p is not dominated by the node in table SCH and dominate the node in table SCH |
9: if p is not dominated by the node in table SCH and dominate the node in table SCH |
10: then insert p to ST, delete the dominated node in SCH, and regard p as new father node, then conduct step 2 |
11: if the father node do not has the local queue L |
12: then return to the local queue of the father node of p, move the pointer to the next one and regard it as the new father node, then conduct step 2 |
13: end for |