Author: simonetripodi
Date: Thu Jun 28 12:00:27 2012
New Revision: 1354961
URL: http://svn.apache.org/viewvc?rev=1354961&view=rev
Log:
implemented node initialization when performing an INSERT
Modified:
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeapNode.java
Modified:
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java?rev=1354961&r1=1354960&r2=1354961&view=diff
==============================================================================
---
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java
(original)
+++
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java
Thu Jun 28 12:00:27 2012
@@ -558,6 +558,19 @@ public final class FibonacciHeap<E>
*/
private void insert( FibonacciHeapNode<E> node )
{
+ // 1 degree[x] ← 0
+ node.resetDegree();
+ // 2 p[x] <- NIL
+ node.setParent( null );
+ // 3 child[x] <- NIL
+ node.setChild( null );
+ // 4 left[x] <- x
+ node.setLeft( node );
+ // 5 right[x] <- x
+ node.setRight( node );
+ // 6 mark[x] <- FALSE
+ node.setMarked( false );
+
// if min[H] = NIL
if ( isEmpty() )
{
Modified:
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeapNode.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeapNode.java?rev=1354961&r1=1354960&r2=1354961&view=diff
==============================================================================
---
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeapNode.java
(original)
+++
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeapNode.java
Thu Jun 28 12:00:27 2012
@@ -164,6 +164,14 @@ final class FibonacciHeapNode<E>
}
/**
+ * Sets the number of children in the child list to {@code 0}.
+ */
+ public void resetDegree()
+ {
+ degree = 0;
+ }
+
+ /**
* Increases the degree of current node.
*
* @see #getDegree()