中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

群暉nas可以做網(wǎng)站百度seo怎么提高排名

群暉nas可以做網(wǎng)站,百度seo怎么提高排名,合肥網(wǎng)站制作建設(shè)公司,做網(wǎng)站用的三角形圖片上回我們手撕了一棵二叉樹,并且通過遞歸完成了遍歷,這回我們將深入理解用遞歸解決相關(guān)的二叉樹問題,數(shù)量使用分治的思想. 上回的代碼: #include<stdio.h> #include<stdlib.h> typedef struct BinTreeNode {struct BinTreeNode* left;struct BinTreeNode* right;i…

上回我們手撕了一棵二叉樹,并且通過遞歸完成了遍歷,這回我們將深入理解用遞歸解決相關(guān)的二叉樹問題,數(shù)量使用分治的思想.

上回的代碼:

#include<stdio.h>
#include<stdlib.h>
typedef struct BinTreeNode
{struct BinTreeNode* left;struct BinTreeNode* right;int val;
}BTNode;
BTNode* BuyBTNode(int val)
{BTNode* newnode = (BTNode*)malloc(sizeof(BTNode));if (newnode == NULL){perror("malloc fail");return NULL;}newnode->val = val;newnode->left = NULL;newnode->right = NULL;return newnode;
}
BTNode* CreateTree()
{BTNode* n1 = BuyBTNode(1);BTNode* n2 = BuyBTNode(2);BTNode* n3 = BuyBTNode(3);BTNode* n4 = BuyBTNode(4);BTNode* n5 = BuyBTNode(5);BTNode* n6 = BuyBTNode(6);n1->left = n2;n1->right = n4;n2->left = n3;n4->left = n5;n4->right = n6;return n1;
}
void PreOrder(BTNode* root)
{if (root == NULL){printf("N ");return;}printf("%d ", root->val);PreOrder(root->left);PreOrder(root->right);
}void InOrder(BTNode* root)
{if (root == NULL){printf("N ");return;}InOrder(root->left);printf("%d ", root->val);InOrder(root->right);
}
void PostOrder(BTNode* root)
{if (root == NULL){printf("N ");return;}PostOrder(root->left);PostOrder(root->right);printf("%d ", root->val);
}int main()
{BTNode* root = CreateTree();printf("前序遍歷:");PreOrder(root);printf("\n");printf("中序遍歷:");InOrder(root);printf("\n");printf("后序遍歷:");PostOrder(root);printf("\n");return 0;
}

一、求二叉樹存儲的元素個數(shù)

這里我的思路很簡單,我們可以通過遞歸將二叉樹向左右孩子遍歷,不為空則加1.

代碼如下:

int TreeSize(BTNode* root)
{return root == NULL ? 0 : TreeSize(root->left) + TreeSize(root->right) + 1;
}

二、二叉樹的最大深度

這個思路整體也不難,我們一樣用遞歸左右孩子節(jié)點,每通過一個非0的節(jié)點加1,NULL則直接返回,然后左右節(jié)點的返回值比較,最后返回大的值。

代碼如下:

int maxDepth(BTNode* root)
{if (root == NULL)return 0;int leftDepth = maxDepth(root->left);int rightDepth = maxDepth(root->right);return leftDepth > rightDepth ? leftDepth + 1 : rightDepth + 1;
}

三、尋找X的所在的節(jié)點

這個就是在左右遞歸上加上判斷val是否等于X

代碼示例:

BTNode* TreeFind(BTNode* root, int x)
{if (root == NULL)return NULL;if (root->val == x)return root;BTNode* ret1 = TreeFind(root->left, x);if (ret1)return ret1;BTNode* ret2 = TreeFind(root->right, x);if (ret2)return ret2;return NULL;
}

四、單值二叉樹

965. 單值二叉樹 - 力扣(LeetCode)

bool isUnivalTree(struct TreeNode* root) {if(root==NULL)return true;if (root->left) {if (root->val != root->left->val || !isUnivalTree(root->left)) {return false;}}if (root->right) {if (root->val != root->right->val || !isUnivalTree(root->right)) {return false;}}return true;
}

運用遞歸判斷只要存在一個false最后結(jié)果必然false

五、相同的樹

100. 相同的樹 - 力扣(LeetCode)

bool isSameTree(struct TreeNode* p, struct TreeNode* q) 
{if(p == NULL && q == NULL)return true;if(p == NULL || q == NULL)return false;if(p->val != q->val)return false;return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
}

這題思路和上題差不多,排除特殊情況就行。

六、對稱二叉樹

101. 對稱二叉樹 - 力扣(LeetCode)

bool judge(struct TreeNode *p ,struct TreeNode *q){if(p == NULL && q == NULL){return true;}else if(p == NULL || q == NULL){return false;}else if(p -> val != q -> val){return false;}return judge(p -> left,q -> right) && judge(p -> right,q -> left);
}
bool isSymmetric(struct TreeNode* root){return judge(root -> left,root -> right);
}

這題思路和上題也大差不差,我把遞歸內(nèi)容拉出來了而已


希望這篇學(xué)習(xí)之后,大家能學(xué)會這種分治的思想,謝謝閱讀。

http://www.risenshineclean.com/news/52586.html

相關(guān)文章:

  • 豬八戒官網(wǎng)做網(wǎng)站專業(yè)嗎企業(yè)網(wǎng)絡(luò)
  • 自己做的網(wǎng)站如何百度能搜索企業(yè)關(guān)鍵詞排名優(yōu)化網(wǎng)址
  • 最吸引人的廣告圖片seo教學(xué)免費課程霸屏
  • 自己設(shè)計圖紙的軟件佛山百度快照優(yōu)化排名
  • 能在線做初中題的網(wǎng)站適合小學(xué)生的新聞事件
  • 可以用來做視頻網(wǎng)站的視頻外鏈嗎網(wǎng)絡(luò)營銷專員的就業(yè)前景
  • 產(chǎn)品經(jīng)理做網(wǎng)站網(wǎng)站頁面
  • 跨境電子商務(wù)網(wǎng)站建設(shè)ks免費刷粉網(wǎng)站推廣
  • 網(wǎng)絡(luò)運營一個月工資寧波seo推廣方式排名
  • 荔灣做網(wǎng)站上海優(yōu)化公司排行榜
  • wordpress pdf 免費濰坊seo按天收費
  • flash做安卓游戲下載網(wǎng)站百度官方首頁
  • 《水利建設(shè)與管理》雜志社網(wǎng)站上海高端網(wǎng)站定制
  • Linux下使用wordpress公司seo排名優(yōu)化
  • 提供專業(yè)網(wǎng)站建設(shè)平臺收錄是什么意思
  • 心得體會萬能模板免費網(wǎng)站seo
  • 有些網(wǎng)站下方只有版權(quán)沒有ICP簡述seo和sem的區(qū)別與聯(lián)系
  • 北京網(wǎng)站推廣怎么做不屬于網(wǎng)絡(luò)推廣方法
  • 公司網(wǎng)站建設(shè)需要多少錢googleplay官方下載
  • 買2g 空間做下載網(wǎng)站全網(wǎng)搜索關(guān)鍵詞查詢
  • 邯鄲網(wǎng)站設(shè)計哪家好好省推廣100種方法
  • h5可以用什么網(wǎng)站做app推廣渠道商
  • 幫企業(yè)建網(wǎng)站步驟seo公司杭州
  • 網(wǎng)站設(shè)計美工多少搜索引擎優(yōu)化大致包含哪些內(nèi)容或環(huán)節(jié)
  • xp怎么做網(wǎng)站服務(wù)器太原做網(wǎng)站的
  • wordpress播放本地mp3seo關(guān)鍵詞排名注冊價格
  • 全市網(wǎng)站建設(shè)情況摸底調(diào)查百度網(wǎng)站關(guān)鍵詞排名查詢
  • 網(wǎng)站設(shè)計制作費用多少怎么做互聯(lián)網(wǎng)營銷推廣
  • 南陽東莞網(wǎng)站建設(shè)公司優(yōu)化排名推廣關(guān)鍵詞
  • 網(wǎng)站可以微信支付是怎么做的域名??烤W(wǎng)頁推廣大全