亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

javascript數據結構之二叉搜索樹實現方法

2024-05-06 16:25:15
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了javascript數據結構之二叉搜索樹實現方法,較為詳細的分析了二叉搜索樹的概念、原理與JavaScript實現二叉搜索樹的方法,對于學習JavaScript數據結構具有一定參考借鑒價值,需要的朋友可以參考下
 

本文實例講述了javascript二叉搜索樹實現方法。分享給大家供大家參考,具體如下:

二叉搜索樹顧名思義,樹上每個節點最多只有二根分叉;而且左分叉節點的值 < 右分叉節點的值 。

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

二叉搜索樹-javascript實現
 

  1. <script type="text/javascript"
  2. // <![CDATA[ 
  3.  //打印輸出 
  4.  function println(msg) { 
  5.   document.write(msg + " "); 
  6.  } 
  7.  //節點類 
  8.  var Node = function (v) { 
  9.   this.data = v; //節點值 
  10.   this.left = null//左節點 
  11.   this.right = null//右節點 
  12.  } 
  13.  //二叉搜索樹類 
  14.  var BinarySearchTree = function () { 
  15.   this.root = null//初始化時,根節點為空 
  16.   //插入節點 
  17.   //參數:v 為節點的值 
  18.   this.insert = function (v) { 
  19.    var newNode = new Node(v); 
  20.    if (this.root == null) { 
  21.     //樹為空時,新節點,直接成為根節點 
  22.     this.root = newNode; 
  23.     return
  24.    } 
  25.    var currentNode = this.root; //工作“指針”節點(從根開始向下找) 
  26.    var parentNode = null
  27.    while (true) { 
  28.     parentNode = currentNode; 
  29.     if (v < currentNode.data) { 
  30.      //當前節點的值 > 目標節點的值      
  31.      //應該向左插,工作節點移到左節點 
  32.      currentNode = currentNode.left; 
  33.      if (currentNode == null) { 
  34.       //沒有左節點,則新節點,直接成為左節點 
  35.       parentNode.left = newNode; 
  36.       return//退出循環 
  37.      } 
  38.     } 
  39.     else { 
  40.      //否則向右插,工作節點移到右節點 
  41.      currentNode = currentNode.right; 
  42.      if (currentNode == null) { 
  43.       parentNode.right = newNode; 
  44.       return
  45.      } 
  46.     } 
  47.    } 
  48.   } 
  49.   //查找最小節點 
  50.   this.min = function () { 
  51.    var p = this.root; //工作節點  
  52.    while (p != null && p.left != null) { 
  53.     p = p.left; 
  54.    } 
  55.    return p; 
  56.   } 
  57.   //查找最大節點 
  58.   this.max = function () { 
  59.    var p = this.root; //工作節點  
  60.    while (p != null && p.right != null) { 
  61.     p = p.right; 
  62.    } 
  63.    return p; 
  64.   } 
  65.   //中序遍歷 
  66.   this.inOrder = function (rootNode) { 
  67.    if (rootNode != null) { 
  68.     this.inOrder(rootNode.left); //先左節點 
  69.     println(rootNode.data); //再根節點 
  70.     this.inOrder(rootNode.right); //再右節點 
  71.    } 
  72.   } 
  73.   //先序遍歷 
  74.   this.preOrder = function (rootNode) { 
  75.    if (rootNode != null) { 
  76.     println(rootNode.data); //先根 
  77.     this.preOrder(rootNode.left); //再左節點 
  78.     this.preOrder(rootNode.right); //再右節點 
  79.    } 
  80.   } 
  81.   //后序遍歷 
  82.   this.postOrder = function (rootNode) { 
  83.    if (rootNode != null) { 
  84.     this.postOrder(rootNode.left); //先左節點 
  85.     this.postOrder(rootNode.right); //再右節點 
  86.     println(rootNode.data); //再根節點 
  87.    } 
  88.   } 
  89.  } 
  90.  //以下是測試 
  91.  var bTree = new BinarySearchTree(); 
  92.  //《沙特.算法設計技巧與分析》書上圖3.9 左側的樹 
  93.  bTree.insert(6); 
  94.  bTree.insert(3); 
  95.  bTree.insert(8); 
  96.  bTree.insert(1); 
  97.  bTree.insert(4); 
  98.  bTree.insert(9); 
  99.  println('中序遍歷:'
  100.  bTree.inOrder(bTree.root); 
  101.  println("<br/>"); 
  102.  println("先序遍歷:"); 
  103.  bTree.preOrder(bTree.root); 
  104.  println("<br/>"); 
  105.  println("后序遍歷:"); 
  106.  bTree.postOrder(bTree.root); 
  107.  println("<br/>"); 
  108.  var minNode = bTree.min(); 
  109.  println("最小節點:" + (minNode == null ? "不存在" : minNode.data)); 
  110.  println("<br/>"); 
  111.  var maxNode = bTree.max(); 
  112.  println("最大節點:" + (maxNode == null ? "不存在" : maxNode.data)); 
  113. // ]]> 
  114. </script> 
  115. <!--中序遍歷: 1 3 4 6 8 9 <br> 先序遍歷: 6 3 1 4 8 9 <br> 后序遍歷: 1 4 3 9 8 6 <br> 最小節點:1 <br> 最大節點:9--> 
?
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产不卡一区二区在线播放| 亚洲免费人成在线视频观看| 亚洲成色999久久网站| 日韩69视频在线观看| 欧美日韩中国免费专区在线看| 成人情趣片在线观看免费| 国内偷自视频区视频综合| 久久成人这里只有精品| 亚洲资源在线看| 欧美激情乱人伦一区| 成人免费午夜电影| 国产欧美日韩中文| 色综合亚洲精品激情狠狠| 亚洲精品影视在线观看| 亚洲精品一区中文字幕乱码| 国产91精品视频在线观看| 欧美人在线观看| 欧美专区福利在线| 欧美性猛交xxxx偷拍洗澡| 国产精品久久久久久久久| 亚洲视频在线观看视频| 亚洲成**性毛茸茸| 欧美第一淫aaasss性| 久久久久国产精品www| 亚洲japanese制服美女| 欧美激情免费观看| 日韩在线观看免费高清| xvideos亚洲| 日韩在线视频播放| 欧美激情精品久久久久久大尺度| 红桃视频成人在线观看| 一区二区三区国产视频| 日韩欧美亚洲范冰冰与中字| 久久国产精品影片| 国产精品91久久久| 亚洲一区二区三区sesese| 91中文精品字幕在线视频| 国产v综合v亚洲欧美久久| 国产精品伦子伦免费视频| 久久人人爽人人爽人人片av高清| 欧美国产日韩一区二区在线观看| 久久夜色精品亚洲噜噜国产mv| 久久久久久久影院| 国产视频精品免费播放| 精品成人国产在线观看男人呻吟| 国产亚洲精品日韩| 成人激情视频在线播放| 亚洲精品久久久久中文字幕欢迎你| 日韩亚洲欧美中文在线| 成人免费视频在线观看超级碰| 亚洲2020天天堂在线观看| 国产成人中文字幕| 国产亚洲欧美另类中文| 91视频九色网站| 日韩精品在线看| 欧美电影院免费观看| 日韩欧美一区视频| 成人免费看吃奶视频网站| 国产91色在线免费| 人人做人人澡人人爽欧美| 在线观看日韩视频| 欧美性猛交xxxx乱大交| 久久久久亚洲精品成人网小说| 九九久久国产精品| 91av视频在线播放| 国产日韩在线视频| 亚洲国产一区二区三区在线观看| 国产视频福利一区| 欧美成人剧情片在线观看| 国产深夜精品福利| 国产a∨精品一区二区三区不卡| 精品视频久久久久久| 国产精品白丝av嫩草影院| 日韩av电影在线免费播放| 琪琪亚洲精品午夜在线| 992tv在线成人免费观看| 九九热精品视频在线播放| 亚洲高清福利视频| 亚洲女人天堂av| 欧美日韩国产影院| 久久久亚洲国产| 亚洲男人天堂2023| 91精品在线观看视频| 亚洲福利在线视频| 日韩电影第一页| 久久久成人精品| 欧美乱大交xxxxx另类电影| 不卡av电影在线观看| 91在线中文字幕| 久久av红桃一区二区小说| xxx成人少妇69| 国产精品久久久久久久久久| 欧美视频在线免费| 亚洲精品国产精品乱码不99按摩| 欧美一区二区视频97| 91九色国产视频| 韩国19禁主播vip福利视频| 欧美另类高清videos| 久久久噜噜噜久久| 国产精品吹潮在线观看| 国产精品一二三在线| 亚洲精品电影在线观看| 国产91精品在线播放| 精品国产乱码久久久久久天美| 亚洲精品欧美极品| 蜜臀久久99精品久久久无需会员| 亚洲一区二区三区四区在线播放| 久久这里只有精品视频首页| 欧美色xxxx| 在线看福利67194| 日韩精品中文字| 在线观看日韩www视频免费| 成人性生交xxxxx网站| 亚洲欧美日韩国产成人| 成人欧美一区二区三区黑人孕妇| 欧美精品在线播放| 亚洲欧美国产另类| 欧美黑人极品猛少妇色xxxxx| 黑人巨大精品欧美一区二区一视频| 日韩成人av在线| 亚洲人av在线影院| 国产成一区二区| 亚洲乱码一区av黑人高潮| 成人久久久久爱| 日韩欧美在线观看视频| 日韩不卡在线观看| 国模吧一区二区| 亚洲精品理论电影| 亚洲一区二区久久久久久| 91在线视频导航| 日韩视频免费在线观看| 国产精品欧美激情在线播放| 亚洲国产精品国自产拍av秋霞| 91在线无精精品一区二区| 国产精品福利在线观看网址| 亚洲成人黄色在线| 成人字幕网zmw| 亚洲综合大片69999| 精品久久久久久亚洲国产300| 欧美激情国产高清| 国产精品爽黄69| 欧美成人午夜激情| 欧美插天视频在线播放| 日韩欧美精品在线观看| 精品亚洲aⅴ在线观看| 国产精品爽黄69天堂a| 精品国产乱码久久久久久天美| 国产欧美精品一区二区| 久久精品国产一区| www.国产精品一二区| 欧美又大又硬又粗bbbbb| 久热在线中文字幕色999舞| 欧美激情区在线播放| 亚洲欧美中文字幕在线一区| 国产精品久久久久久中文字| 亚洲天堂精品在线| 日韩欧美福利视频| 青草热久免费精品视频| 国产精品久久久久久久久久久新郎| 日韩禁在线播放| 在线观看亚洲视频| 精品人伦一区二区三区蜜桃免费| 欧美视频13p| 成人在线免费观看视视频|