亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++基于遞歸和非遞歸算法求二叉樹鏡像的方法

2020-02-24 14:25:28
字體:
來源:轉載
供稿:網友

二叉樹中的元素自上而下地放置在數組中,易于遞歸實現,其實容器用于存儲前一個狀態實現循環以創建二叉樹,下面武林技術頻道就給大家介紹C++基于遞歸和非遞歸算法求二叉樹鏡像的方法。

具體如下:

/*求二叉樹鏡像 -- 采用遞歸和非遞歸方法經調試可運行源碼及分析如下:***/#include <stdlib.h>#include <iostream>#include <queue>using std::cout;using std::cin;using std::endl;using std::queue;/*二叉樹結點定義*/typedef struct BTreeNode{  char elem;  struct BTreeNode *pleft;  struct BTreeNode *pright;}BTreeNode;/*求二叉樹鏡像遞歸方式步驟:如果proot為NULL,則為空樹,返回;如果proot不為NULL,交換proot左右結點,然后分別求左右子樹的鏡像;*//*遞歸求二叉樹鏡像*/void get_bitree_mirror(BTreeNode* proot){  if (proot == NULL)    return ;  BTreeNode* temp_node = proot->pleft;  proot->pleft = proot->pright;  proot->pright = temp_node;  get_bitree_mirror(proot->pleft);  get_bitree_mirror(proot->pright);  return ;}/*非遞歸方式步驟如下:借助隊列首先,將根節點proot入隊;第一步:當隊列非空時,獲取當前層次的節點總數,即當前隊列的長度;執行第二步;第二步:按照當前層的節點總數,出隊進行遍歷節點,在遍歷時,    交換左右節點,如果左右節點存在,則入隊;    當遍歷完當前層所有節點時,遍歷下一層,執行第一步。*/void get_bitree_mirror_leveltraverse(BTreeNode* proot){  if(proot == NULL)    return ;  queue <BTreeNode*> que;  que.push(proot);  int level_nodes_number = 0;  while (!que.empty())//層次遍歷  {    level_nodes_number = que.size();    int level_count = 0;    while (level_count < level_nodes_number)    {      ++level_count;      proot = que.front();      que.pop();      //交換左右子節點      BTreeNode* temp_node = proot->pleft;      proot->pleft = proot->pright;      proot->pright = temp_node;      if(proot->pleft != NULL)        que.push(proot->pleft);      if(proot->pright != NULL)        que.push(proot->pright);    }  }  return ;}/*初始化二叉樹根節點*/BTreeNode* btree_init(BTreeNode* &bt){  bt = NULL;  return bt;}/*先序創建二叉樹*/void pre_crt_tree(BTreeNode* &bt){  char ch;  cin >> ch;  if (ch == '#')  {    bt = NULL;  }  else  {    bt = new BTreeNode;    bt->elem = ch;    pre_crt_tree(bt->pleft);    pre_crt_tree(bt->pright);  }}/*先序遍歷*/void pre_order_traverse(BTreeNode* proot){  if(proot == NULL)    return;  cout<< proot->elem << " ";  pre_order_traverse(proot->pleft);  pre_order_traverse(proot->pright);  return;}int main(){  int tree_node_number = 0;  BTreeNode *bt;  btree_init(bt);//初始化根節點  pre_crt_tree(bt);//創建二叉樹  cout << "先序遍歷輸出如下:" << endl;  cout << "調用鏡像函數前:" << endl;  pre_order_traverse(bt);  cout << endl;  get_bitree_mirror(bt);  cout << "遞歸調用鏡像函數后:" << endl;  pre_order_traverse(bt);  cout << endl;  cout << "非遞歸調用鏡像函數后:" << endl;  get_bitree_mirror_leveltraverse(bt);  pre_order_traverse(bt);  cout << endl;  system("pause");  return 0;}
/*運行結果:a b c # # # d e # # #------以上為輸入-----------------以下為輸出-----------先序遍歷輸出如下:調用鏡像函數前:a b c d e遞歸調用鏡像函數后:a d e b c非遞歸調用鏡像函數后:a b c d e請按任意鍵繼續. . .---------------------------------本例創建的二叉樹形狀:    a  b    dc     e調用遞歸求二叉樹鏡像形狀:   ad    b  e    c再次調用非遞歸求二叉樹鏡像形狀(即鏡像的鏡像):    a  b    dc     e*/以上就是武林技術頻道小編給大家介紹的C++基于遞歸和非遞歸算法求二叉樹鏡像的方法,如若您想要學習更多的技術專業知識可點擊進入js.Vevb.com。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品爱啪在线线免费观看| 亚洲一品av免费观看| 亚洲一区久久久| 欧美成人精品h版在线观看| 欧美在线欧美在线| www.美女亚洲精品| 91精品国产99久久久久久| 91精品国产色综合| 欧美精品www在线观看| 日韩激情视频在线| 久久九九热免费视频| 精品国产91久久久| 麻豆国产精品va在线观看不卡| 毛片精品免费在线观看| 精品人伦一区二区三区蜜桃网站| 欧美午夜女人视频在线| 日韩av在线电影网| 精品丝袜一区二区三区| 青青a在线精品免费观看| 亚洲成人精品久久| 精品女厕一区二区三区| 日韩精品免费在线观看| 亚洲欧美日韩在线一区| 亚洲精品美女免费| 欧美在线免费看| 国产精品电影一区| 日韩电视剧在线观看免费网站| 国产suv精品一区二区| 91精品国产91| 日韩一区二区久久久| 日韩成人激情在线| 日韩精品欧美国产精品忘忧草| 欧美成人精品在线观看| 欧美性一区二区三区| 亚洲色图av在线| 久久久女人电视剧免费播放下载| 久久精品小视频| 中文字幕日韩欧美在线| 亚洲欧美自拍一区| 黑人极品videos精品欧美裸| 精品国产美女在线| 久久6免费高清热精品| 98精品国产高清在线xxxx天堂| 国产精品久久久久久久app| 久久99国产综合精品女同| 欧美精品videos| 亚洲人成网站777色婷婷| 在线观看国产成人av片| 2018国产精品视频| 97激碰免费视频| 日韩亚洲第一页| 成人激情电影一区二区| 国产精品黄色av| 精品久久久久久久久久国产| 在线观看亚洲视频| 2019精品视频| 国产一区二区黑人欧美xxxx| 国产精品美女久久| 成人网在线视频| 亚洲国产天堂久久综合网| 国产原创欧美精品| 欧美性猛交xxxx免费看久久久| 色樱桃影院亚洲精品影院| 国产成人综合久久| 欧美日韩免费一区| 精品美女永久免费视频| 欧美做爰性生交视频| 欧美日韩国产一中文字不卡| 久久最新资源网| 91精品国产综合久久香蕉922| 91久久久久久| 欧美视频中文字幕在线| 日韩中文字幕亚洲| 精品女同一区二区三区在线播放| 欧美区二区三区| 欧美午夜影院在线视频| 日韩在线中文字| 久久综合亚洲社区| 日韩在线视频观看正片免费网站| 国产精品高潮呻吟久久av黑人| 中文字幕九色91在线| 欧美日韩国产综合新一区| 懂色av中文一区二区三区天美| 欧美精品亚州精品| 欧美在线欧美在线| 亚洲国产女人aaa毛片在线| 国产精品久久久久久久久久尿| 国产成人精品久久二区二区| 亚洲国产精品小视频| 亚洲男人天堂2023| 久久精品一区中文字幕| 操人视频在线观看欧美| 美女久久久久久久久久久| 国产69久久精品成人看| 色综合久久中文字幕综合网小说| 日本久久久久亚洲中字幕| 亚洲网站在线看| 国模gogo一区二区大胆私拍| 26uuu久久噜噜噜噜| 怡红院精品视频| 成人激情免费在线| 精品久久久久久电影| 麻豆国产精品va在线观看不卡| 成人亲热视频网站| 一区二区亚洲精品国产| 国产一区二区三区在线| 亚洲电影免费观看高清完整版| 亚洲综合小说区| 清纯唯美亚洲综合| 91九色精品视频| 亚洲精品成a人在线观看| 亚洲精品ady| 国产精品久久久久久av下载红粉| 欧美日韩亚洲天堂| 一区二区欧美在线| 国产精品自产拍在线观看中文| 欧美国产日韩精品| 欧美裸体xxxxx| 欧美精品在线极品| 亚洲r级在线观看| 久久久久久亚洲精品中文字幕| 欧美怡春院一区二区三区| 日韩av在线网站| 欧美尺度大的性做爰视频| 98精品国产自产在线观看| 国产精品久久91| 欧美日韩一区二区三区在线免费观看| 中文字幕亚洲图片| 亚洲欧美一区二区激情| 亚洲精品动漫100p| 亚洲网在线观看| 97在线观看免费高清| 57pao成人永久免费视频| 久久色精品视频| 日韩视频亚洲视频| 成人有码在线视频| 韩国日本不卡在线| 精品视频中文字幕| 欧美日韩中文字幕在线视频| 亚洲欧洲成视频免费观看| 久久久欧美一区二区| 中文精品99久久国产香蕉| 久久亚洲电影天堂| 在线亚洲午夜片av大片| 一区二区三区天堂av| 欧美性猛交xxxx富婆弯腰| 亚洲理论电影网| 国产欧美精品一区二区三区介绍| 亚洲成色777777在线观看影院| 亚洲国产99精品国自产| 青青草原成人在线视频| 中文字幕久久精品| 欧美日韩一区二区免费视频| 一道本无吗dⅴd在线播放一区| 久久影院资源站| 精品色蜜蜜精品视频在线观看| 国产精品一香蕉国产线看观看| 国产成人综合精品| 日韩视频欧美视频| 久久99热精品这里久久精品| 日韩av在线播放资源| 久久国内精品一国内精品| 欧美日韩国产丝袜美女| 久久久久久久久久久av|