Forums: » Register « |  Free Tools |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support |

New Free Tools on Dev Shed!

#1
July 3rd, 2003, 11:50 AM
 Wizard2003
Contributing User

Join Date: Jul 2003
Posts: 206
Time spent in forums: 19 h 29 m 24 sec
Reputation Power: 11
Algorithm to compare two trees

Hello all,

does anyone know a algorithm to compare two trees?
I heard something about the Levenshtein algorithm but I can't find anything about it.
Can someone help me?

#2
July 4th, 2003, 02:49 AM
 majesty
Junior Member

Join Date: Jul 2003
Posts: 3
Time spent in forums: < 1 sec
Reputation Power: 0
Depends what sort of tree you're referring to
And what exactly do u wanna compare?

#3
July 4th, 2003, 02:46 PM
 M.Hirsch
Contributing User

Join Date: Oct 2000
Location: Back in the real world.
Posts: 5,966
Time spent in forums: 1 Month 2 Days 52 m 24 sec
Reputation Power: 190
Itīs probably not the most effective way, but you could recursively traverse both trees and compare the value of each single node (assuming they are trees that can be read completely recursively). As soon as one differs, stop and return false.

More details, plz?
__________________
--
Manuel Hirsch - Linux, FreeBSD, programming, administration articles, tutorials and more.

#4
July 4th, 2003, 06:31 PM
 Wizard2003
Contributing User

Join Date: Jul 2003
Posts: 206
Time spent in forums: 19 h 29 m 24 sec
Reputation Power: 11
I want to compare two xml files (tree structure).
The problem is that the one tree don't need to have the same structure like the other. The structure can differ in some cases.
The rusult of the comparison should be a information about:
which nodes of the to trees are equal and at the same position in the trees
which nodes are equal but at different positions
which nodes are just in the one file
and which nodes are just in the other file
The node should be compared by the vlalues of their attributes

I've no idea how to realize this :-(

#5
July 5th, 2003, 02:18 AM
 majesty
Junior Member

Join Date: Jul 2003
Posts: 3
Time spent in forums: < 1 sec
Reputation Power: 0
Hmm i have no idea.. but pseudocode for checking structure of two trees such as a binary tree would be as follows

Code:
```checksame(tree1,tree2)
if(t1 is empty AND t2 is empty)
return true
if(t1 is empty OR t2 is empty)
return false
return true AND checksame(t1.right,t2.left) AND checksame(t2.left,t2.right)```

 Viewing: Dev Shed Forums > Programming Languages - More > Software Design > Algorithm to compare two trees