00001
#ifndef _VERTEX_TREE_H_
00002
#define _VERTEX_TREE_H_
00003
00004
00005
00006
00007
00008
00009
typedef struct Vertex Vertex;
00010
00011
typedef Vertex* VertexPointer;
00012
typedef Vertex* VertexTree;
00013
00014
struct Vertex
00015 {
00016
unsigned finished: 1;
00017
00018 Variant key;
00019 Variant edge;
00020
00021
int v_index;
00022
00023 VertexPointer parent;
00024 VertexPointer* children;
00025
00026
int* Z_SET;
00027
00028
int depth;
00029 };
00030
00031
00032
00033
void VertexTree_setSize (
int nSize);
00034 Vertex* Vertex_new (Variant key,
int v_index,
int* z_set);
00035
int Vertex_isAvailable(Vertex* V);
00036
00037 Vertex* VertexTree_addVertex (VertexTree T, Vertex* newNode);
00038
int VertexTree_getClusterUsingDFS(IsotopicCluster* cluster,
PEAK_GROUP pg, Vertex* root);
00039
void VertexTree_destroy (VertexTree root);
00040
int VertexTree_getNextClusterUsingDFS( Vertex* root,
00041
FPeak2i* pArray,
00042 IsotopicCluster* cluster);
00043
00044
#endif
00045