Describe the purpose of queue in breadth-first traversal? Assume you had function call displayAtDepthN, which when given tree and depth would display only nodes at that depth. Describe how this could be utilized to give breadth-first traversal of tree, and why it would not be as efficient as one using queue.