BFS DFS(C++ ) - IT閱讀

文章推薦指數: 80 %
投票人數:10人

BFS DFS(C++ ). /* A / \ B C / \ / \ D E F G 深度優先遍歷(DFS) : A B D E C F G 廣度優先遍歷(BFS) : A B C D E F G */. TreeNode: BFSDFS(C++) 首頁 最新 HTML CSS JavaScript jQuery Python3 Python2 Java C C++ Go SQL 首頁 最新 Search BFSDFS(C++) 2018-12-13254 BFSDFS(C++) /* A /\ BC /\/\ DEFG 深度優先遍歷(DFS):ABDECFG 廣度優先遍歷(BFS):ABCDEFG */ TreeNode: structTreeNode{ intval; TreeNode*left; TreeNode*right; TreeNode(intx):val(x),left(NULL),right(NULL){} }; //深度優先遍歷(DFS) voiddepthFirstSearch(TreeNode*root){ stacknodeStack;//使用C++的STL標準模板庫 nodeStack.push(root); TreeNode*node; while(!nodeStack.empty()){ node=nodeStack.top(); cout<val; nodeStack.pop(); if(node->right){ nodeStack.push(node->right);//先將右子樹壓棧 } if(node->left){ nodeStack.push(node->left);//再將左子樹壓棧 } } } //DFS遞迴實現 voiddfs(TreeNode*root) { if(root){ cout<val; dfs(root->left); dfs(root->right); } } //廣度優先遍歷(BFS) voidbreadthFirstSearch(TreeNode*root){ queuenodeQueue;//使用C++的STL標準模板庫 nodeQueue.push(root); TreeNode*node; while(!nodeQueue.empty()){ node=nodeQueue.front(); nodeQueue.pop(); cout<val; if(node->left){ nodeQueue.push(node->left);//先將左子樹入隊 } if(node->right){ nodeQueue.push(node->right);//再將右子樹入隊 } } } 相關文章 BFSDFS(C++) C#BFSDFS迷宮尋徑深度優先演算法廣度優先演算法 CSARound#41BFS-DFS 有向圖---鄰接表(BFS+DFS) 演算法基礎-->圖論(BFS,DFS) 130.SurroundedRegions將包圍的符號變換BFS&DFS&UNIONfind 迷宮系列(三)利用BFS/DFS的資料得到最短路/通路 無向圖的遍歷(BFS+DFS,MATLAB) NYOJ27水池數目(BFS,DFS) 二分圖的判斷bfs+dfs兩種搜尋方法判斷 kuangbin專題簡單搜尋(bfs+dfs)個人題解 BFS/DFS判斷是否是二分圖 深度優先遍歷DFS(C++) 鄰接矩陣有向圖判斷是否有環是否連通DFSC實現~ 深度優先搜尋DFSC++實現 分類導航 HTML/CSS HTML教程 HTML5教程 CSS教程 CSS3教程 JavaScript JavaScript教程 jQuery教程 Node.js教程 服務端 Python教程 Python3教程 Linux教程 Docker教程 Ruby教程 Java教程 JSP教程 C教程 C++教程 Perl教程 Go教程 PHP教程 正則表達式 資料庫 SQL教程 MySQL教程 PostgreSQL教程 SQLite教程 MongoDB教程 Redis教程 Memcached教程 行動端 IOS教程 Swift教程 Advertisement 三度辭典 Copyright©2016-2021IT閱讀  Itread01.comAllRightsReserved. 0.001291036605835



請為這篇文章評分?