You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
classNode{constructor({ data, left, right }){this.data=data;this.left=left||null;this.right=right||null;}show(){returnthis.data;}}
下面新建BST类
classBST{constructor(){this.root=null;}insert({ data }){constn=newNode({ data });if(this.root===null){this.root=n;}else{letcurrent=this.root;letparent;while(true){parent=current;if(data<current.data){current=current.left;if(current==null){parent.left=n;break;}}else{current=current.right;if(current==null){parent.right=n;break;}}}}}inOrder(node){if(!(node==null)){this.inOrder(node.left);console.log(`${node.show()} `);this.inOrder(node.right);}}}
javaScript 面向对象
老方法
新的es6这样新建一个对象
计算平均数
创建一个可展示学生成绩,添加成绩,求成绩平均数的对象
将一组单词存在数组中,提供正向,反向排序的方法;
如何判断对象是否拥有属性(不来自于继承)
对象的属性和方法的不同(其实没什么不同,只是创建的方法不一致)
结论
在用原型继承编写复杂代码之前,了解原型继承模型非常重要。同时,要注意代码中的原型链的长度,并在必要时将其分解,以避免潜在的性能问题。此外,永远不要扩展原生对象的原型,除非是为了兼容新的JavaScript特性。
BST二叉树基础
先新建一个节点类,将以将这个想像成超级简化版的dom树,每个节点最多2个子节点
节点拥有信息,data储存数据,储存子节点
this.left < this.data < this.right
,遵从这样的规律下面新建BST类
以上给他写了插入的方法,通过下述代码描述
The text was updated successfully, but these errors were encountered: