青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++之竹

無論是太陽下,還是風雨中,都要成長!

常用鏈接

統計

最新評論

樹中兩個結點的最低公共祖先

<本文的樣例代碼:/Files/qingbizhu/LowestCommonAncestor.zip>
 
這是《劍指Offer——名企面試官精講典型編程題》一書中的面試題50,此題針對所給條件的不同,將需要截然不同的解題思路和方法。書中給出了針對此題的3種不同條件的解題,本文所要講解的是對其第3種條件的一個改進解法。具體的題目及條件如下。
 
【題目】:
      輸入兩個樹結點,求它們的最低公共祖先。

【補充條件】:

      樹是普通的樹,而且樹中的結點沒有指向父節點的指針。

 

針對上述的題目和條件,書中給出了如下解決方案。

 

【原方案】:

      使用兩個鏈表,對樹進行兩次遍歷以查找兩個樹結點,并保持路徑到兩個鏈表中,從而將問題轉化為求兩個鏈表的最后一個公共結點。

 

從該方案中,觀察到兩次樹結點查找的遍歷中,其中一個結點的遍歷過的樹結點序列將完全覆蓋查找另一結點時所遍歷的樹結點序列。由此入手,本文提出了如下的改進解決方案。

【改進方案】:

    深度優先遍歷樹,并記錄路徑,當找到第一個結點后,在當前基礎上繼續遍歷搜索第二個結點,并記錄第一個結點路徑的變化程度,直到找到第二個結點。最后,根據棧信息和記錄的結點路徑變化程度得到最低公共祖先。如圖1,假設輸入的兩個樹結點為DK,樹的根節點為R,則求DK的最低公共結點的過程如下表: 

步驟

第一個結點

第二個結點

路徑變化程度

1

R

2

RA

3

R,A,F

4

R,AF,J

5

RAF,G

6

R,AF,K

K

0(或K

7

R,AC

K

1(或A

8

R,A,C,E

K

2(或A

9

R,A,CI

K

2(或A

10

R,A,D

K

D

1(或A

è 得出結果,最低公共祖先結點為A

 

從中,可以看到,改進后的方案,只需對樹執行一次遍歷。而在輔助空間的需求上, 只需使用一個棧(外加少量結點指針變量和1個表示路徑變化程度的整型變量)。而且,如果采用遞歸的方式實現,該棧所需保存的信息,還可以通過遞歸時的函數調用棧得以保存。

 

【附注】:

  1. 此處,有如下一個問題:
    假設待查找公共祖先的兩樹結點,其中一結點在以另一結點為根的子樹上(包括兩結點相同)時,公共祖先的確定規則——
    “作為子樹根結點的那個結點”還是“子樹根結點的父節點”?
    例如:對上面圖1中的那棵樹,如果待查結點為根結點R和結點F,那么最終的查找結果是為R呢,還是因為R是根結點無父結點而得出NULL?
    此問題在書中未提及,但查看書中代碼,確認是選擇了后者;而在本人的樣例代碼中則采用了前面的觀點。
  2. 在樣例代碼中,對樹結點在棧中的存儲方式略有改動。
  3. 樣例代碼工程所使用的環境為 Visual C++ 2010;
    其中:tree.h/cpp為功能代碼文件,TestLowestCommonAncestor.h/cpp為相應的UT代碼文件;
    UT采用gtest所編寫,編譯鏈接請根據gtest在自己本機的路徑狀況修改gtest_link.props文件中相應的鏈接項。

 

posted on 2012-04-05 23:45 青碧竹 閱讀(3099) 評論(0)  編輯 收藏 引用 所屬分類: 算法相關

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久成人人人人精品欧| 国内精品写真在线观看| 一区二区成人精品| 亚洲精品一线二线三线无人区| 久久影院午夜论| 女女同性精品视频| 亚洲高清精品中出| 玖玖国产精品视频| 亚洲成人在线视频播放| 亚洲精品欧洲精品| 亚洲一区免费看| 久久精品人人做人人综合| 久久中文欧美| 欧美日韩aaaaa| 国产热re99久久6国产精品| 国产在线精品一区二区中文 | 久久亚洲影院| 欧美成人午夜77777| 欧美视频免费| 精品不卡在线| 亚洲色诱最新| 老司机一区二区| 一本色道久久综合狠狠躁篇怎么玩| 亚洲专区一二三| 农夫在线精品视频免费观看| 欧美日韩不卡| 国产一区日韩欧美| 99ri日韩精品视频| 久久久福利视频| 91久久久精品| 久久国产精品一区二区| 欧美日韩一区二区三区视频| 精品91免费| 亚洲综合另类| 欧美激情乱人伦| 久久av一区二区三区| 欧美日韩精选| 91久久亚洲| 久久久久久一区| 亚洲一二三四区| 欧美日韩高清不卡| 亚洲精品麻豆| 免费亚洲电影在线观看| 亚洲欧美日韩一区二区在线 | 久久综合精品一区| 一本色道久久88综合亚洲精品ⅰ | 欧美一区二区高清在线观看| 亚洲第一在线视频| 久久久久久久久久码影片| 国产精品免费看久久久香蕉| 一区二区三区高清在线 | 久久夜精品va视频免费观看| av成人免费在线| 欧美日韩国产在线观看| 亚洲激情av| 欧美国产第二页| 久久中文精品| 91久久久久| 亚洲激情在线视频| 欧美福利在线| 亚洲七七久久综合桃花剧情介绍| 久久久久久久综合狠狠综合| 亚洲永久免费| 国产日韩欧美精品一区| 欧美一区二区精品久久911| 亚洲视频狠狠| 国产亚洲欧美另类一区二区三区| 欧美一区永久视频免费观看| 午夜国产欧美理论在线播放| 国产精品一区二区三区成人| 欧美亚洲三区| 欧美在线免费播放| 亚洲国产精品一区制服丝袜| 亚洲高清123| 欧美日韩在线播放三区四区| 亚洲视频www| 亚洲午夜成aⅴ人片| 国产欧美一区视频| 久久夜色精品国产噜噜av| 久久人人97超碰精品888| 亚洲韩国日本中文字幕| 日韩视频在线一区二区三区| 国产精品亚洲а∨天堂免在线| 久久精品夜色噜噜亚洲a∨| 久久久91精品国产一区二区精品| 亚洲国产精品视频一区| 夜夜夜久久久| 国产日本欧美一区二区三区| 美女黄色成人网| 欧美日韩亚洲一区二| 欧美在线地址| 欧美xart系列在线观看| 亚洲欧美日韩国产一区| 久久亚洲国产精品一区二区| 99精品福利视频| 亚洲欧美bt| 亚洲电影第1页| 一区二区av在线| 极品少妇一区二区三区精品视频 | 久久精品99国产精品日本| 亚洲黄色成人| 午夜精品偷拍| 这里只有精品视频| 久久色在线观看| 国产日韩综合一区二区性色av| 久久男女视频| 国产精品国产一区二区| 免费看亚洲片| 国产视频精品va久久久久久| 亚洲精华国产欧美| 好看不卡的中文字幕| 一本久道久久久| 亚洲精品美女久久7777777| 欧美亚洲在线视频| 亚洲一区视频在线| 欧美国产综合视频| 久久美女艺术照精彩视频福利播放| 欧美日韩岛国| 亚洲人成网在线播放| 激情综合色综合久久| 亚洲欧美视频在线| 亚洲欧美日韩精品久久久久| 另类欧美日韩国产在线| 久久精品视频在线免费观看| 国产精品久久久久9999| 亚洲日韩欧美视频| 激情成人av| 久久国产精品久久精品国产| 性欧美video另类hd性玩具| 欧美日韩在线视频观看| 亚洲区免费影片| 亚洲精品一区二区在线| 久久久噜噜噜久久狠狠50岁| 久久九九热免费视频| 国产偷久久久精品专区| 亚洲综合首页| 欧美中文在线观看国产| 国产日本欧美一区二区三区在线| 亚洲男人的天堂在线观看| 欧美一级视频精品观看| 国产女主播一区二区| 亚洲一区二区三区成人在线视频精品 | 久久成人一区二区| 国产精品一区二区三区久久久| 亚洲午夜久久久久久久久电影院| 亚洲欧美日韩国产一区| 国产模特精品视频久久久久| 午夜精品一区二区三区在线视| 欧美中文字幕在线| 国产亚洲一区二区三区在线播放| 午夜精品久久久久99热蜜桃导演| 欧美一区二粉嫩精品国产一线天| 国产精品毛片| 午夜精品久久久久久久男人的天堂| 欧美亚洲日本一区| 亚洲成色www8888| 欧美日本在线看| 亚洲主播在线| 欧美91大片| 亚洲一区二区在线观看视频| 国产三级欧美三级| 欧美激情网友自拍| 亚洲香蕉视频| 免费观看成人www动漫视频| 亚洲精品永久免费精品| 国产精品美女主播| 久久亚洲春色中文字幕久久久| 亚洲日本va在线观看| 欧美亚洲免费电影| 亚洲精品1区| 国产噜噜噜噜噜久久久久久久久| 99国产精品自拍| 亚洲在线一区| 久久只精品国产| 99视频一区二区| 国产精品日日做人人爱| 久久国产精品久久国产精品| 亚洲精品黄网在线观看| 久久精品99国产精品酒店日本| 亚洲国产精品va在线看黑人| 国产精品xxxxx| 狼人天天伊人久久| 亚洲免费视频网站| 亚洲人成人一区二区在线观看| 久久久久久久精| 亚洲尤物影院| 亚洲国产美女久久久久| 国产日韩精品一区二区三区| 欧美国产视频在线观看| 欧美亚洲免费电影| 亚洲精品久久视频| 欧美.www| 久久精品亚洲精品国产欧美kt∨| 一级日韩一区在线观看| 在线观看欧美日韩| 国产亚洲成精品久久| 国产精品久久久久久户外露出| 免费成人高清视频| 久久精品一二三| 欧美一区二区三区在线播放|