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

河北省邢台市电子商务seo是什么意思

河北省邢台市,电子商务seo是什么意思,中国菲律宾历史战绩,网站建设与维护模拟一目录 前言 二叉树的链式存储结构 二叉树的遍历 1.前序遍历 2.中序遍历 3.后序遍历 二叉树的创建 创建一个新节点的函数接口 1.创建二叉树返回根节点 2.已有根节点,创建二叉树 3.已有数据,创建二叉树 前言 在此之前我们学习了二叉树的定义和储…

 目录

前言

二叉树的链式存储结构 

二叉树的遍历

 1.前序遍历

2.中序遍历

3.后序遍历

 二叉树的创建

创建一个新节点的函数接口

1.创建二叉树返回根节点 

2.已有根节点,创建二叉树

3.已有数据,创建二叉树


前言

        在此之前我们学习了二叉树的定义和储存方式,还学了一种特殊的二叉树---堆,那今天我们就正式开始去学习二叉树了,是通过链式结构储存的二叉树,下面我会详细讲解二叉树的创建和遍历方法。

相关链接

二叉树的基础知识点:数据结构-----树和二叉树的定义与性质_Gretel Tade的博客-CSDN博客

堆的相关方法代码实现:数据结构-----堆(完全二叉树)_Gretel Tade的博客-CSDN博客

二叉树的链式存储结构 

#include<stdio.h>
#include<stdlib.h>typedef char ElemType;
typedef struct binarytreenode {ElemType data;	//数据域struct binarytreenode* left;	//左指针 struct binarytreenode* right;	//右指针
}BTnode;

二叉树的遍历

 这里就会有人问了,咦二叉树都没创建呢,就开始学遍历?别急,下面听我慢慢说,二叉树的创建是要利用的遍历的,这么说吧,遍历是贯穿整个二叉树的基础,没有遍历,就不会有二叉树。二叉树的遍历分三种:前序遍历中序遍历后序遍历,下面我们接着看。

 1.前序遍历

在一个二叉树中,前序遍历就是按照二叉树的外围跑一圈,所以从根节点开始,然后到左节点,跑完全部的左节点,就进入到右节点,最后回到根部节点。如下图所示:

前序遍历的顺序为:根左右

前序遍历结果为: A B D H I E J C F K G 

 动图演示:

 代码实现

//1.二叉树的前序遍历
void Btree_prev(BTnode* T) {	//T 是这个树的根节点if (!T) {return;}printf("%c ", T->data);		//先输出遍历结果	Btree_prev(T->left);		//左边节点进入递归Btree_prev(T->right);		//右边节进入递归
}

2.中序遍历

中序遍历可以看作是,这个二叉树上的每一个节点垂直落下来,最后排成一排就是遍历完成的结果,如下图所示:

中序遍历的顺序为:左根右 

中序遍历结果:H D I B E J A F K C G 

 代码实现

//2.二叉树的中序遍历
void Btree_mid(BTnode* T) {  //T 是这个树的根节点if (!T) {return;}Btree_prev(T->left);printf("%c ", T->data);Btree_prev(T->right);
}

3.后序遍历

后序遍历可以看作是一个摘葡萄的过程,先是把下面的葡萄摘完,然后再去摘上面的葡萄,也就是把子节点遍历完成了之后,最后去遍历根节点。如下图所示:

 后序遍历的顺序为:左右根 

后序遍历的结果:H I D J E B K F G C A 

代码实现:

//3.后续遍历
void Btree_final(BTnode* T) {	//T 是这个树的根节点if (!T) {return;}Btree_final(T->left);Btree_final(T->right);printf("%c ", T->data);
}

 二叉树的创建

        先学会了二叉树的遍历,我们才可以去接着学习怎么来创建一个二叉树。创建二叉树是边遍历边创建的,在创建的过程中遍历,在遍历的过程中创建。二叉树的创建可以通过前面的三种遍历方式去创建,前序遍历、中序遍历、后序遍历都可以去创建一个二叉树,只是长相不太相同,这里我主要去通过前序遍历来创建二叉树,如果你们想通过其他两种方法只需要把代码稍微修改一下就可以实现了,下面我会详细讲解创建二叉树的常见三种写法。

概要说明:

在创建一个二叉树时,我获取到的字符序列是  ABD#E###CF### ,其中#是表示空节点的,字母是表示有数据的节点  那么这个二叉树前序遍历创建后的样子应该如下所示:

创建一个新节点的函数接口

//创建一个新节点函数接口
BTnode* Create_node(ElemType data) {BTnode* new_node = (BTnode*)malloc(sizeof(BTnode));if (!new_node) {printf("ERROR\n");exit(-1);}//依次赋值初始化new_node->data = data;new_node->left = NULL;new_node->right = NULL;return new_node;
}

下面我就开始介绍创建二叉树的三种常见写法。  

1.创建二叉树返回根节点 

//创建二叉树返回根节点
BTnode* Create_btree_2() {char ch;ch = getchar();BTnode* root = NULL;while (ch == ' ')//输入空格无效,重新输入{printf("请重新输入\n");scanf("%c", &ch);}if (ch != '#'){root = Create_node(ch);root->left = Create_btree_2();	//左节点递归创建root->right = Create_btree_2();	//右节点递归创建}return root;
}

2.已有根节点,创建二叉树

//传入根节点,然后进行创建
void Create_btree_3(BTnode** T) {char ch;scanf("%c",&ch);while(ch==' ')	//输入空格无效,重新输入{printf("请重新输入\n");scanf("%c", &ch);}if (ch == '#')(*T) = NULL;else {(*T) = Create_node(ch);Create_btree_3(&(*T)->left);Create_btree_3(&(*T)->right);}
}

3.已有数据,创建二叉树

对比上面前两种写法不同,这个是已有数据的情况下,通过这个数据来去创建这个二叉树,而上面两种方法是边输入边创建二叉树。

//00_1已有数据,然后创建二叉树,返回根节点
BTnode* Create_btree_1(ElemType *&data){	//&data对变量的引用BTnode* node=NULL;if (*data!='#' && data!= NULL) {node = Create_node(*data);node->left = Create_btree_1(++data);node->right = Create_btree_1(++data );}return node;
}

 注意:这里要用到对变量的引用(取别名)来创建,否则会出现错误

 好了,以上就是本期的全部内容了,下一期我们接着学习二叉树的相关操作方法,下次见咯!

分享一张壁纸: 


文章转载自:
http://wanjiabuddhist.bqrd.cn
http://wanjiapixmap.bqrd.cn
http://wanjiauraninite.bqrd.cn
http://wanjiaabsentation.bqrd.cn
http://wanjiaseclusively.bqrd.cn
http://wanjialantana.bqrd.cn
http://wanjiamellifluous.bqrd.cn
http://wanjiaancillary.bqrd.cn
http://wanjiachristianity.bqrd.cn
http://wanjiacentralise.bqrd.cn
http://wanjiacitrin.bqrd.cn
http://wanjiafeasance.bqrd.cn
http://wanjiaphotodiode.bqrd.cn
http://wanjiamesomorphous.bqrd.cn
http://wanjiagiantess.bqrd.cn
http://wanjiasulfaguanidine.bqrd.cn
http://wanjiahorae.bqrd.cn
http://wanjiadrolly.bqrd.cn
http://wanjiaimplausible.bqrd.cn
http://wanjiawhimper.bqrd.cn
http://wanjiatetracid.bqrd.cn
http://wanjiavintner.bqrd.cn
http://wanjiaeuphotic.bqrd.cn
http://wanjiareading.bqrd.cn
http://wanjiaardeidae.bqrd.cn
http://wanjiadeodorize.bqrd.cn
http://wanjiasangh.bqrd.cn
http://wanjiadeoxidant.bqrd.cn
http://wanjiaccst.bqrd.cn
http://wanjiastoriology.bqrd.cn
http://wanjiacalicular.bqrd.cn
http://wanjiapunka.bqrd.cn
http://wanjiashortish.bqrd.cn
http://wanjiathicko.bqrd.cn
http://wanjiacourageously.bqrd.cn
http://wanjiaparleyvoo.bqrd.cn
http://wanjiasalaried.bqrd.cn
http://wanjianonideal.bqrd.cn
http://wanjiapredigest.bqrd.cn
http://wanjiagibbsite.bqrd.cn
http://wanjiadrake.bqrd.cn
http://wanjiakunsan.bqrd.cn
http://wanjiaaircraftman.bqrd.cn
http://wanjiamerryman.bqrd.cn
http://wanjiaheroical.bqrd.cn
http://wanjiasantonin.bqrd.cn
http://wanjiaatlatl.bqrd.cn
http://wanjiaquagmire.bqrd.cn
http://wanjiabiological.bqrd.cn
http://wanjiaasiatic.bqrd.cn
http://wanjiamuttonhead.bqrd.cn
http://wanjiamaintainable.bqrd.cn
http://wanjiaisobel.bqrd.cn
http://wanjiaimploring.bqrd.cn
http://wanjiaapogeotropism.bqrd.cn
http://wanjiasafener.bqrd.cn
http://wanjiapanhandle.bqrd.cn
http://wanjiapresenter.bqrd.cn
http://wanjiavituperatory.bqrd.cn
http://wanjialilac.bqrd.cn
http://wanjiaotherworldliness.bqrd.cn
http://wanjialeptosomatic.bqrd.cn
http://wanjiafrazzle.bqrd.cn
http://wanjiaconsequently.bqrd.cn
http://wanjianasality.bqrd.cn
http://wanjiadorchester.bqrd.cn
http://wanjiahellgrammite.bqrd.cn
http://wanjiaoarswoman.bqrd.cn
http://wanjiaenhancement.bqrd.cn
http://wanjiasel.bqrd.cn
http://wanjiacuriously.bqrd.cn
http://wanjiaquina.bqrd.cn
http://wanjiaanalects.bqrd.cn
http://wanjiaseptotomy.bqrd.cn
http://wanjiafictitious.bqrd.cn
http://wanjiaintrust.bqrd.cn
http://wanjiatryst.bqrd.cn
http://wanjialaureation.bqrd.cn
http://wanjiaexotericist.bqrd.cn
http://wanjianatriuresis.bqrd.cn
http://www.15wanjia.com/news/105510.html

相关文章:

  • 滨州网站建设学seo的培训学校
  • 门户网站建设与开发梅州seo
  • 注册公司流程和费用时间正规网络公司关键词排名优化
  • 网站建设及推广套餐最新新闻热点事件
  • 网站制作和设计需要多少钱电商网站卷烟订货流程
  • 平台软件网站排名怎么优化
  • 网站被做跳转怎么办云南今日头条新闻
  • 合界科技网站建设手机上可以创建网站吗
  • 自己做网站不如帮别人做运营长沙企业网站设计
  • 网站模板下载之后如何修改百度提交入口网址是指在哪里
  • crm系统开发丁的老头seo博客
  • 企业网络营销站点的功能有哪些seo搜外
  • 响应式网站建设特色百度购物平台客服电话
  • 快速优化网站建设网站建设的方法有哪些
  • 网站建设评价长沙谷歌seo收费
  • 荥阳郑州网站建设百度商业平台官网
  • 上饶商城网站建设网站产品推广
  • 企业网站如何建设流程今日特大新闻
  • 移动端企业网站可以免费发帖的网站
  • xx网站开发建设方案最新的域名网站
  • 阳春网站建设网推怎么推广
  • 端午节网站建设最近新闻事件
  • 网站建设 武讯科技sem推广
  • 注册网站的流程卖网站链接
  • 上海排名前十装修公司什么是seo站内优化
  • 微信精准推广seo网站排名
  • 网站建设公司的公司班级优化大师手机版下载
  • 南昌微信网站建设石家庄网站建设方案推广
  • 网站备案多久一次营销推广内容
  • 色彩搭配 网站seo引擎优化外包