hyper.h

来自「数据挖掘中的一算法 ines算法 c下实现的。适合初学习数据挖掘者借鉴」· C头文件 代码 · 共 65 行

H
65
字号
/*----------------------------------------------------------------------  File    : hyper.h  Contents: hypertree management for simulated annealing  Author  : Christian Borgelt  History : 30.03.1997 file created as sian.c            28.12.1999 redesign completed            17.03.2002 hypertree functions made a separate module----------------------------------------------------------------------*/#ifndef __HYPER__#define __HYPER__/*----------------------------------------------------------------------  Type Definitions----------------------------------------------------------------------*/typedef struct {                /* --- hyperedge --- */  int   size;                   /* number of connected nodes */  int   nodes[1];               /* vector of node identifiers */} HEDGE;                        /* (hyperedge) */typedef struct {                /* --- connected component --- */  int   id;                     /* identifier of representative */  int   cnt;                    /* number of represented nodes */} HCOMP;                        /* (connected component) */typedef struct {                /* --- hypertree --- */  int   nodecnt;                /* number of nodes */  int   *nodes;                 /* buffer for node identifiers */  HCOMP *comps;                 /* connected components */  int   hecnt;                  /* number of hyperedges */  int   flags;                  /* flags, e.g. HT_FULL */  HEDGE **buf;                  /* buffer for hyperedges */  HEDGE *hedges[1];             /* vector of hyperedges */} HTREE;                        /* (hypertree) *//*----------------------------------------------------------------------  Functions----------------------------------------------------------------------*/extern HTREE* ht_create  (int nodecnt);extern void   ht_delete  (HTREE *ht);extern HTREE* ht_dup     (HTREE *ht);extern int    ht_nodecnt (HTREE *ht);extern int    ht_hecnt   (HTREE *ht);extern int    ht_headd   (HTREE *ht, int size, int *nodes);extern int    ht_hesize  (HTREE *ht, int index);extern int*   ht_henodes (HTREE *ht, int index);extern int    ht_reduce  (HTREE *ht);extern int    ht_fill    (HTREE *ht, int maxsz, double randfn (void));extern HTREE* ht_modify  (HTREE *ht, int maxsz, double keep,                          double randfn (void));#ifndef NDEBUGextern void   ht_show    (HTREE *ht);#endif/*----------------------------------------------------------------------  Preprocessor Definitions----------------------------------------------------------------------*/#define ht_nodecnt(t)    ((t)->nodecnt)#define ht_hecnt(t)      ((t)->hecnt)#define ht_hesize(t,i)   ((t)->hedges[i]->size)#define ht_henodes(t,i)  ((t)->hedges[i]->nodes)#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?