00001 #ifndef __BUCKET_H__
00002 #define __BUCKET_H__
00003
00004 typedef struct{
00005 int i;
00006 int j;
00007 }coord;
00008
00009 typedef struct{
00010 coord * bucket;
00011 size_t bucket_len;
00012 size_t nb_elem;
00013 int sorted;
00014 }bucket_t;
00015
00016 typedef struct{
00017 bucket_t **bucket_tab;
00018 size_t nb_buckets;
00019 double **tab;
00020 int N;
00021
00022 int cur_bucket;
00023 int bucket_indice;
00024 double *pivot;
00025 double *pivot_tree;
00026 int max_depth;
00027 }_bucket_list_t;
00028
00029 typedef _bucket_list_t *bucket_list_t;
00030
00031 void bucket_grouping(double **tab,tree_t *tab_node, tree_t *new_tab_node, int arity,int N, int M,long int k);
00032 int try_add_edge(double **tab,tree_t *tab_node, tree_t *parent,int arity,int i,int j,int N,int *nb_groups);
00033 #endif