c#二叉树存储介绍
作者:Alvation. 发布时间:2022-11-02 07:58:30
标签:c#,二叉树
存储结构
二叉树是一种特殊的树,给个结点最多有两个子节点,并且子节点有左右之分,并且兄弟,父亲,孩子可以很方便的通过编号得到
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.前序遍历
先输出当前结点的数据,再依次遍历输出左结点和右结点
2.中序遍历
先遍历输出左结点,再输出当前结点的数据,再遍历输出右结点
3.后序遍历
先遍历输出左结点,再遍历输出右结点,最后输出当前结点的数据
4.层序遍历
从树的第一层开始,从上到下逐层遍历,再同一层中,从左到右对结点逐个访问输出
以下代码可以在c#中实现遍历
来源:https://blog.csdn.net/h01542/article/details/121776195


猜你喜欢
- 本文实例讲述了C#创建windows系统用户的方法。分享给大家供大家参考。具体如下:下面的代码可以通过c#创建一个windows的本地系统账
- 本文实例为大家分享了Android使用Gridview单行横向滚动显示的具体代码,供大家参考,具体内容如下要想实现滚动显示,layout布局
- 实现Struts登录1、jar包拷贝首先是建立java web项目,之后打开我们我们下载好strtus框架,Struts-1.2.9-bin
- 昨天写this用法总结的时候,突然产生了一个问题,请教别人之后,有了自己的一点认识。还是把它写下来,为大家更好的认识提供一点思路。1)有人写
- 1、需求及配置需求:爬取京东手机搜索页面的信息,记录各手机的名称,价格,评论数等,形成一个可用于实际分析的数据表格。使用Maven项目,lo
- delphi dll 源码:library dllres; type char1
- maven的配置文件settings.xml存在于两个地方:1.安装的地方:${M2_HOME}/conf/settings.xml2.用户
- 补充知识:正定矩阵奇异矩阵严格对角占优要理解Gauss消去法,首先来看一个例子:从上例子可以看出,高斯消去法实际上就是我们初中学的阶二元一次
- 本文主要介绍LINQ查询操作符LINQ查询为最常用的操作符定义了一个声明语法。还有许多查询操作符可用于Enumerable类。下面的例子需要
- C++ 中const修饰虚函数实例详解【1】程序1#include <iostream>using namespace std;
- 小编在之前给大家介绍过很多android项目打包的经验,本篇内容我们通过一个项目实例来给大家讲解android每一步打包和签名的过程。and
- Unsafe类是啥?Java最初被设计为一种安全的受控环境。尽管如此,Java HotSpot还是包含了一个“后门”,提供了一些可以直接操控
- 背景2022国家级护网行动即将开启,根据阿里云给出的安全建议,需要将登陆Linux的方式改为密钥对方式。我这里使用的远程工具是自己开发的,能
- 先给大家展示下效果图,如果感觉不错,请参考实现思路详解Android开发中关于短息验证码的设计层出不穷,越来越多的应用为了更好的提高软件的安
- AnDroidDraw 是一个与 DroidDraw 集成的 Android 应用程序,它允许你从 DroidDraw 应用 程序下载你的
- //创建站点地图 private void Create
- 前言初识Android PowerManagerService省电模式 让我们省电模式的概念有了初步的认识,Androi
- 这篇文章是博主在通过学习Android Studio的同时,实现service项目中用于背景音乐的实现,邮件的发送用于随堂小测的发送邮件功能
- 本文实例为大家分享了java仿windows记事本小程序的具体代码,供大家参考,具体内容如下import java.awt.Checkbox
- 1. Java中程序的逻辑控制语句1.1顺序结构顺序结构比较简单,按照代码书写的顺序一行一行执行1.2分支结构1.2.1 switch语句这