why does floorplanning algorithms use b-trees? why not use other self-balancing trees?