华南俳烁实业有限公司

翻譯資格考試

導(dǎo)航

二叉樹的先序,中序,后序遍歷代碼

來源 :華課網(wǎng)校 2024-07-29 23:17:54

二叉樹是一種常見的數(shù)據(jù)結(jié)構(gòu),它由根節(jié)點和若干個子樹構(gòu)成,每個子樹也是一棵二叉樹。二叉樹的遍歷是指按照一定的順序依次訪問二叉樹中的所有節(jié)點。常見的遍歷方式有先序遍歷、中序遍歷和后序遍歷。以下是三種遍歷方式的代碼實現(xiàn)。

先序遍歷:

void preorderTraversal(TreeNode* root) {

if (root == nullptr) return;

cout << root->val << ' '; // 訪問根節(jié)點

preorderTraversal(root->left); // 遞歸遍歷左子樹

preorderTraversal(root->right); // 遞歸遍歷右子樹

}

中序遍歷:

void inorderTraversal(TreeNode* root) {

if (root == nullptr) return;

inorderTraversal(root->left); // 遞歸遍歷左子樹

cout << root->val << ' '; // 訪問根節(jié)點

inorderTraversal(root->right); // 遞歸遍歷右子樹

}

后序遍歷:

void postorderTraversal(TreeNode* root) {

if (root == nullptr) return;

postorderTraversal(root->left); // 遞歸遍歷左子樹

postorderTraversal(root->right); // 遞歸遍歷右子樹

cout << root->val << ' '; // 訪問根節(jié)點

}

以上代碼實現(xiàn)了三種二叉樹遍歷方式,它們的核心思想都是使用遞歸的方式依次訪問二叉樹中的所有節(jié)點。在實際應(yīng)用中,我們可以根據(jù)具體的需求選擇適合的遍歷方式。

分享到

您可能感興趣的文章

相關(guān)推薦

熱門閱讀

最新文章

阿克陶县| 从化市| 白水县| 宁晋县| 察哈| 洮南市| 罗山县| 漳浦县| 务川| 申扎县| 普宁市| 稷山县| 成都市| 长岭县| 通江县| 北宁市| 蕲春县| 镇雄县| 阿图什市| 莱芜市| 汝阳县| 彝良县| 贡觉县| 奇台县| 桓仁| 班玛县| 冕宁县| 红河县| 平武县| 南康市| 盐城市| 濉溪县| 晋中市| 金川县| 嘉祥县| 安化县| 凌源市| 中山市| 屏山县| 周至县| 黄陵县|