数组怎么绑的selected属性?Node里面多了一个selected属性?

来源:2-4 游戏实例的代码调试(1)

Qzhor

2017-10-06 13:08

外星人横坐标的数据源怎么做的?

写回答 关注

1回答

  • ideal_idiot
    2017-11-10 16:49:48
    1. BinaryTree()构造函数里面确实给node增加了一个属性:node.selected;

      并且应该注意到:对于search()方法,在找到之后返回的是找到的节点,即return node;

    2. 存储外星人横坐标的数组为var nodesForAlien[]。其中每一个元素的构造(以第i个为例)为:
      nodesForAlien[i] = { key: val, selected: false};

    3. 其中key的值,可以随机产生:key = Math.floor(Math.random() *280);

    4. 数据源导入到二叉树的做法

    • 生成完整的nodesForAlien[]数组,你可以数组长度随意设置。结构就如上面说的那样。

    • 生成构造函数的实例var binaryTree = new BinaryTree();注意这里的正如上面提到过的,这里的构造函数给node增加了新的属性。

    • 接下来就可以进行插入、查询等操作了。这些之前的课里面有讲过。

       5. 注意到代码里面的return search()操作,返回的是一个二叉树节点,相比原先构造的数组元素显然多了两个left和right属性,不过JS是弱类型的,所以没什么影响。

Javascript实现二叉树算法

感受JS与数据结构的魅力。

46934 学习 · 97 问题

查看课程

相似问题