Download GHS Graph Handling System User Manual GHScore
Transcript
6.2. FORMATS AND DATA STRUCTURES 67 Survey of Functions: The main function of this chapter is astd. It constructs the biblock decomposition of a general graph. Function aprstd is used to write the biblock decomposition of a general graph. Function aprstdvt writes a list of vertices. The biblock graph corresponding to a general graph is constructed by function generateblbgraph. To generate a subgraph from an a-decomposition element (peripheral tree, stopfree kernel, subcoponent, internal tree, biblock) use the function generatefromcomp of chapter 4, page 47. 6.2 Formats and Data Structures For a general description and basic data types see section 2.2, page 11. The data structures used with the biblock decomposition functions are described in subsection C.8, page 176. The main record for each stopfree kernel is of type WCOMP, i. e. a record describing a weak component. This record also describes the stopfree kernel and has pointers to lists of PT records (peripheral trees), SUB records (subcomponents), IT records (internal trees), and BLB records (biblocks). With data type AVTSTD biblock decomposition properties of a vertex (e. g. kind of attachment point) are recorded. In the same way, records of type AEDSTD are used for edges/arcs. Edges/arcs a vertex is incident with may belong to more than one biblock (hinge point). Records of type INCSQR indicate the biblocks a vertex is element of. Several enumeration types are used by the biblock decomposition functions, mostly for internal purposes. Remark 6.1 Peripheral trees within a weak component are numbered2 . These numbers are used as identifiers. The same applies to subcomponents and internal trees. Within a subcomponent the biblocks are numbered2 . These numbers are used as internal identifiers. The complete identification of an element of the biblock composition is its name as specified in table 4.1, page 44. 2 6.3 6.3.1 Functions astd Program Author: Günther Stiege, Universität Oldenburg Syntax: void astd(GRAPH *graph) Description: Finds the biblock decomposition of a general graph (of any type). Sets the values for the decomposition elements (stopfree kernel, peripheral tree, internal trees, subcomponents, biblocks) in the corresponding WCOMP records and creates complementary records. After successful termination, the field grastd of the graph’s GRAPH record is set TRUE. Error Exits: Graph pointer NULL. Biblock decomposition already exists. Remarks: To find the biblock decomposition of a general graph the weak components must be known. If they are not, function gcomponents, page 56, is called implicitly before the adecomposition analysis is done. 2 The numbering depends on the specific run of the decomposition algorithms.