先 中 後 遞迴,非遞迴 二叉樹

2021-09-12 23:17:46 字數 950 閱讀 8979

import com.ccut.aaron.stack.linkedstack;

public class binarytree

}//前序遍歷非遞迴的方式

public void preordernonrecursive(binarytreenode root)

if(stack.isempty()) break;

root=stack.pop();

root=root.getright();}}

//中序遍歷採用遞迴的方式

public void inorder(binarytreenode root)

}//中序遍歷採用非遞迴的方式

public void inordernonrecursive(binarytreenode root)

if(stack.isempty())break;

root=stack.pop();

system.out.print(root.getdata()+"\t");

root=root.getright();}}

//後序遍歷採用遞迴的方式

public void postorder(binarytreenode root)

}//後序遍歷採用非遞迴的方式

public void postordernonrecursive(binarytreenode root)else}}

if(!stack.isempty())

root=stack.lastelement().getright();

else

root=null;}}

}//層序遍歷

public void levelorder(binarytreenode root)}}

public static void main(string args)

}

二叉樹 非遞迴遍歷(先 中 後)

include include include define maxsize 20 最多結點個數 using namespace std 二叉鍊錶 typedef struct bnodebnode,btree 順序棧 typedef btree datatype typedef structseq...

二叉樹 遞迴 非遞迴

include include include include using namespace std typedef struct node bintree typedef struct node1 btnode void creatbintree char s,bintree root 建立二叉...

二叉樹非遞迴先序遍歷

二叉樹的遞迴先序遍歷很簡單,假設二叉樹的結點定義如下 1 struct binarytreenode 2 遞迴先序遵循 根 左 右的順序 1 void preorder binarytreenode root 2非遞迴我們以乙個例子說明,仍然以之前博文的乙個二叉樹說明 1 82 36 104 55 ...