4
我試圖做一個二叉樹上的線性順序遍歷,但無法獲得正確的輸出。基本上我已經創建了一個隊列,並開始排隊根,然後直到隊列爲空,我將第一個元素出隊並將其子元素添加到隊列末尾。出列時返回一個通用元素()。我在將此元素轉換爲樹節點時遇到問題,因此我可以在下一步中將其子節點排入隊列末尾。這是我迄今所做的:如何進行級別訂單遍歷?
爲BTPosition和NodeQueuepublic void levelOrderTraversal()
{
NodeQueue<E> queue = new NodeQueue<E>();
BTPosition<E> current = root;
queue.enqueue(current.element());
E temp = null;
while(!queue.isEmpty())
{
temp = queue.dequeue();
System.out.println(temp.toString());
current.setElement(temp);
if (hasLeft(current))
{
queue.enqueue(left(current).element());
}
if (hasRight(current))
{
queue.enqueue(right(current).element());
}
}
}
API可以在http://net3.datastructures.net/doc4/index.html?net/datastructures/
任何建議都非常讚賞找到..