tree-edit-distance

Find the lowest cost sequence of edits between two trees

MIT License

Downloads
2.6K
Stars
5
Committers
3

Bot releases are hidden (Show)

tree-edit-distance - v0.4.0 Latest Release

Published by brunocodutra almost 2 years ago

🚀 What's New / 💥 Breaking Changes

#46 Now that GATs have been stabilized, trait Tree has been redefined to improve ergonomics when implementing it for types that lend child nodes from self.

tree-edit-distance - v0.3.0

Published by brunocodutra almost 3 years ago

🚀 What's New

#31, #32 Dramatic performance improvements across all scenarios measured, from narrow-deep to wide-shallow trees.

cargo bench -- --baseline v0.2.0
n-ary tree diff/depth=7/breadth=2                                                                             
                        time:   [3.7973 us 3.8099 us 3.8222 us]
                        change: [-9.2141% -8.4377% -7.7228%] (p = 0.00 < 0.05)
                        Performance has improved.
n-ary tree diff/depth=3/breadth=6                                                                             
                        time:   [29.240 us 29.470 us 29.701 us]
                        change: [-26.040% -25.022% -23.866%] (p = 0.00 < 0.05)
                        Performance has improved.
n-ary tree diff/depth=2/breadth=15                                                                            
                        time:   [46.019 us 46.431 us 46.847 us]
                        change: [-17.322% -15.939% -14.488%] (p = 0.00 < 0.05)
                        Performance has improved.
n-ary tree diff/depth=1/breadth=255                                                                             
                        time:   [36.884 us 37.420 us 37.960 us]
                        change: [-88.071% -86.673% -85.115%] (p = 0.00 < 0.05)
                        Performance has improved.

💥 Breaking Changes

#30 Part of trait Node was split into trait Tree for ease of use.

tree-edit-distance - v0.2.0

Published by brunocodutra about 3 years ago

🚀 What's New

#21 Relax Node::Kind to PartialEq, i.e. Eq is no longer required.

💥 Breaking Changes

#23 Change Node::Children to Deref<Target = [Self::Child]> from Borrow<[Self::Child]>.

tree-edit-distance - v0.1.0

Published by brunocodutra over 4 years ago

First release! 🎉