关于我们当前位置:星鸿娱乐 > 关于我们 > >

星鸿娱乐注册:javascript数据结构之二叉搜索树实

  

[javascript,数据结构,二叉搜索树,javascript二叉搜索树]javascript数据结构之二叉搜索树实现方法

  

本文实例讲述了javascript二叉搜索树实现方法。分享给大家供大家参考,具体如下:  

  

二叉搜索树顾名思义,树上每个节点最多只有二根分叉;而且左分叉节点的值 < 右分叉节点的值

  

  

特点插入节点、找最大/最小节点、节点值排序 非常方便  

  

二叉搜索树-javascript实现  

  
  
  //  目标节点的值  //应该向左插,工作节点移到左节点  currentNode = currentNode.left;  if (currentNode == null) {  //没有左节点,则新节点,直接成为左节点  parentNode.left = newNode;  return; //退出循环  }  }  else {  //否则向右插,工作节点移到右节点  currentNode = currentNode.right;  if (currentNode == null) {  parentNode.right = newNode;  return;  }  }  }  }  //查找最小节点  this.min = function () {  var p = this.root; //工作节点  while (p != null && p.left != null) {  p = p.left;  }  return p;  }  //查找最大节点  this.max = function () {  var p = this.root; //工作节点  while (p != null && p.right != null) {  p = p.right;  }  return p;  }  //中序遍历  this.inOrder = function (rootNode) {  if (rootNode != null) {  this.inOrder(rootNode.left); //先左节点  println(rootNode.data); //再根节点  this.inOrder(rootNode.right); //再右节点  }  }  //先序遍历  this.preOrder = function (rootNode) {  if (rootNode != null) {  println(rootNode.data); //先根  this.preOrder(rootNode.left); //再左节点  this.preOrder(rootNode.right); //再右节点  }  }  //后序遍历  this.postOrder = function (rootNode) {  if (rootNode != null) {  this.postOrder(rootNode.left); //先左节点  this.postOrder(rootNode.right); //再右节点  println(rootNode.data); //再根节点  }  }  }  //以下是测试  var bTree = new BinarySearchTree();  //《沙特.算法设计技巧与分析》书上图3.9 星鸿娱乐注册 左侧的树  bTree.insert(6);  bTree.insert(3);  bTree.insert(8);  bTree.insert(1);  bTree.insert(4);  bTree.insert(9);  println('中序遍历:')  bTree.inOrder(bTree.root);  println("
");  println("先序遍历:");  bTree.preOrder(bTree.root);  println("
");  println("后序遍历:");  bTree.postOrder(bTree.root);  println("
");  var minNode = bTree.min();  println("最小节点:" + (minNode == null ? "不存在" : minNode.data));  println("
");  var maxNode = bTree.max();  println("最大节点:" + (maxNode == null ? "不存在" : maxNode.data));  // ]]>    
  
  

输出结果:  

  
  
  中序遍历: 1 3 4 6 8 9  先序遍历: 6 3 1 4 8 9  后序遍历: 1 4 3 9 8 6  最小节点:1  最大节点:9  
  
  

希望本文所述对大家JavaScript程序设计有所帮助。

  

(责任编辑:admin)

上一篇:javascript实现连续赋值

下一篇:星鸿娱乐平台:JS实现霓虹灯文字效果的方法

推荐内容

客户服务热线

400 888 8932

在线客服