今天小編給大家分享一下JavaScript定義二叉查找樹(shù)的代碼怎么寫(xiě)的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。
楊浦網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站從2013年開(kāi)始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
二叉查找樹(shù)由節(jié)點(diǎn)組成,所以我們要定義一個(gè)Node對(duì)象,代碼如下:
function Node(data,left,right){//結(jié)點(diǎn)類 this.data=data; this.left=left; this.right=right; this.show=show; } function show(){//顯示節(jié)點(diǎn)中數(shù)據(jù) return this.data; }
其中l(wèi)eft和right分別用來(lái)指向左右子結(jié)點(diǎn)。
接下來(lái)需要?jiǎng)?chuàng)建二叉查找樹(shù)的類,代碼如下:
function BST(){//樹(shù)類 this.root=null; this.insert=insert; this.inOrder=inOrder; this.preOrder=preOrder; this.postOrder=postOrder; }
接下來(lái)是插入節(jié)點(diǎn)的代碼。遍歷小的插左邊,大的插右邊。代碼如下:
function insert(data){//插入操作 var n=new Node(data,null,null); if(this.root==null){//第一個(gè)元素 this.root=n; }else{ var current=this.root;//永遠(yuǎn)指向根節(jié)點(diǎn) var parent; while(true){//一直運(yùn)行直到找到左結(jié)點(diǎn)或右結(jié)點(diǎn)為止 parent=current; if(data以上就是“JavaScript定義二叉查找樹(shù)的代碼怎么寫(xiě)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享題目:JavaScript定義二叉查找樹(shù)的代碼怎么寫(xiě)
文章源于:http://weahome.cn/article/gihieo.html