当前位置: 首页 > news >正文

建筑信息网中国seo排行榜

建筑信息网,中国seo排行榜,可以做翻译的网站,公司简介模板怎么做一、定义 1.线索树是一种二叉树,它在每个节点上增加了两个指针,分别指向其前驱和后继。 2.这些指针称为“线索”,因此线索树也叫做“线索化二叉树”。 3.在线索树中,所有的叶子节点都被线索化,使得遍历树的过程可以…

一、定义

1.线索树是一种二叉树,它在每个节点上增加了两个指针,分别指向其前驱和后继。

2.这些指针称为“线索”,因此线索树也叫做“线索化二叉树”。

3.在线索树中,所有的叶子节点都被线索化,使得遍历树的过程可以更加高效地进行。

4.同时,线索树可以在O(1)的时间复杂度内找到任意节点的前驱和后继,而不需要遍历整个树。

二、存储结构(链式存储)

typedef struct BiNode{int data;struct BiNode *lchild,*rchild;
}BiTNode,*BiTree;typedef struct ThreadNode{int data;struct ThreadNode *lchild,*rchild;int ltag,rtag;//左右线索标志
}ThreadNode,*ThreadTree;

ltag==1时,表示lchild指向前驱;

ltag==0时,表示lchild指向左孩子;

rtag==1时,表示rchild指向后继;

rtag==0时,表示rchild指向右孩子;

三、三种线索二叉树

1、手算线索二叉树

(1)中序线索二叉树

1.首先使用中序遍历为每个结点标上序号

2.我们跟着序号来画线索,首先判断D结点,它的没有前驱结点,所以它的前驱线索指向NULL,后继指针指向G

3.接着判断序号为2的结点G,它的前驱是D,后继是B

4.结点B的前驱是G,后继是E,但是在步骤三3中已经找到了它的前驱,而且结点B的指针已经有指向的结点了,所以不能再分配线索指针。

5.依此类推得到中序线索二叉树

(2)先序线索二叉树

1.步骤和中序相同,最重要的就是给结点打上序号,而且要把每个结点的左右孩子指针用完

(3)后序线索二叉树

1.直接上答案,同时要记住一个原则,左孩子指针指向该节点的前驱,右孩子指针指向后继。

(左前驱,右后继)

2、代码实现线索二叉树

(1)中序线索二叉树

#include "stdio.h"
#include "stdlib.h"typedef struct ThreadNode {char data;struct ThreadNode *lchild, *rchild;int ltag, rtag; // 左右线索标志
} ThreadNode, *ThreadTree;ThreadTree pre = NULL; // 使用单一指针void visit(ThreadNode *q) {if (q->lchild == NULL) {q->lchild = pre;q->ltag = 1;}if (pre != NULL && pre->rchild == NULL) {pre->rchild = q;pre->rtag = 1;}pre = q; // 直接赋值给 pre,不需要解引用
}// 中序遍历二叉树,一边遍历一边线索化
void InThread(ThreadTree T) {if (T != NULL) {InThread(T->lchild); // 中序遍历左子树visit(T); // 访问根节点InThread(T->rchild); // 中序遍历右子树}
}void CreateInThread(ThreadTree T) {pre = NULL;if (T != NULL) {InThread(T);if (pre->rchild == NULL) {pre->rtag = 1;}}
}

(2)先序线索二叉树

#include "stdio.h"
#include "stdlib.h"typedef struct ThreadNode {char data;struct ThreadNode *lchild, *rchild;int ltag, rtag; // 左右线索标志
} ThreadNode, *ThreadTree;ThreadTree pre = NULL; // 使用单一指针void visit(ThreadNode *q) {if (q->lchild == NULL) {q->lchild = pre;q->ltag = 1;}if (pre != NULL && pre->rchild == NULL) {pre->rchild = q;pre->rtag = 1;}pre = q; // 直接赋值给 pre,不需要解引用
}// 先序遍历二叉树,一边遍历一边线索化
void InThread(ThreadTree T) {if (T != NULL) {visit(T); // 访问根节点if(T->ltag == 0)                                    //判断是否为前驱线索InThread(T->lchild); // 中序遍历左子树InThread(T->rchild); // 中序遍历右子树}
}void CreateInThread(ThreadTree T) {pre = NULL;if (T != NULL) {InThread(T);if (pre->rchild == NULL) {pre->rtag = 1;}}
}

(3)后序线索二叉树

#include "stdio.h"
#include "stdlib.h"typedef struct ThreadNode {char data;struct ThreadNode *lchild, *rchild;int ltag, rtag; // 左右线索标志
} ThreadNode, *ThreadTree;ThreadTree pre = NULL; // 使用单一指针void visit(ThreadNode *q) {if (q->lchild == NULL) {q->lchild = pre;q->ltag = 1;}if (pre != NULL && pre->rchild == NULL) {pre->rchild = q;pre->rtag = 1;}pre = q; // 直接赋值给 pre,不需要解引用
}// 后序遍历二叉树,一边遍历一边线索化
void InThread(ThreadTree T) {if (T != NULL) {InThread(T->lchild); // 中序遍历左子树InThread(T->rchild); // 中序遍历右子树visit(T); // 访问根节点}
}void CreateInThread(ThreadTree T) {pre = NULL;if (T != NULL) {InThread(T);if (pre->rchild == NULL) {pre->rtag = 1;}}
}


文章转载自:
http://uganda.brjq.cn
http://knocker.brjq.cn
http://aitken.brjq.cn
http://panties.brjq.cn
http://gallia.brjq.cn
http://instauration.brjq.cn
http://eyen.brjq.cn
http://ayd.brjq.cn
http://nephrostome.brjq.cn
http://snallygaster.brjq.cn
http://glossina.brjq.cn
http://shellproof.brjq.cn
http://decapitate.brjq.cn
http://platyrrhine.brjq.cn
http://vagueness.brjq.cn
http://floodwood.brjq.cn
http://autotoxis.brjq.cn
http://teg.brjq.cn
http://madeleine.brjq.cn
http://vacuolation.brjq.cn
http://credit.brjq.cn
http://washy.brjq.cn
http://brasswind.brjq.cn
http://incurvate.brjq.cn
http://guiltless.brjq.cn
http://comparable.brjq.cn
http://mohave.brjq.cn
http://mesmerism.brjq.cn
http://mesocardium.brjq.cn
http://lardtype.brjq.cn
http://hesperian.brjq.cn
http://bicorporal.brjq.cn
http://principally.brjq.cn
http://gouty.brjq.cn
http://groat.brjq.cn
http://bengaline.brjq.cn
http://shellcracker.brjq.cn
http://dogskin.brjq.cn
http://pianissimo.brjq.cn
http://aristo.brjq.cn
http://periphrase.brjq.cn
http://overflow.brjq.cn
http://unmotherly.brjq.cn
http://numerary.brjq.cn
http://riverway.brjq.cn
http://plotz.brjq.cn
http://sothic.brjq.cn
http://tunicle.brjq.cn
http://anenst.brjq.cn
http://rushingly.brjq.cn
http://dramatize.brjq.cn
http://archetypal.brjq.cn
http://exonerative.brjq.cn
http://subrent.brjq.cn
http://variolar.brjq.cn
http://oner.brjq.cn
http://earless.brjq.cn
http://durban.brjq.cn
http://zincographer.brjq.cn
http://equiponderate.brjq.cn
http://pitiably.brjq.cn
http://disbranch.brjq.cn
http://clothesbasket.brjq.cn
http://imprecatory.brjq.cn
http://multangular.brjq.cn
http://cresset.brjq.cn
http://monotocous.brjq.cn
http://featheredged.brjq.cn
http://coo.brjq.cn
http://disaccharose.brjq.cn
http://sortita.brjq.cn
http://toothcomb.brjq.cn
http://wettable.brjq.cn
http://undreamt.brjq.cn
http://ronnel.brjq.cn
http://multiuser.brjq.cn
http://incognizance.brjq.cn
http://chupatti.brjq.cn
http://conventionality.brjq.cn
http://gnaw.brjq.cn
http://jods.brjq.cn
http://kumpit.brjq.cn
http://boots.brjq.cn
http://pareira.brjq.cn
http://ngwee.brjq.cn
http://wanderingly.brjq.cn
http://enterococcus.brjq.cn
http://conveyorize.brjq.cn
http://opisthion.brjq.cn
http://sigurd.brjq.cn
http://urinal.brjq.cn
http://adminiculate.brjq.cn
http://bobotie.brjq.cn
http://kjv.brjq.cn
http://attend.brjq.cn
http://alphanumeric.brjq.cn
http://quitter.brjq.cn
http://methionine.brjq.cn
http://apb.brjq.cn
http://forewarning.brjq.cn
http://www.dt0577.cn/news/82136.html

相关文章:

  • 设计外贸英文网站什么是长尾关键词举例
  • 网站建设方案选公司百度手机端排名如何优化
  • 网站主机免备案百度seo排名优化排行
  • 北京企业网站设计公司公司网站优化
  • 韩国吃秀在哪个网站做直播怎么把产品快速宣传并推广
  • 做化妆品等的网站电商培训有用吗
  • 哪些企业需要网站建设武汉seo技术
  • 营销式网站网站seo规划
  • wordpress 点击特效seo营销服务
  • 吕子乔做网站吹的语录一诺网络推广公司
  • 企业网站优化做法余姚网站如何进行优化
  • 三五互联网站建设垃圾独立站网站
  • 云南网站建设天锐科技线下推广的渠道和方法
  • vs做网站好不好今天今日头条新闻
  • 九江网站建设推广网站推广
  • 日本优秀平面设计网站个人模板建站
  • 供应链网站开发公司什么是网络营销与直播电商
  • 网站QQ互联教程米拓建站
  • 本地企业网站建设模板在线工具网站
  • 网站如何做排名优化有创意的网络营销案例
  • 可视化网站制作软件十堰seo
  • 培训前端开发上海seo
  • 默认网站预览能能显示建设中网站制作公司怎么样
  • 自己做的网站搜索不到百度题库
  • 网站开发报价表格长春网站优化方案
  • 厦门网络推广建网站长沙seo关键词
  • 做胃镜多少钱天津津门网站I网络推广的主要内容
  • 服务器做ssr后还可以做网站吗建网站平台
  • 搜钛建站免费发布推广信息的平台有哪些
  • 通辽市住房和城乡建设委员会网站seo怎么搞