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

专题知识点-二叉树-(非常有意义的一篇文章)

这里写目录标题

  • 二叉树的基础知识
    • 知识点一
    • (二叉树性质 )
    • 树与二叉树的相互转换
    • 二叉树的遍历
    • 层次优先遍历
    • 树的深度和广度优先遍历
    • 中序线索二叉树
  • 二叉树相关遍历代码
    • 顺序存储和链式存储
    • 二叉树的遍历
  • 二叉树的相关例题
    • 左右两边表达式求值
    • 求树的深度
    • 找数
    • 找第k个数
  • 二叉树非递归遍历代码
    • 二叉树的层次优先遍历
    • 二叉树非递归前序中序后续遍历

二叉树的基础知识

知识点一

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(二叉树性质 )

在这里插入图片描述
在这里插入图片描述

树与二叉树的相互转换

在这里插入图片描述

二叉树的遍历

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

层次优先遍历

在这里插入图片描述

树的深度和广度优先遍历

在这里插入图片描述
在这里插入图片描述

中序线索二叉树

在这里插入图片描述
在这里插入图片描述

二叉树相关遍历代码

顺序存储和链式存储

typedef struct Branch//顺序存储结构
{int cldx;  Branch* next;   
}Branch;   
typedef struct   
{int data;    Branch* first;    
}Tnode;    
链式存储结构    二叉树的链式存储结构    
typedef struct BTnode    
{char data;    struct BTnode* lchild;    struct BTnode* rchild;    
}BTnode;    

二叉树的遍历

void xianxubianli(BTnode* p)
{if (p != NULL){visit(p);xianxubianli(p->lchild);xianxubianli(p->lchild);}
}递归进行中序遍历
void zhongxubainli(BTnode* p)
{if (p != NULL){zhongxubainli(p->lchild);visit(p);zhongxubianli(p->rchild);}
}BTnode*p  后序遍历进行递归操作  
void houxubianli(BTnode* bt)  
{if (p != NULL)  {houxubianli(p->lchild);  houxubianli(p->rchild);  visit(p);  }
}

二叉树的相关例题

左右两边表达式求值

在这里插入图片描述

int comp(BTnode* p)
{int A, B;if (p != NULL){if (p->lchikd != NULL && p->rchild != NULL){A = comp(p->lchild);//这个是不断的求左边的树,一直到不行的时候,然后返回,//到上一个根的右边的树,然后看看求右边的树的值,并且也是递归,求右边树的数据的问题,//然后分别不断的求出左右两边的值,然后一起进行ji算B = comp(p->rchild);return op(A, B, p->data);//这个是求的是树左右两边的数据的求值}elsereturn p->data - '0'<
http://www.lryc.cn/news/229803.html

相关文章:

  • 多路数据写入DDR3/DDR4的两种方法
  • 3 分钟看完 NVIDIA GPU 架构及演进
  • SMART PLC 和S7-1200PLC MODBUSTCP通信速度测试
  • C++文件操作知识点总结
  • 开发vue3 UI组件库,并且发布到NPM
  • 雷达测角原理、测角精度、测角分辨率以及3DFFT角度估计算法汇总
  • 金财数科无代码开发平台:轻松实现电商、CRM、广告推广系统的集成连接
  • JavaWeb篇_09——Tomcat运行过程以及Servlet继承结构
  • Python中的异常与错误处理
  • sqli-labs关卡16(基于post提交的双引号加括号闭合的布尔盲注)通关思路
  • 2.5k的ChatGPT-Java版SDK升级1.1.2-beta0支持GPT-4V、Dall-e-3模型、ToolCalls、微调Job、TTS...
  • k8s二进制(ETCD的部署安装)
  • 【rl-agents代码学习】02——DQN算法
  • 关于使用 Java 反射技术来实现解耦?
  • 使用清华智谱ChatGLM2大模型搭建本地私有知识库
  • MES系统如何赋能制造企业实现4M防错追溯?
  • Mybatis保存时参数携带了逗号和空格导致SQL保存异常
  • vscode launch.json
  • 绿盟远程安全评估系统 RSAS 使用体验-难用
  • 【Linux】 mdir命令使用
  • 解压游戏资源,导出游戏模型
  • 【科研新手指南2】「NLP+网安」相关顶级会议期刊 投稿注意事项+会议等级+DDL+提交格式
  • 220kV环形网络的动态无功补偿方案初步设计
  • 关于值传递和引用传递的问题记录
  • 律师咨询小程序搭建流程
  • 怎么在uni-app中使用Vuex 深度解刨
  • 兼容iphone(ios)圆角(border-radius)不起作用的问题
  • 车间部署MES管理系统后有哪些变化
  • 19C进入数据库出现问号
  • Mistral 7B 比Llama 2更好的开源大模型 (一)