Package org.jgrapht.opt.graph.fastutil
Class FastutilGSS<V,E>
- 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:
Serializable
,GraphSpecificsStrategy<V,E>
public class FastutilGSS<V,E> extends 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Function<GraphType,IntrusiveEdgesSpecifics<V,E>>
getIntrusiveEdgesSpecificsFactory()
Get a function which creates the intrusive edges specifics.BiFunction<Graph<V,E>,GraphType,Specifics<V,E>>
getSpecificsFactory()
Get a function which creates the specifics.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jgrapht.graph.GraphSpecificsStrategy
getEdgeSetFactory
-
-
-
-
Method Detail
-
getSpecificsFactory
public BiFunction<Graph<V,E>,GraphType,Specifics<V,E>> 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 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.
-
-