摘要:二叉樹(shù)的生成二叉樹(shù)的概念二叉樹(shù)概念及相關(guān)操作本文是順序二叉樹(shù)及其操作的實(shí)現(xiàn),非順序二叉樹(shù)應(yīng)該也差不多,這里沒(méi)有實(shí)現(xiàn)基本二叉樹(shù)的實(shí)現(xiàn)添加元素查找元素刪除元素具體使用方法
二叉樹(shù)的js生成
二叉樹(shù)的概念
二叉樹(shù)概念及相關(guān)操作
本文是順序二叉樹(shù)及其操作的js實(shí)現(xiàn),非順序二叉樹(shù)應(yīng)該也差不多,這里沒(méi)有實(shí)現(xiàn)
//基本二叉樹(shù)的實(shí)現(xiàn) function BT(){ this.root=null; this.Node=function(e){ this.value=e; this.left=null; this.right=null; } //添加元素 this.insert=function(e){ function recursiveAdd(tem,e){ if(e.valuetem.value){ tem=tem.right; recursiveFind(tem,e) } } } } e=new this.Node(e); if(this.root==null){ return; }else{ TEM=this.root; recursiveFind(TEM,e); } } //刪除元素 this.delete=function(e){ function recursiveDelete(tem,e){ if(e.value tem.value){ if(tem.right==null){ return; }else{ if(tem.right.value==e.value){ tem.right=null; return; }else{ tem=tem.right; recursiveDelete(tem,e) } } } } } e=new this.Node(e); if(this.root==e){ this.root=null; }else{ TEM=this.root; recursiveDelete(TEM,e); } } }
具體使用方法
var obj = new BT(); console.time("insertTest"); obj.insert(55); obj.insert(44); obj.insert(33); obj.insert(22); obj.insert(66); obj.insert(77); obj.insert(88); obj.insert(60); obj.insert(58); obj.insert(63); obj.insert(57); obj.insert(56); console.timeEnd("insertTest"); console.time("findTest"); obj.find(63); console.timeEnd("findTest"); console.time("deleteTest"); obj.delete(57); console.timeEnd("deleteTest");
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81372.html
摘要:通常的方式,都是二叉樹(shù)生成字符串字符串生成二叉樹(shù),遵循二叉樹(shù)的遞歸生成字符串的方式進(jìn)行遍歷。碰到終止標(biāo)志,才終止深度遞歸轉(zhuǎn)向另一個(gè)方向。原因字符串的遍歷方式,除了順序遍歷方式,也可以采用遞歸便利方式,遵循遞歸的規(guī)律。 通常的方式,都是二叉樹(shù)生成字符串字符串生成二叉樹(shù),遵循二叉樹(shù)的遞歸生成字符串的方式進(jìn)行遍歷。 1.二叉樹(shù)先序遍歷,可以保證按照容易理解的角度從上到下進(jìn)行遍歷,顯...
摘要:同樣結(jié)點(diǎn)樹(shù)的二叉樹(shù),完全二叉樹(shù)的深度最小。二叉樹(shù)每個(gè)結(jié)點(diǎn)最多有兩個(gè)孩子,所以為它設(shè)計(jì)一個(gè)數(shù)據(jù)域和兩個(gè)指針域是比較自然的想法,我們稱(chēng)這樣的鏈表叫做二叉鏈表。 二叉樹(shù)的概念 二叉樹(shù)(Binary Tree)是n(n>=0)個(gè)結(jié)點(diǎn)的有限集合,該集合或者為空集(空二叉樹(shù)),或者由一個(gè)根結(jié)點(diǎn)和兩棵互不相交的、分別稱(chēng)為根結(jié)點(diǎn)的左子樹(shù)和右子樹(shù)的二叉樹(shù)組成。 showImg(https://seg...
摘要:另外,由于篇幅有限,本篇的重點(diǎn)在于二叉樹(shù)的常見(jiàn)算法以及實(shí)現(xiàn)。常見(jiàn)的二叉樹(shù)實(shí)現(xiàn)代碼之前寫(xiě)過(guò)相關(guān)的文章,是關(guān)于如何創(chuàng)建及遍歷二叉樹(shù)的,這里不再贅述。同時(shí)我們注意到,在二叉樹(shù)深度比較大的時(shí)候,我們光是比較左右是不夠的。 本篇為復(fù)習(xí)過(guò)程中遇到過(guò)的總結(jié),同時(shí)也給準(zhǔn)備面試的同學(xué)一份參考。另外,由于篇幅有限,本篇的重點(diǎn)在于二叉樹(shù)的常見(jiàn)算法以及實(shí)現(xiàn)。 常見(jiàn)的二叉樹(shù)實(shí)現(xiàn)代碼 之前寫(xiě)過(guò)相關(guān)的文章,是關(guān)于如...
摘要:前言可能有一部分人沒(méi)有讀過(guò)我上一篇寫(xiě)的二叉堆,所以這里把二叉樹(shù)的基本概念復(fù)制過(guò)來(lái)了,如果讀過(guò)的人可以忽略前面針對(duì)二叉樹(shù)基本概念的介紹,另外如果對(duì)鏈表數(shù)據(jù)結(jié)構(gòu)不清楚的最好先看一下本人之前寫(xiě)的數(shù)據(jù)結(jié)構(gòu)鏈表二叉樹(shù)二叉樹(shù)是一種樹(shù)形結(jié)構(gòu),它的特點(diǎn)是 前言 可能有一部分人沒(méi)有讀過(guò)我上一篇寫(xiě)的二叉堆,所以這里把二叉樹(shù)的基本概念復(fù)制過(guò)來(lái)了,如果讀過(guò)的人可以忽略前面針對(duì)二叉樹(shù)基本概念的介紹,另外如果對(duì)鏈...
摘要:二叉樹(shù)二叉樹(shù)是一種樹(shù)形結(jié)構(gòu),它的特點(diǎn)是每個(gè)節(jié)點(diǎn)最多只有兩個(gè)分支節(jié)點(diǎn),一棵二叉樹(shù)通常由根節(jié)點(diǎn),分支節(jié)點(diǎn),葉子節(jié)點(diǎn)組成。 二叉樹(shù) 二叉樹(shù)(Binary Tree)是一種樹(shù)形結(jié)構(gòu),它的特點(diǎn)是每個(gè)節(jié)點(diǎn)最多只有兩個(gè)分支節(jié)點(diǎn),一棵二叉樹(shù)通常由根節(jié)點(diǎn),分支節(jié)點(diǎn),葉子節(jié)點(diǎn)組成。而每個(gè)分支節(jié)點(diǎn)也常常被稱(chēng)作為一棵子樹(shù)。 showImg(https://segmentfault.com/img/bVbmEd...
閱讀 3737·2021-11-24 10:23
閱讀 2781·2021-09-06 15:02
閱讀 1285·2021-08-23 09:43
閱讀 2362·2019-08-30 15:44
閱讀 3058·2019-08-30 13:18
閱讀 796·2019-08-23 16:56
閱讀 1753·2019-08-23 16:10
閱讀 551·2019-08-23 15:08