Show / Hide Table of Contents

Class FibonacciQueue<TVertex, TDistance>

Priority queue to sort vertices by distance priority (use FibonacciHeap<TPriority, TValue>).

Inheritance
System.Object
FibonacciQueue<TVertex, TDistance>
Implements
IPriorityQueue<TVertex>
IQueue<TVertex>
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: QuikGraph.Collections
Assembly: QuikGraph.dll
Syntax
[Serializable]
public sealed class FibonacciQueue<TVertex, TDistance> : IPriorityQueue<TVertex>, IQueue<TVertex>
Type Parameters
Name Description
TVertex

Vertex type.

TDistance

Distance type.

Constructors

| Improve this Doc View Source

FibonacciQueue(Dictionary<TVertex, TDistance>)

Initializes a new instance of the FibonacciQueue<TVertex, TDistance> class.

Declaration
public FibonacciQueue(Dictionary<TVertex, TDistance> values)
Parameters
Type Name Description
System.Collections.Generic.Dictionary<TVertex, TDistance> values

Dictionary of vertices associates to their distance.

Exceptions
Type Condition
System.ArgumentNullException

values is null.

| Improve this Doc View Source

FibonacciQueue(Dictionary<TVertex, TDistance>, Comparison<TDistance>)

Initializes a new instance of the FibonacciQueue<TVertex, TDistance> class.

Declaration
public FibonacciQueue(Dictionary<TVertex, TDistance> values, Comparison<TDistance> distanceComparison)
Parameters
Type Name Description
System.Collections.Generic.Dictionary<TVertex, TDistance> values

Dictionary of vertices associates to their distance.

System.Comparison<TDistance> distanceComparison

Comparer of distances.

Exceptions
Type Condition
System.ArgumentNullException

values is null.

System.ArgumentNullException

distanceComparison is null.

| Improve this Doc View Source

FibonacciQueue(Func<TVertex, TDistance>)

Initializes a new instance of the BinaryQueue<TVertex, TDistance> class.

Declaration
public FibonacciQueue(Func<TVertex, TDistance> distanceFunc)
Parameters
Type Name Description
System.Func<TVertex, TDistance> distanceFunc

Function that compute the distance for a given vertex.

Exceptions
Type Condition
System.ArgumentNullException

distanceFunc is null.

| Improve this Doc View Source

FibonacciQueue(Int32, IEnumerable<TVertex>, Func<TVertex, TDistance>)

Initializes a new instance of the FibonacciQueue<TVertex, TDistance> class.

Declaration
public FibonacciQueue(int capacity, IEnumerable<TVertex> values, Func<TVertex, TDistance> distanceFunc)
Parameters
Type Name Description
System.Int32 capacity

Initial capacity.

System.Collections.Generic.IEnumerable<TVertex> values

Set of vertices (null if capacity is 0).

System.Func<TVertex, TDistance> distanceFunc

Function that compute the distance for a given vertex.

Exceptions
Type Condition
System.ArgumentNullException

distanceFunc is null.

System.ArgumentOutOfRangeException

capacity is negative.

| Improve this Doc View Source

FibonacciQueue(Int32, IEnumerable<TVertex>, Func<TVertex, TDistance>, Comparison<TDistance>)

Initializes a new instance of the FibonacciQueue<TVertex, TDistance> class.

Declaration
public FibonacciQueue(int capacity, IEnumerable<TVertex> values, Func<TVertex, TDistance> distanceFunc, Comparison<TDistance> distanceComparison)
Parameters
Type Name Description
System.Int32 capacity

Initial capacity.

System.Collections.Generic.IEnumerable<TVertex> values

Set of vertices (null if capacity is 0).

System.Func<TVertex, TDistance> distanceFunc

Function that compute the distance for a given vertex.

System.Comparison<TDistance> distanceComparison

Comparer of distances.

Exceptions
Type Condition
System.ArgumentNullException

distanceFunc is null.

System.ArgumentNullException

distanceComparison is null.

System.ArgumentOutOfRangeException

capacity is negative.

Properties

| Improve this Doc View Source

Count

Number of elements.

Declaration
public int Count { get; }
Property Value
Type Description
System.Int32

Methods

| Improve this Doc View Source

Contains(TVertex)

Checks if this queue contains the given value.

Declaration
public bool Contains(TVertex value)
Parameters
Type Name Description
TVertex value
Returns
Type Description
System.Boolean

True if the value is contained in the queue, false otherwise.

| Improve this Doc View Source

Dequeue()

Dequeues an element from the queue.

Declaration
public TVertex Dequeue()
Returns
Type Description
TVertex

Removed element.

Exceptions
Type Condition
System.InvalidOperationException

Queue is empty.

| Improve this Doc View Source

Enqueue(TVertex)

Enqueues an element in the queue.

Declaration
public void Enqueue(TVertex value)
Parameters
Type Name Description
TVertex value
| Improve this Doc View Source

Peek()

Returns the element at the beginning of the queue.

Declaration
public TVertex Peek()
Returns
Type Description
TVertex

The top queue element.

Exceptions
Type Condition
System.InvalidOperationException

Queue is empty.

| Improve this Doc View Source

ToArray()

Converts this queue to an array.

Declaration
public TVertex[] ToArray()
Returns
Type Description
TVertex[]

Array composed of elements.

| Improve this Doc View Source

Update(TVertex)

Updates the given value priority.

Declaration
public void Update(TVertex value)
Parameters
Type Name Description
TVertex value

Implements

IPriorityQueue<T>
IQueue<T>

Extension Methods

GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, String)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, String, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, XmlWriter)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, XmlReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, TextReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, String, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeAndValidateFromGraphML<TVertex, TEdge, TGraph>(TGraph, TextReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
SerializationExtensions.SerializeToXml<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>, String, String, String, String)
SerializationExtensions.SerializeToXml<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>, String, String, String, String, Action<XmlWriter, TGraph>, Action<XmlWriter, TVertex>, Action<XmlWriter, TEdge>)
  • Improve this Doc
  • View Source
In This Article
Back to top QuikGraph