📄 hyper.h
字号:
/*---------------------------------------------------------------------- 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -