Before discussing two methods for graph drawing in § 25.2 and § 25.3, we spend a moment debating the design of classes for graphs. The two main design constraints are those of genericity and type safety. Genericity implies that the set of graph classes we implement would be reusable in other applications with minimal effort. Type safety guarantees that the compiler has the ability to confirm that absurd type constructs are flagged as such. By necessity, the discussion in § 25.1 is only a sketch. The sheer number of natural questions one can ask about a graph makes the design of a library a topic for a booklength treatment. Four graph libraries have been designed and implemented as platforms suitable for building vast systems: the Stanford Graphbase [61], Sedgewick’s [93], LEDA [67], and the Boost Graph Library [100]. If only a handful of graph functions will be needed in a system, then developing one’s own graph toolkit is likely the more suitable approach. But systems that depend on a large number of graph functions should be built by choosing from these four libraries.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Rights and permissions
Copyright information
© 2008 Springer-Verlag London Limited
About this chapter
Cite this chapter
(2008). Graph Drawing. In: Introduction to Geometric Computing. Springer, London. https://doi.org/10.1007/978-1-84800-115-2_25
Download citation
DOI: https://doi.org/10.1007/978-1-84800-115-2_25
Publisher Name: Springer, London
Print ISBN: 978-1-84800-114-5
Online ISBN: 978-1-84800-115-2
eBook Packages: Computer ScienceComputer Science (R0)