javascript二叉树

javascript中的二叉树一(binary tree)

  毕业也快2年了,毕业之后就没有认真写过博客了,都是那里学习一下,这里弄一下。学习了也不做笔记,过后就忘记了。我对这种状态打从心里是讨厌的。

  进入正题,今天的笔记是记录javascript二叉树的学习,是非常基本的知识加上一些自己的认识。适合想了解javascript二叉树的萌新,大神请绕路走,当然如果发现有什么理解上的错误,还望不吝赐教。

                                  ===================漂亮的分割线===================

  首先说下我对二叉树的理解:

    1,二叉树是由一系列有规则的节点构成

    2,二叉树每一个节点可以看成为对象,必有key(节点值),可以有left(节点),right(节点)这三个属性

    3,每个节点的left节点的key必定小于当前key值

    4,每个节点的right节点的key必定大于当前的key值

  那么假如我们要把一个数组构成二叉树,需要哪些代码?很简单,记住上面的几点,我们来一步一步把数组变成二叉树形式

  

  一,

    1,二叉树是由一系列有规则的节点构成,

       2,二叉树每一个节点可以看成为对象,必有key(节点值),可以有left(节点),right(节点)这三个属性

    思考: 数组的每一个值将变成二叉树的节点(先不管这个节点怎么排序),那么我们在循环数组的时候,是不是都要处理下?

    答: 我定义下面一个类,到时候就可以依次实例化为节点了。看下好不好理解...

//节点类 class Node { constructor(key) { this.left = null this.right = null this.key = key } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzsxf.html