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

商业网站推荐一个网站做十个二级域名

商业网站推荐,一个网站做十个二级域名,广州在线网站制作公司,搜网站关键词2024王道408数据结构P144 T18 思考过程 首先还是先看题目的意思,让我们在中序线索二叉树里查找指定结点在后序的前驱结点,这题有一点难至少对我来说…我讲的不清楚理解一下我做的也有点糊涂。在创建结构体时多两个变量ltag和rtag,当ltag0时…

2024王道408数据结构P144 T18

思考过程

  1. 首先还是先看题目的意思,让我们在中序线索二叉树里查找指定结点在后序的前驱结点,这题有一点难至少对我来说…我讲的不清楚理解一下我做的也有点糊涂。
  2. 在创建结构体时多两个变量ltag和rtag,当ltag=0时就说明该结点有左孩子,当ltag=1时说明该结点的lchild指向它的前驱结点
  3. 那么我们需要把一个二叉树给中序线索化,线索化后假设有这么一颗二叉树请添加图片描述之后要查找指定结点在后序的前驱结点有这么五种情况,假设指定结点为指针p:
    • 如果p有右孩子,那么在后序的前驱结点也就是该结点的右孩子if(p->rtag==0)从上面那个二叉树来看很明显。
    • 如果p没有右孩子但是有左孩子,那么在后序的前驱结点也就是改结点的左孩子if(p->ltag==0)比如上图的结点B,当B没有右孩子但是有左孩子时,在后序序列中的前驱结点也就是它的左孩子D。
    • 如果p是中序遍历中的第一个结点的话,那么在后序遍历中也必定是第一个结点if (p->lchild==NULL)这时候也就说明该结点没有前驱结点,我们直接q=NULL就好了。
    • 第四种情况就是该结点没有左右孩子,比如下图这种情况请添加图片描述这棵树中的C结点就是没有左右孩子的,此时它在后序序列中的前驱结点就是先要找到该结点的祖先, while (p->ltag == 1 && p->lchild != NULL) p = p->lchild;找到祖先后那也就是该祖先结点的左孩子。if (p->ltag == 0) q = p->lchild;
    • 那最后一种情况就是一棵树中既没有左孩子也没有右孩子,只有一个孤零零的结点,此时也就是q=NULL;

完整代码

//
// Created by 黎圣  on 2023/8/29.
//
//在中序线索二叉树里查找指定结点在后序的前驱结点
#include "iostream"
using namespace std;
typedef struct TreeNode
{char data;struct TreeNode *lchild, *rchild;int ltag, rtag;
}*tree;
void CreateTree(tree &t)
{char ch = getchar();if (ch == '#')t = NULL;else{t = (struct TreeNode *)malloc(sizeof(struct TreeNode));t->data = ch;t->lchild = NULL;t->rchild = NULL;t->ltag = t->rtag = 0;CreateTree(t->lchild);CreateTree(t->rchild);}
}
struct TreeNode *pre;
void zx(tree &t)
{if (t){zx(t->lchild);if (t->lchild == NULL){t->ltag = 1;//无左孩子t->lchild = pre;}elset->ltag = 0;//有左孩子if (pre != NULL && pre->rchild == NULL){pre->rtag = 1;pre->rchild = t;}pre = t;zx(t->rchild);}
}
tree Inpostpre(tree &t, struct TreeNode *p)
{struct TreeNode *q;//结果指针if (p->rtag == 0)//有右孩子就是右孩子q = p->rchild;else if (p->ltag == 0)//没有右孩子有左孩子就是左孩子q = p->lchild;else if (p->lchild == NULL)q = NULL;else{while (p->ltag == 1 && p->lchild != NULL)p = p->lchild;//若找到祖先结点 且有左孩子 结果就是左孩子if (p->ltag == 0)q = p->lchild;elseq = NULL;}return q;
}
int main()
{tree t;CreateTree(t);//ABD##E##CF##G##zx(t);printf("%c ", Inpostpre(t, t->rchild)->data);return 0;
}
http://www.yayakq.cn/news/260651/

相关文章:

  • 广州平面设计培训机构全达seo
  • 大连有做途家网站吗百度关键词的费用是多少
  • 商机互联做的网站和推广怎么样手机网站建设用乐云seo
  • 南昌模板建站定制开发公司工程部年终工作总结
  • 永州做网站费用汤阴做网站
  • 如何做自己的在线作品网站出名的网络公司有哪些
  • 微信小程序 网站建设wordpress批量改文章链接
  • 开发公司 网站建设青岛中嘉建设集团网站
  • 墙内千兆网站怎么做经营虚拟网站策划书
  • 什么网站可以免费发布招聘信息wordpress 小程序插件
  • 重庆千牛建设工程有限公司网站有哪些可以在线做app的网站有哪些问题
  • 关于做女装的网站如何进行域名备案
  • 网站建设请示报告广东省建筑施工企业安全管理人员
  • server2008网站建设网站自适应开发
  • 网站开发 pdf 文字版wordpress 1g 不够用
  • 网站怎么做中英文切换成都网站原创
  • 深圳市建设工程造价管理站英文网站设计方案
  • 网站模版制作教程哪个网站做任务给东西
  • 贵阳网站建设公司哪个好建筑网站夜里几点维护
  • 网站如何做备份如何做网站导航栏
  • 济南成之运维网络科技flash网站做seo优化好不好
  • 现在手机网站用什么做教育微网站建设
  • 哈尔滨自助建站平台广告公司推广平台
  • 酷炫个人特别网站媒体宣传
  • 妇科医院网站设计武威网页设计培训学校
  • 如何建立一个网站查询数据加强部门网站建设
  • asp.net网站备份住房
  • 手机网站域做什么广告网站开发费用报价单
  • 扬州做机床公司网站优质的做pc端网站
  • 高碑店住房和城乡建设局网站哪些网站是做快消品的