Component Tree Enumeration Algorithm
11.1 Methodology
Computer science solves problems by translating them into the language of very fast machines. We could claim that fast programs are the primary goal of this field. Fast software enables a user to quickly scrutinize a problem, observe patterns, gather data, and conjecture. There are two components to fast software: efficient data structures and algorithms, grounded in theory, and lean implementations, tailored to computer architectures. Knuth observes that “the best theory is inspired by practice, and the best practice is inspired by theory Knuth, 1996.” I apply this observation not only to my work in gen- eral, but also to implementations in particular. The theory of practice in com- puter science has provided numerous abstractions to tackle the complexity of programming, from high-level languages, compilers, and interpreters, to the recent advent of “patterns.” Most of these abstractions, however, depend on extra levels of indirection, consume memory for the services they provide, and yield bloated and slow programs. We can only realize the goal of fast software by selective use of the theory of programming, constructing enough scaffold- ing to manage complexity without sacrificing performance. Consequently, I use ideas from Object-Oriented Programming OOP Meyer, 2000 and construct Abstract Data Types ADTs Roberts, 1997. Rather than implementing in an OOP language, I use the ANSI C program- 183Parts
» Spaces Topology for Computing
» New Results Topology for Computing
» Organization Topology for Computing
» Sets and Functions Topological Spaces
» Manifolds Topology for Computing
» Geometric Definition Simplicial Complexes
» Abstract Definition Simplicial Complexes
» Filtrations and Signatures Simplicial Complexes
» Manifold Sweeps Topology for Computing
» Binary Operations Groups Introduction to Groups
» Subgroups and Cosets Introduction to Groups
» Structure-Relating Maps Characterizing Groups
» Cyclic Groups Characterizing Groups
» Finitely Generated Abelian Groups
» Factor Groups Characterizing Groups
» Free Abelian Groups Advanced Structures
» Rings, Fields, Integral Domains, and Principal Ideal Domains
» Modules, Vector Spaces, and Gradings
» Structure Theorem Advanced Structures
» The Fundamental Group Justification
» Chains and Cycles Homology Groups
» Simplicial Homology Homology Groups
» Understanding Homology Homology Groups
» The Euler-Poincaré Formula Homology Groups
» Arbitrary Coefficients Topology for Computing
» Tangent Spaces Topology for Computing
» Derivatives and Morse Functions
» Critical Points Stable and Unstable Manifolds
» Morse-Smale Complex Topology for Computing
» Quasi Morse-Smale Complex Hierarchical Morse-Smale Complexes
» Piece-Wise Linear Artifacts Hierarchical Morse-Smale Complexes
» Filtration Hierarchical Morse-Smale Complexes
» Hierarchy Hierarchical Morse-Smale Complexes
» Knots and Links The Linking Number
» Marking Algorithm Topology for Computing
» Abstract Algorithm Algorithm for Z
» Cycle Search Algorithm for Z
» Canonization Algorithm for Z
» Reduction Algorithm for Fields
» Derivation Algorithm for Fields
» Algorithm Algorithm for Fields
» Algorithm for PIDs Topology for Computing
» Approach and Goals Motivation
» Persistent Betti Number Algorithm
» Lazy Migration Reordering Algorithms
» Topology Maps Topology for Computing
» Complex with Junctions The Quasi Morse-Smale Complex Algorithm
» Extending Paths The Quasi Morse-Smale Complex Algorithm
» Handle Slide Local Transformations
» Steepest Ascent Local Transformations
» Motivation Algorithm Topology for Computing
» Component Tree Enumeration Algorithm
» Methodology Topology for Computing
» Libraries and Packages Organization
» Surfaces Miscellaneous Three-Dimensional Data
» Implementation Algorithm for Fields
» Framework and Data Algorithm for Fields
» Field Coefficients Algorithm for Fields
» Higher Dimensions Algorithm for Fields
» A Case Study Timings and Statistics
» Implementation The Linking Number Algorithm
» Timings and Statistics The Linking Number Algorithm
» Topological Feature Detection Computational Structural Biology
» Knotting Computational Structural Biology
» Structure Determination Computational Structural Biology
» Hierarchical Clustering Topology for Computing
» Terrain Simplification Denoising Density Functions
» Iso-Surface Denoising Denoising Density Functions
» Time-Varying Data Denoising Density Functions
» Medial Axis Simplification Denoising Density Functions
» Surface Reconstruction Topology for Computing
Show more