bc_spanning.h

Go to the documentation of this file.
00001 #ifndef _DPSPANNINGTREE
00002 #define _DPSPANNINGTREE
00003 
00004 #include <stdio.h>
00005 #include <malloc.h>
00006 #include "eg_macros.h"
00007 #include "eg_mempool.h"
00008 
00009 #define SWAP(x,y,temp) {temp = x; x = y; y = temp;}
00010 
00011 typedef struct DPspanningNode
00012 {
00013   struct
00014   {
00015     struct DPspanningNode *parent;
00016     int rank;
00017   }
00018   setinfo;
00019 }
00020 DPspanningNode;
00021 
00022 typedef struct DPspanningEdge
00023 {
00024   double weight;
00025   int ends[2];
00026 }
00027 DPspanningEdge;
00028 
00029 typedef struct DPedgeSet
00030 {
00031   int nedges;
00032   int *edges;
00033 }
00034 DPedgeSet_t;
00035 
00036 void makeset (DPspanningNode * v);
00037 DPspanningNode *find (DPspanningNode * v);
00038 DPspanningNode *slink (DPspanningNode * x,
00039                        DPspanningNode * y);
00040 int getprob (char *fname,
00041              int *p_ncount,
00042              int *p_ecount,
00043              int **p_elist,
00044              double **p_wlist);
00045 int kruskal_spanningtree (int ncount,
00046                           int ecount,
00047                           int *elist,
00048                           double *wlist,
00049                           int *tlist,
00050                           void *function_data);
00051 int biased_spanningtree (int ncount,
00052                          int ecount,
00053                          int *elist,
00054                          double *wlist,
00055                          int *tlist,
00056                          void *function_data);
00057 void printtree (int ncount,
00058                 int *elist,
00059                 int *tlist);
00060 void qsort_DPspanningEdges (int *perm,
00061                             DPspanningEdge * elist,
00062                             int l,
00063                             int u);
00064 int buildgraph (int ecount,
00065                 int *elist,
00066                 double *wlist,
00067                 DPspanningEdge ** p_edglist);
00068 
00069 #endif

Generated on Thu Oct 20 14:58:40 2005 for DominoParitySeparator by  doxygen 1.4.5