掌握以下概念是必要的:
前序遍歷:
1.訪問根節點
2.前序遍歷左子樹
3.前序遍歷右子樹
中序遍歷:
1.中序遍歷左子樹
2.訪問根節點
3.中序遍歷右子樹
後序遍歷:
1.後序遍歷左子樹
2.後序遍歷右子樹
3.訪問根節點
class binarytree
}
$b1 = new binarytree(4);
$b2 = new binarytree(6);
$b3 = new binarytree(8);
$b4 = new binarytree(10);
$b5 = new binarytree(12);
$b6 = new binarytree(14);
$b7 = new binarytree(16);
$b4->left = $b2;
$b4->right= $b6;
$b2->left = $b1;
$b2->right= $b3;
$b6->left = $b5;
$b6->right= $b7;
function preprint($node)
print($node->value);echo "\n";
preprint($node->left);
preprint($node->right);
}preprint($b4);
echo "\n";
function midprint($node)
midprint($node->left);
print($node->value);echo "\n";
midprint($node->right);
}midprint($b4);
echo "\n";
function rightprint($node)
rightprint($node->left);
rightprint($node->right);
print($node->value);echo "\n";
}rightprint($b4);
二叉樹 前序遍歷 中序遍歷 後序遍歷
前序遍歷 dlr 是二叉樹遍歷的一種,也叫做先跟遍歷,先序遍歷,前序周遊,可記做根左右。前序遍歷首先訪問根節點然後遍歷左子樹,最後遍歷右子樹。前序遍歷首先訪問根節點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根節點,然後遍歷左子樹,最後遍歷右子樹。若二叉樹為空則結束返回,否則 1 ...
二叉樹 前序遍歷 中序遍歷和後序遍歷
定義 樹是由結點或頂點和邊組成的 可能是非線性的 且不存在著任何環的一種資料結構。沒有結點的樹稱為空 null或empty 樹。一棵非空的樹包括乙個根結點,還 很可能 有多個附加結點,所有結點構成乙個多級分層結構。特點 樹狀圖是一種資料結構,它是由n n 0 個有限結點組成乙個具有層次關係的集合。把...
重建二叉樹 前序遍歷和中序遍歷
主要程式設計思想 由於前序遍歷第乙個數永遠是根,中序遍歷根左邊是左子樹,右邊衛右子樹。因此,每次找到乙個根節點,前序遍歷就可以分成左子樹序列和右子樹序列,中序遍歷也可以分成左子樹序列和右子樹序列,分別建立左子樹和右子樹,所以是非常典型的遞迴問題 treenode rebuildtree vector...