binary-treebased algorithm