c#二叉树存储介绍

作者:Alvation. 时间:2022-11-02 07:58:30 

存储结构

二叉树是一种特殊的树,给个结点最多有两个子节点,并且子节点有左右之分,并且兄弟,父亲,孩子可以很方便的通过编号得到

1.在二叉树的第i层上最多有2i-1个结点(i>=1)

2.深度为k的二叉树至多有2i-1个结点

3.对于一个二叉树,假设它有n个结点,对结点进行从1开始编号,对任一结点i满足下面

    a.它的双亲是节点i/2(除了i=1的情况)

    b.左孩子是2i,右孩子是2i+1

    c.如果2i>i说明无左孩子 2i+1>n说明无右孩子

二叉树的遍历

二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树中的所有结点,使每个结点被访问一次且仅被访问一次

1.前序遍历

先输出当前结点的数据,再依次遍历输出左结点和右结点

c#二叉树存储介绍

2.中序遍历

先遍历输出左结点,再输出当前结点的数据,再遍历输出右结点

c#二叉树存储介绍

3.后序遍历

先遍历输出左结点,再遍历输出右结点,最后输出当前结点的数据

c#二叉树存储介绍

4.层序遍历

从树的第一层开始,从上到下逐层遍历,再同一层中,从左到右对结点逐个访问输出

c#二叉树存储介绍

以下代码可以在c#中实现遍历

c#二叉树存储介绍

c#二叉树存储介绍

来源:https://blog.csdn.net/h01542/article/details/121776195

标签:c#,二叉树
0
投稿

猜你喜欢

  • Android创建和使用数据库SQLIte

    2023-04-03 17:18:01
  • C++ 实现求最大公约数和最小公倍数

    2023-10-30 10:49:23
  • C#在图片增加文字的实现代码

    2023-03-30 03:26:24
  • Android中Activity之间跳转和参数传递的实例

    2023-01-31 21:40:32
  • Java 确保某个Bean类被最后执行的几种实现方式

    2021-09-28 09:53:49
  • Spingboot JPA CriteriaBuilder 如何获取指定字段

    2022-07-20 15:40:22
  • Unity实现卡片循环滚动效果的示例详解

    2022-06-06 16:04:47
  • java仿windows记事本小程序

    2023-11-25 09:24:43
  • C#中overrid和new修饰符有什么不同

    2023-09-03 22:10:13
  • java通过Jsoup爬取网页过程详解

    2021-12-20 03:24:10
  • Java中Set&List的迭代器实现步骤解析

    2021-05-27 16:47:06
  • android实现获取正在运行的应用程序

    2022-10-14 09:23:38
  • C# PropertyGrid使用案例详解

    2022-03-18 20:51:51
  • SpringBoot后端上传文件类型检测方式

    2021-07-02 05:00:04
  • Java Spring 事件监听详情解析

    2021-06-05 00:02:08
  • 使用C#编写15子游戏

    2023-03-23 08:28:52
  • Java构建JDBC应用程序的实例操作

    2023-08-07 12:09:13
  • MyBatis自定义映射关系和关联查询实现方法详解

    2021-12-18 21:25:28
  • C#使用NPOI实现Excel和DataTable的互转

    2022-12-06 22:51:05
  • 一小时迅速入门Mybatis之初识篇

    2023-07-20 10:27:23
  • asp之家 软件编程 m.aspxhome.com