二叉树中节点的顺序插入(JS实现)

二叉树中节点的顺序插入(JS实现),第1张

每次插入节点需明确被插入的 父节点 以及被插入的 位置 (左右)

第1步中,需将A存储,因为A在第2,3步中被取出,作为插入 *** 作的父节点

第2步中,需将B存储,因为B在第4,5步中被取出,作为插入 *** 作的父节点

第3步中,需将C存储,因为C在第6步中被取出,作为插入 *** 作的父节点,与此同时,A在被执行右下方的插入 *** 作后,A不能再被插入子节点

...

第5步中,需将E存储,其在后续的 *** 作中会被取出,作为插入 *** 作的父节点,与此同时,B与A一样,在被执行右下方的插入 *** 作后,B不能再被插入子节点

建个队列 ,将后续 *** 作中会被取出的节点存储,不会再被取出的节点移除。每次插入的新节点都会入列。同时,若新节点被插入到父节点的右下方,则该父节点出列。

被插入的位置可以通过插入的次数来判断,若是第1次插入,则是根节点,若是第n(n>1)次插入,n为偶,则插入左边,n为奇,则插入右边

故用个变量 存储插入的次数

运行环境node v8.4

首先需要判断插入的节点是否为空节点

若是空节点,其不会作为父节点被执行插入 *** 作,故不用入列

在jsmenu下面增加两个child:

1、使用鼠标点击打开HBuilderX软件

2、点击菜单栏文件--->新建--->项目

3、输入项目名,选中基本html项目,然后点击创建按钮

4、引入layui前端框架开发包,然后在html文件中键入完整代码

5、点击运行-->浏览器运行

6、在浏览器中查看运行效果、点击+号按钮,即可在其树形菜单下添加子节点.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11622776.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存