线索二叉树相关问题

线索二叉树相关问题

1.在先序线索二叉树中求解指针P的后继结点

binode presuc(Binode *p){
    if(p->rtag==1)
        return p->rchild;
    else if(p->ltag==0)
        return p->lchild;
    else
        return p->rchild;
}

2.在中序线索二叉树钟求解指针P的后继结点

binode insuc(Binode *p){
    binode *q=p->rchild;
    if(p->rtag==1)
        return p->rchild;
    else{
        while(q->ltag==0)
            q=q->lchild;
        return q;
    }
}

3.中序线索二叉树中求解指针p的前驱结点

binode insuc(Binode *p){
    binode *q=p->lchild;
    if(p->ltag==1)
        return p->lchild;
    else{
        while(q->rtag==0)
            q=q->rchild;
        return q;
    }
}

4.后序线索二叉树中求解指针P的前驱结点

binode postsuc(Binode *p){
    if(p->ltag==1)
        return p->lchild;
    else if(p->rtag==0)
        return p->rchild;
    else
        return p->lchild;
}

5.按先序次序遍历先序线索二叉树的非递归算法

void preorder(Binode *T){
    binode *p=T;
    while(p!=NULL){
        cout<data;
        if(p->rtag==1)
            p=p->rchild;
        else if(p->ltag==0)
            p=p->lchild;
        else
            p=p->rchild;
    }
}

6按中序遍历先序线索二叉树的非递归算法

void inorder(Binode *T){
    binode *p=T;
    //找到首结点
    while(p->ltag==0)
        p=p->lchild;
    //从首结点开始遍历
    while(p!=NULL){
        visite(p);
        //找后继
        p=insuc(p);
    }
}

Original: https://www.cnblogs.com/cnpolaris/p/15477824.html
Author: CNPolaris
Title: 线索二叉树相关问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/710898/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 2022.4 专题题解汇总

    记录了近期专题练习的所有 27 道题目的完整题解。题单见 链接。 cnblogs 链接。 2022.4.26 计数专题 自然设 (f_i) 表示一条有向路径的数量,考虑若干种情况。…

    技术杂谈 2023年6月21日
    0105
  • Spring事务(五)-事务隔离级别

    Spring @Transactional注解isolation属性 @Transactional注解通过isolation属性设置事务隔离级别。如下: @Transactiona…

    技术杂谈 2023年7月11日
    085
  • 创建线程有几种方式?

    创建线程的几种方式 1️⃣ 继承 Thread 类 继承 Thread 类创建线程的步骤为: 1)创建一个类继承Thread类,重写run()方法,将所要完成的任务代码写进run(…

    技术杂谈 2023年6月21日
    088
  • gauss正则找汉字

    select substring( ‘沙特阿拉伯6.20’ from ‘[\u4E00-\u9FA5]{2,5}’ )返回 ‘沙特阿拉伯’ Original: https://ww…

    技术杂谈 2023年7月24日
    072
  • [CSS] CSS display:flex实现内容水平垂直居中展示

    display:flex实现内容水平垂直居中展示 需要增加下面两点就能实现 首先父级元素必须有高度,没有高度就无法垂直居中,如果想全屏垂直居中,可以设置高度为100vh 比如bod…

    技术杂谈 2023年6月1日
    0104
  • MCU软件最佳实践——矩阵键盘驱动

    1.矩阵键盘vs独立按键 在mcu应用开发过程中,独立按键比较常见,但是在需要的按键数比较多时,使用矩阵键盘则可以减少io占用,提高系统资源利用率。例如,某mcu项目要求有16个按…

    技术杂谈 2023年7月11日
    0104
  • vs 2005 thread 无法调试

    两种办法: 1、打开项目属性,在”Debug”一项里,把”Enable the Visual Studio hosting process&#8…

    技术杂谈 2023年7月11日
    066
  • 企业级仓库Harbor高可用方案【转】

    一、Harbor产品介绍 Harbor 是 VMware公司开源的企业级 Docker Registry 项目,其日标是帮助用户迅速搭建一个企业级的 Docker Registry…

    技术杂谈 2023年5月31日
    0128
  • 浅谈JWT

    JWT 常见的认证机制 HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basi…

    技术杂谈 2023年7月11日
    083
  • DB2 8.2 9.1 9.5 9.7 下载地址(用迅雷防止官方下线文件)

    下列都是完全版包含补丁的地址 ,包含必备和并存补丁(稍后可取消选择不需要的补丁) DB2 8.2 Windows 32位: DB2 9.1 DB2 9.5 DB2 9.7 Orig…

    技术杂谈 2023年5月30日
    0133
  • CAIL2021-阅读理解任务-数据预处理模块(一)

    1、任务介绍该赛道由科大讯飞研究院与哈尔滨工业大学社会计算与信息检索研究中心承办。在法律问答任务中,很多问题需要通过文章中多个片段组合出最终的答案。因此,本次中文法律阅读理解比赛引…

    技术杂谈 2023年6月1日
    095
  • 56.谁不是

    dsfdsf posted @2022-09-28 08:32 随遇而安== 阅读(4 ) 评论() 编辑 Original: https://www.cnblogs.com/55…

    技术杂谈 2023年6月21日
    099
  • selenium工作原理

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/111testing/p/15723648.htmlAu…

    技术杂谈 2023年5月31日
    098
  • IIS7 启用GZip压缩

    GZip压缩通常会达到70%以上的压缩率,如果是手机Web这无疑会使网站的访问速度大大增加,无论是CSS合并、JS合并、图片合并都不如GZip压缩来得简单直接。如果一个网页是100…

    技术杂谈 2023年5月31日
    0106
  • 已知UIScrollView放大后的Frame和放大之前的Frame计算放大的瞄点坐标

    有时候在缩放后,需要知道该次缩放是在哪个坐标开始缩放的。如上篇已知缩放的点,然后在该点对其缩放。本篇其实是逆运算 (x,y)就是当初在该点进行缩放 化简之后很简单,代码如下: -(…

    技术杂谈 2023年5月31日
    086
  • java多线程回顾1:线程的概念与创建

    现在几乎所有操作系统都支持多任务,通常一个任务就是一个程序,一个运行中的程序就是一个进程。当一个程序行时,其内部也可能在执行多个任务,进程内每一个任务的执行流,就是一个线程。 所以…

    技术杂谈 2023年7月11日
    070
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球