洞察管理小程序实例的关键在于实现跨平台能力与数据安全,如何利用FinClip助力企业在数字化转型中既合规又高效?
428
2022-11-10
js二叉搜索树和图
//封装二分搜索树 function BinarySerachTree(){ function Node(key){ this.key=key this.left=null this.right=null } //属性 this.root=null //方法 //插入数据 BinarySerachTree.prototype.insert=function(key){ //1.判断 key创建节点 var newNode=new Node(key) //2.判断接节点是否有值 if(this.root==null){ this.root=newNode }else{ this.insertNode(this.root,newNode) } } BinarySerachTree.prototype.insertNode=function(node,newNode){ if(newNode.key 红黑树的特点: 图的特点: 图: //封装图结构 function Graph(){ //属性 顶点(数组) /边(字典) this.vertexes=[] //顶点 this.edges=new Dictionary() //边 //方法 //1.添加顶点的方法 Graph.prototype.addVertex=function(v){ this.vertexes.push(v) this.edges.set(v,[]) } //2.添加边的方法 Graph.prototype.addEdge=function(v1,v2){ this.edges.get(v1).push(v2) this.edges.get(v1).push(v1) } //三.实现toString方法:转换为邻接表形式 Graph.prototype.toString = function (){ //1.定义字符串,保存最终结果 let resultString = "" //2.遍历所有的顶点以及顶点对应的边 for (let i = 0; i < this.vertexes.length; i++) {//遍历所有顶点 resultString += this.vertexes[i] + '-->' let vEdges = this.edges.get(this.vertexes[i]) for (let j = 0; j < vEdges.length; j++) {//遍历字典中每个顶点对应的数组 resultString += vEdges[j] + ' '; } resultString += '\n' } return resultString } //初始化状态颜色 Graph.prototype.initializeColor=function(){ var colors=[] for(var i=0;i
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~