breath_traverse

breath_traverse, using a queue