RSPRDist() for rooted Subtree Prune-and-Regraft
(rSPR) distances, wrapping the exact FPT algorithm (with cluster
decomposition) of Whidden, Beiko & Zeh (2013). Supports exact
distances, a linear-time 3-approximation, and maximum agreement forest
output.USPRDist() by replacing
string-based tree representation in the A* search with 256-bit integer
tree numbers (Tromp encoding), giving O(1) equality and hash
lookup.USPRDist() A* search by
replacing the multiset-based priority queue
(pointer-chasing red-black tree) with a binary min-heap
(priority_queue over a contiguous vector),
giving better cache behaviour for queue operations.normalize_order() by
replacing per-node map<int,unode*> with a 3-element
inline array sort.list<unode*> neighbour storage with
fixed-capacity inline arrays, replacing
list/map book-keeping containers with
vector/unordered_map, and allocating tree
nodes from a block arena instead of individual
new/delete.USPRDist().
Need a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.
This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.