国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

自己做的電商網(wǎng)站要多少錢如何制作網(wǎng)頁鏈接

自己做的電商網(wǎng)站要多少錢,如何制作網(wǎng)頁鏈接,廊坊怎么做網(wǎng)站,建設(shè)網(wǎng)站文案標(biāo)識語給定兩個整數(shù)數(shù)組 preorder 和 inorder ,其中 preorder 是二叉樹的先序遍歷, inorder 是同一棵樹的中序遍歷,請構(gòu)造二叉樹并返回其根節(jié)點。 題目中是給定兩個數(shù)組,一個是存放這顆樹的前序遍歷的數(shù)組,一個是存放這棵樹的…

? ? ? ?給定兩個整數(shù)數(shù)組?preorder?和?inorder?,其中?preorder?是二叉樹的先序遍歷,?inorder?是同一棵樹的中序遍歷,請構(gòu)造二叉樹并返回其根節(jié)點。

? ? ? ?題目中是給定兩個數(shù)組,一個是存放這顆樹的前序遍歷的數(shù)組,一個是存放這棵樹的中序遍歷的數(shù)組,解這道題的關(guān)鍵我們首先要知道樹的前中序遍歷分別指的是什么?它們兩者之間到底存在著什么關(guān)系?解下來讓我們一探究竟

前序遍歷

? ? ? ?前序遍歷的遍歷順序是中左右,先遍歷自己,后遍歷自己的左子樹,最后再遍歷自己的右子樹,由上圖已知該樹的前序遍歷為[3,9,20,15,7]

中序遍歷

? ? ? ?中序遍歷的遍歷順序是左中右,先遍歷左子樹,后遍歷自己,最后再遍歷自己的右子樹,由上圖已知該樹的中序遍歷為[9,3,15,20,7]

?觀看這兩個數(shù)組,有沒有發(fā)現(xiàn)什么特別的地方?

? ? ? ?樹是一種天然的遞歸結(jié)構(gòu),每棵子樹也可以稱為一棵獨立的樹,根據(jù)上圖我們不難發(fā)現(xiàn),數(shù)組中的元素是嚴(yán)格按照中左右的順序填充的

?

?根據(jù)上圖我們不難發(fā)現(xiàn),數(shù)組中的元素是嚴(yán)格按照中左右的順序填充的

所以我們再來看這兩個數(shù)組的特點:

?我們已經(jīng)得知了這兩個數(shù)組中的相存的特點,接下來就可以擼代碼了

  • 我們要通過數(shù)組中的元素值得到該元素在數(shù)組中的索引為位置,所們先要使用Map結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)去對我們的中序遍歷時的數(shù)據(jù)進行預(yù)處理
 Map<Integer,Integer> map=new HashMap<>();for(int i=0;i<inorder.length;i++){map.put(inorder[i],i);}
  • 然后開始我們的構(gòu)建函數(shù)dfs(前序數(shù)組,前序開始的位置,前序結(jié)束的位置,中序數(shù)組,中序開始的位置,中序結(jié)束的位置)
 return dfs(preorder,0,preorder.length-1,inorder,0,inorder.length-1);
  • 遞歸時如果出先了開始位置比結(jié)束位置還要大的時候,這種情況肯定是不滿足我們的條件的,所以直接拋出null就可以了
if(pStart>pEnd||iStart>iEnd){return null;}
  • 通過前序遍歷數(shù)組拿到我們相對根節(jié)點,然后通過map去查詢我們中序數(shù)組中我們的相對根節(jié)點的索引index,因為我們的中序遍歷是左中右,所以中序遍歷中的index-iStart的長度就是我們相對子樹的節(jié)點的個數(shù)
 int val=preorder[pStart];TreeNode root=new TreeNode(val);int size=map.get(val);int length=size-iStart;
  • 最后開始dfs,構(gòu)造左右子樹,這道題就完成了
    //     不包括當(dāng)前的根結(jié)點   前序取不到起點(左開右閉)   中序取不到終點(左閉右開)root.left=dfs(preorder,pStart+1,pStart+length,inorder,iStart,size-1);//                  左子樹下一次遞歸的起點 root.right=dfs(preorder,pStart+length+1,pEnd,inorder,size+1,iEnd);//                  右子樹下一次遞歸的起點

接下來上源碼供大家參考:

  Map<Integer,Integer> map=new HashMap<>();public TreeNode buildTree(int[] preorder, int[] inorder) {if(preorder==null||inorder==null){return null;}for(int i=0;i<inorder.length;i++){map.put(inorder[i],i);}return dfs(preorder,0,preorder.length-1,inorder,0,inorder.length-1);}public TreeNode dfs(int[] preorder,int pStart,int pEnd,int[]inorder,int iStart,int iEnd){if(pStart>pEnd||iStart>iEnd){return null;}int val=preorder[pStart];TreeNode root=new TreeNode(val);int size=map.get(val);int length=size-iStart;root.left=dfs(preorder,pStart+1,pStart+length,inorder,iStart,size-1);root.right=dfs(preorder,pStart+length+1,pEnd,inorder,size+1,iEnd);return root;}

http://m.aloenet.com.cn/news/1132.html

相關(guān)文章:

  • 醫(yī)院網(wǎng)站HTML5辦公軟件速成培訓(xùn)班
  • 高端網(wǎng)站seo搜索引擎招聘
  • 網(wǎng)站編輯器失效無錫百度推廣開戶
  • 網(wǎng)站注冊頁面跳出怎么做移動廣告平臺
  • 百度站長查詢工具網(wǎng)站制作建設(shè)
  • 重慶奉節(jié)網(wǎng)站建設(shè)公司哪家好適合推廣的app有哪些
  • wordpress隨機彈窗插件網(wǎng)站seo站群軟件
  • 辦公室裝修設(shè)計圖片信息流優(yōu)化師簡歷怎么寫
  • 網(wǎng)站沒有域名設(shè)置嗎騰訊會議開始收費
  • kotlin做網(wǎng)站谷歌瀏覽器下載手機版
  • dede做購物網(wǎng)站發(fā)帖推廣平臺
  • 百度官網(wǎng)網(wǎng)站登錄seo公司推廣宣傳
  • WordPress文字水印寧波優(yōu)化系統(tǒng)
  • 紅葉網(wǎng)站開發(fā)工作室優(yōu)化推廣方案
  • 咖啡網(wǎng)站開發(fā)企業(yè)官網(wǎng)怎么做
  • 做360手機網(wǎng)站關(guān)鍵詞優(yōu)化的軟件
  • 自己免費制作appseo排名優(yōu)化軟件有
  • 網(wǎng)站流量一直做不起來百度關(guān)鍵詞搜索引擎
  • 網(wǎng)站優(yōu)化北京哪家強?百度點擊軟件名風(fēng)
  • 日本設(shè)計網(wǎng)站推薦商丘關(guān)鍵詞優(yōu)化推廣
  • 免費跨境電商網(wǎng)站網(wǎng)站平臺推廣
  • 深圳網(wǎng)站建設(shè)葉林如何做一個營銷方案
  • 深圳網(wǎng)站制作收費sem代運營公司
  • 泉州中企網(wǎng)站做的好嗎軟件外包公司
  • 產(chǎn)品價格的網(wǎng)站建設(shè)三只松鼠口碑營銷案例
  • 專門做男裝的網(wǎng)站設(shè)計網(wǎng)站排行
  • 中企動力免費做網(wǎng)站實時熱搜
  • 功能網(wǎng)站建設(shè)seo網(wǎng)絡(luò)優(yōu)化是做什么的
  • 建設(shè)部執(zhí)業(yè)資格注冊中心網(wǎng)站查詢天天外鏈官網(wǎng)
  • 一家只做直購的網(wǎng)站企業(yè)培訓(xùn)內(nèi)容