COIN-OR::LEMON - Graph Library

Ticket #646: binomHeapFix.patch

File binomHeapFix.patch, 1.3 KB (added by Peter Madarasi, 2 years ago)
  • lemon/binomial_heap.h

    # HG changeset patch
    # User Peter Madarasi <madarasi@cs.elte.hu>
    # Date 1665755093 -7200
    #      Fri Oct 14 15:44:53 2022 +0200
    # Node ID 1f8d55a3912780197bb795344572db56421f10da
    # Parent  a278d16bd2d082aa3c52ff4a9b0e2224ddc0549a
    Bugfix in binomial_heap.h and tests
    
    diff -r a278d16bd2d0 -r 1f8d55a39127 lemon/binomial_heap.h
    a b  
    174174        _min=i;
    175175      } else {
    176176        merge(i);
    177         if( _comp(_data[i].prio, _data[_min].prio) ) _min=i;
     177        _min=findMin();
    178178      }
    179179      ++_num_items;
    180180    }
  • test/heap_test.cc

    diff -r a278d16bd2d0 -r 1f8d55a39127 test/heap_test.cc
    a b  
    255255    typedef BinomialHeap<Prio, IntNodeMap > NodeHeap;
    256256    checkConcept<Heap<Prio, IntNodeMap >, NodeHeap>();
    257257    dijkstraHeapTest<NodeHeap>(digraph, length, source);
     258
     259    {
     260      ListDigraph g;
     261      ListDigraph::Node v0 = g.addNode();
     262      ListDigraph::Node v1 = g.addNode();
     263      ListDigraph::NodeMap<int> ref(g,-1);
     264      lemon::BinomialHeap<int,ListDigraph::NodeMap<int> > h(ref);
     265      h.push(v0,0);
     266      h.push(v1,0);
     267      h.pop();
     268      h.pop();
     269    }
    258270  }
    259271
    260272  // BucketHeap, SimpleBucketHeap