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

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

wordpress站點(diǎn)臨時(shí)關(guān)閉seo自然優(yōu)化排名技巧

wordpress站點(diǎn)臨時(shí)關(guān)閉,seo自然優(yōu)化排名技巧,抓取微博 Wordpress,做家教去哪個(gè)網(wǎng)站1.樹(shù) 1.1結(jié)構(gòu)特點(diǎn) 非線性結(jié)構(gòu),有一個(gè)直接前驅(qū),但可能有多個(gè)直接后繼有遞歸性,樹(shù)中還有樹(shù)可以為空,即節(jié)點(diǎn)個(gè)數(shù)為零 1.2相關(guān)術(shù)語(yǔ) 根:即根結(jié)點(diǎn),沒(méi)有前驅(qū)葉子:即終端結(jié)點(diǎn),沒(méi)有后繼森…

1.樹(shù)

1.1結(jié)構(gòu)特點(diǎn)

  • 非線性結(jié)構(gòu),有一個(gè)直接前驅(qū),但可能有多個(gè)直接后繼
  • 有遞歸性,樹(shù)中還有樹(shù)
  • 可以為空,即節(jié)點(diǎn)個(gè)數(shù)為零

1.2相關(guān)術(shù)語(yǔ)

  • 根:即根結(jié)點(diǎn),沒(méi)有前驅(qū)
  • 葉子:即終端結(jié)點(diǎn),沒(méi)有后繼
  • 森林:即樹(shù)的集合
  • 結(jié)點(diǎn)的度:直接后繼的個(gè)數(shù)
  • 樹(shù)的度:結(jié)點(diǎn)的度的最大值
  • 樹(shù)的深度高度:結(jié)點(diǎn)的最大層數(shù)

1.3樹(shù)的表示法

1.3.1圖形表示法

1.3.2廣義表表示法

1.3.3左孩子右兄弟表示法

將一顆多插樹(shù)轉(zhuǎn)化為二叉樹(shù),如下

其中,結(jié)點(diǎn)結(jié)構(gòu)為

左結(jié)點(diǎn)為孩子結(jié)點(diǎn),右節(jié)點(diǎn)為兄弟結(jié)點(diǎn)

2.二叉樹(shù)

2.1定義

一個(gè)根節(jié)點(diǎn)和兩棵不相交的二叉樹(shù)組成,即1:2

2.2基本特征

每個(gè)節(jié)點(diǎn)最多有兩棵子樹(shù)——每個(gè)節(jié)點(diǎn)的度<=2

左子樹(shù)和右子樹(shù)的順序不能顛倒——有序樹(shù)

2.3二叉樹(shù)性質(zhì)

滿二叉樹(shù):深度為k,有2^k-1個(gè)節(jié)點(diǎn)

完全二叉樹(shù):除最后一層,每一層節(jié)點(diǎn)數(shù)達(dá)到最大值,在最后一層只缺右邊的若干節(jié)點(diǎn)

2.4二叉樹(shù)的遍歷

//單個(gè)結(jié)點(diǎn)
struct BinaryNode
{char ch;struct BinaryNode* lChild;struct BinaryNode* rChild;
};
void test()
{struct BinaryNode A = { 'A',NULL,NULL };struct BinaryNode B = { 'B',NULL,NULL };struct BinaryNode C = { 'C',NULL,NULL };struct BinaryNode D = { 'D',NULL,NULL };struct BinaryNode E = { 'E',NULL,NULL };struct BinaryNode F = { 'F',NULL,NULL };struct BinaryNode G = { 'G',NULL,NULL };struct BinaryNode H = { 'H',NULL,NULL };//創(chuàng)建節(jié)點(diǎn)之間的關(guān)系A(chǔ).lChild = &B;A.rChild = &F;B.rChild = &C;C.lChild = &D;C.rChild = &E;F.rChild = &G;G.lChild = &H;//先序遍歷printf("先序遍歷\n");PreorderTraversal(&A);printf("中序遍歷\n");InorderTraversal(&A);printf("后序遍歷\n");PostorderTraversal(&A);
}

先序遍歷:DLR

//DLR
void PreorderTraversal(struct BinaryNode* node)
{if (node == NULL){return NULL;}printf("%c\n",node->ch);PreorderTraversal(node->lChild);PreorderTraversal(node->rChild);
}

中序遍歷:LDR

//LDR
void InorderTraversal(struct BinaryNode* node)
{if (node == NULL){return NULL;}InorderTraversal(node->lChild);printf("%c\n", node->ch);InorderTraversal(node->rChild);
}

后序遍歷:LRD

//LRD
void PostorderTraversal(struct BinaryNode* node)
{if (node == NULL){return NULL;}PostorderTraversal(node->lChild);PostorderTraversal(node->rChild);printf("%c\n", node->ch);
}

2.5統(tǒng)計(jì)二叉樹(shù)的葉子數(shù)量

左孩子和右孩子都為空指針時(shí),即為葉子結(jié)點(diǎn)

//統(tǒng)計(jì)葉子數(shù)量
void calculateLeadNum(struct BinaryNode* root, int* p)
{if (root == NULL){return NULL;}if (root->lChild == NULL && root->rChild == NULL){(*p)++;}calculateLeadNum(root->lChild, p);calculateLeadNum(root->rChild, p);
}

2.6統(tǒng)計(jì)二叉樹(shù)的高度

比較左子樹(shù)和右子樹(shù)的高度,取最大的一個(gè)加一,即為樹(shù)的高度

//計(jì)算樹(shù)的高度
int calculateHeight(struct BinaryNode* root)
{if (root == NULL){return NULL;}int lp = calculateHeight(root->lChild);int rp = calculateHeight(root->rChild);int height = lp > rp ? lp + 1 : rp + 1;return height;
}

2.7拷貝二叉樹(shù)

  • 拷貝左子樹(shù)
  • 拷貝右子樹(shù)
  • 創(chuàng)建新節(jié)點(diǎn)
  • 將拷貝的左子樹(shù)和右子樹(shù)掛載到新節(jié)點(diǎn)上
  • 將新節(jié)點(diǎn)賦值
//拷貝二叉樹(shù)
struct BinaryNode* copyTree(struct BinaryNode* root)
{if (root == NULL){return NULL;}struct BinaryNode* lp=copyTree(root->lChild);struct BinaryNode* rp=copyTree(root->rChild);struct BinaryNode* newNode = malloc(sizeof(struct BinaryNode));if (newNode == NULL){return;}newNode->lChild = lp;newNode->rChild = rp;newNode->ch = root->ch;return newNode;
}

2.8釋放二叉樹(shù)

  • 釋放左子樹(shù)
  • 釋放右子樹(shù)
  • 釋放根節(jié)點(diǎn)
//釋放二叉樹(shù)
void releaseTree(struct BinaryNode* root)
{if (root == NULL){return NULL;}releaseTree(root->lChild);releaseTree(root->rChild);printf("%c結(jié)點(diǎn)已被釋放", root->ch);releaseTree(root);
}

2.9二叉樹(shù)的非遞歸遍歷

將每個(gè)節(jié)點(diǎn)設(shè)一個(gè)標(biāo)志,默認(rèn)false

(1)將根節(jié)點(diǎn)壓入棧中

(2)進(jìn)入循環(huán)(只要棧中元素個(gè)數(shù)大于0,進(jìn)行循環(huán)操作)

  • 彈出棧頂元素
  • 若棧頂元素標(biāo)志為true,輸出此元素并執(zhí)行下一次循環(huán)
  • 若棧頂元素標(biāo)志為false,將節(jié)點(diǎn)標(biāo)志設(shè)為true
  • 將該節(jié)點(diǎn)的右子樹(shù)、左子樹(shù)、根壓入棧中
  • 執(zhí)行下一次循環(huán)
http://www.risenshineclean.com/news/38886.html

相關(guān)文章:

  • 做商城網(wǎng)站哪里買(mǎi)寧波seo推廣推薦公司
  • icp網(wǎng)站負(fù)責(zé)人網(wǎng)絡(luò)推廣平臺(tái)都有哪些
  • 甘南州住房和城鄉(xiāng)建設(shè)局網(wǎng)站百度一下就知道百度首頁(yè)
  • 寧波企業(yè)網(wǎng)站搭建特點(diǎn)百度一下百度一下你知道
  • 網(wǎng)站制作多久能完成廣州優(yōu)化疫情防控措施
  • 深圳做網(wǎng)站的網(wǎng)絡(luò)公2022年傳銷(xiāo)最新消息
  • 做曖曖視頻網(wǎng)站下載東營(yíng)網(wǎng)站建設(shè)制作
  • 什么網(wǎng)站做微信公眾賬號(hào)seo專(zhuān)員工作容易學(xué)嗎
  • 做像素畫(huà)的網(wǎng)站岳陽(yáng)seo公司
  • 局網(wǎng)站建設(shè)情況匯報(bào)官網(wǎng)制作公司
  • windows7怎么做網(wǎng)站服務(wù)器新聞式軟文
  • 中企動(dòng)力做的網(wǎng)站被百度屏蔽關(guān)鍵詞查詢(xún)工具有哪些
  • 銀行網(wǎng)站維護(hù)是做哪些seo排名教程
  • 網(wǎng)站如何做長(zhǎng)尾詞排名宣傳推廣文案
  • 寧波網(wǎng)站建設(shè)明細(xì)報(bào)價(jià)1小時(shí)快速搭建網(wǎng)站
  • 網(wǎng)站圖怎么做才能小而清晰百度灰色關(guān)鍵詞技術(shù)
  • 成都企業(yè)網(wǎng)站維護(hù)專(zhuān)業(yè)外貿(mào)網(wǎng)絡(luò)推廣
  • 做網(wǎng)站 一級(jí) 二級(jí)2023年10月爆發(fā)新冠
  • 產(chǎn)品開(kāi)發(fā)流程及每個(gè)流程內(nèi)容網(wǎng)站優(yōu)化網(wǎng)站優(yōu)化
  • 官方網(wǎng)站建設(shè)條件博客網(wǎng)站注冊(cè)
  • 搜索網(wǎng)站怎么做東營(yíng)優(yōu)化路網(wǎng)
  • 安徽平臺(tái)網(wǎng)站建設(shè)找哪家國(guó)產(chǎn)最好的a級(jí)suv88814
  • 哈爾濱企業(yè)展示型網(wǎng)站建設(shè)搜索引擎優(yōu)化期末考試答案
  • wordpress最簡(jiǎn)單的主題濱州seo排名
  • 提高網(wǎng)站流量網(wǎng)絡(luò)推廣網(wǎng)站推廣方法
  • 濰坊網(wǎng)站制作 熊掌號(hào)今日熱搜榜排名最新
  • 最好的wordpress主題北京網(wǎng)站優(yōu)化方式
  • 網(wǎng)站用自己的電腦做服務(wù)器北京百度seo排名點(diǎn)擊軟件
  • 網(wǎng)站建設(shè)模板成功案例網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣技術(shù)
  • 營(yíng)銷(xiāo)網(wǎng)站制作seo外貿(mào)公司推廣