日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构 · 二叉树遍历

發布時間:2025/6/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构 · 二叉树遍历 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:創建二叉樹結構

1 struct tree{ 2 char c; 3 tree left; 4 tree right; 5 };

二:基于BFS的遞歸遍歷:

1、先序遍歷

1 void preorder(tree t){ 2 if(!t) 3 return; 4 visit(t); 5 preorder(t->left); 6 preorder(t->right); 7 }

2、中序遍歷

1 void inorder(tree t){ 2 if(!t) 3 return; 4 lastorder(t->left); 5 visit(t); 6 lastorder(t->right); 7 }

3、后序遍歷

1 void lastorder(tree t){ 2 if(!t) 3 return; 4 inorder(t->left); 5 inorder(t->right); 6 visit(t); 7 }

?

三:基于BFS的層序遍歷

層序遍歷用隊列實現,從根節點開始,首先將根節點入隊,然后執行循環:結點出隊并訪問,左右結點入隊,直到隊列為空,形成按廣度優先搜索(BFS)的遍歷方式。 基本過程: 1) 根節點入隊; 2) 從隊列中出隊一個結點; 3) 訪問該結點; 4) 如果該結點左右子結點非空,依次入隊; 5) 隊列為空,遍歷結束。 1 void cengorder(tree t){ 2 if(!t) 3 return; 4 queue<tree> re; 5 tree p = T; 6 re.push(p); 7 while(!re.empty()){ 8 p = re.front(); 9 visit(p); 10 if(p->left) 11 re.push(p->left); 12 if(p->right) 13 re.push(p->right) 14 } 15 }

?

總結

以上是生活随笔為你收集整理的数据结构 · 二叉树遍历的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。