b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

二叉排序树的遍历要么二叉树没有根节点,是一棵空树。要么二叉

电脑杂谈  发布时间:2018-01-26 00:07:52  来源:网络整理

二叉排序树的遍历_最佳二叉排序树画出_二叉排序树的实现 C#

二叉排序树的遍历

要么二叉树没有根节点,是一棵空树。

要么二叉树由根节点、左子树、右子树组成,且左子树和右子树都是二叉树。

一般来说,二叉树使用链表来定义。二叉树每个结点有两条出边,因此指针域有两个——分别指向左子树和右子树的根结点地址,因此右把这种链表叫做二叉链表。其定义方式如下:

如果需要新建结点,可以使用下面的函数:

最佳二叉排序树画出_二叉排序树的实现 C#_二叉排序树的遍历

二叉树的常用操作有以下几个:二叉树的建立、二叉树结点的查找、修改、插入与删除。本节主要介绍查找、修改、插入、建树的通用思想。

查找操作是指在给定数据域的条件下,在二叉树中找到所有数据域为给定数据域的结点,并将它们的数据域修改为给定的数据域。

可以使用递归来完成查找修改操作。先判断当前结点是否是需要查找的结点:如果是,则对其进行修改操作;如果不是,则分别往该结点的左孩子和右孩子递归,直到当前结点为 NULL为止。代码如下:

二叉树结点的插入位置与二叉树本身的性质有关,下面代码以二叉排序树为例:

二叉排序树的实现 C#_最佳二叉排序树画出_二叉排序树的遍历

在上述代码中,函数参数使用了二维指针 **。这么做的原因是,在 insert函数中新建了结点,并把新结点的地址赋给了当层的 root。

那么,如何判断是否要加指针呢?一般来说,如果函数中需要新建结点,即对二叉树的结构做出修改,就需要加引用;如果只是修改当前已有结点的内容,或仅仅是遍历树,就不用加指针。

二叉树的创建其实就是二叉树结点的插入过程,比较常用的写法是把需要插入的数据存储在数组中,然后再将它们使用 insert函数一个个插入二叉树中,并最终返回根结点的指针 root。二叉排序树的遍历代码如下:

完整 C代码如下:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-62822-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 牛沙沙
        牛沙沙

        来抱中国大腿就对了

      • 张偁
        张偁

        都是从资本市场中成为顶级的富豪的

      每日福利
      热点图片
      拼命载入中...