java.lang.Object
org.jgrapht.opt.graph.fastutil.FastutilGSS<V,E>
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
- All Implemented Interfaces:
java.io.Serializable
,GraphSpecificsStrategy<V,E>
public class FastutilGSS<V,E> extends java.lang.Object implements GraphSpecificsStrategy<V,E>
A specifics strategy implementation using fastutil maps for storage.
Graphs constructed using this strategy require the least amount of memory, at the expense of slow
edge retrievals. Methods which depend on edge retrievals, e.g. getEdge(V u, V v), containsEdge(V
u, V v), addEdge(V u, V v), etc may be relatively slow when the average degree of a vertex is
high (dense graphs). For a fast implementation, use
FastutilFastLookupGSS
.
- Author:
- Dimitrios Michail
- See Also:
- Serialized Form
-
Constructor Summary
Constructors Constructor Description FastutilGSS()
-
Method Summary
Modifier and Type Method Description java.util.function.Function<GraphType,IntrusiveEdgesSpecifics<V,E>>
getIntrusiveEdgesSpecificsFactory()
Get a function which creates the intrusive edges specifics.java.util.function.BiFunction<Graph<V,E>,GraphType,Specifics<V,E>>
getSpecificsFactory()
Get a function which creates the specifics.
-
Constructor Details
-
FastutilGSS
public FastutilGSS()
-
-
Method Details
-
getSpecificsFactory
Description copied from interface:GraphSpecificsStrategy
Get a function which creates the specifics. The factory will accept the graph type as a parameter.- Specified by:
getSpecificsFactory
in interfaceGraphSpecificsStrategy<V,E>
- Returns:
- a function which creates intrusive edges specifics.
-
getIntrusiveEdgesSpecificsFactory
public java.util.function.Function<GraphType,IntrusiveEdgesSpecifics<V,E>> getIntrusiveEdgesSpecificsFactory()Description copied from interface:GraphSpecificsStrategy
Get a function which creates the intrusive edges specifics. The factory will accept the graph type as a parameter.Note that it is very important to use a map implementation which respects iteration order.
- Specified by:
getIntrusiveEdgesSpecificsFactory
in interfaceGraphSpecificsStrategy<V,E>
- Returns:
- a function which creates intrusive edges specifics.
-